กฏกติกาของฟอรัม : แจ้งชื่อและนามสกุลจริงในการสมัครสมาชิก--ตั้งชื่อกระทู้ให้ตรงกับปัญหาที่ถาม--เขียนอธิบายคำถามทั้งในตัวกระทู้และในแฟ้มแนบให้ละเอียด--ห้ามใช้คำว่า อ่ะ คับ หรือคำผวน หรือคำที่ไม่มีในพจนานุกรมไทย--โปรดตั้งชื่อแฟ้มให้สื่อถึงปัญหาที่ถาม--อย่าระบุชื่อให้คนใดคนหนึ่งเป็นผู้ตอบ--งดให้ความร่วมมือหรือช่วยตอบคำถาม กระทู้ที่ละเมิดกฏกติกาของฟอรัม
Results 1 to 13 of 13

Thread: ฟังก์ชั่น Rank

  1. #1

    Join Date
    Feb 2009
    Location
    ศรีสะเกษวิทยาลัย
    Job
    ครู
    Version
    Excel 2003 Windows XP
    Posts
    10

    Default ฟังก์ชั่น Rank

    ฟังก์ชั่น rank เวลาเราเรียงอันดับแล้วทำไมมันไม่ตรงกับความเป็นจริง คือลำดับมันจะเพี้ยนครับ

  2. #2

    Join Date
    Feb 2009
    Location
    ศรีสะเกษวิทยาลัย
    Job
    ครู
    Version
    Excel 2003 Windows XP
    Posts
    10

    Default rank

    ไฟล์แนบ

  3. #3
    DawaiDawai's Avatar
    Join Date
    Nov 2008
    Location
    เชียงใหม่ ประเทศไทย
    Job
    HR Assistant
    Version
    Excel 2010 / Windows XP SP3
    Posts
    81

    Default คำอธิบาย

    ตามที่ผมได้ดูในไฟล์แนบ ที่ 1 ของอำเภอก็ตรงนะครับ แต่ที่เพี้ยนในที่ 1 ของจังหวัด มันเพี้ยน เป็นเพราะสูตรเดิม เขียนแบบนี้ =RANK(E2,$E$2:$E$13,1) มันผิดตรงค่า Order = 1 ซึ่งความจริงน่าจะเป็นค่า 0
    คำอธิบายเพิ่มเติม
    ไวยากรณ์
    RANK (number,ref,order)
    Number คือตัวเลขที่มีลำดับที่คุณต้องการค้นหา
    Ref คืออาร์เรย์หรือการอ้างอิงถึงรายการตัวเลข ค่าที่ไม่ใช่ตัวเลขใน ref จะถูกละเว้น
    Order คือจำนวนที่ระบุว่าจะจัดลำดับตัวเลขอย่างไร
    • ถ้า order เป็น 0 (ศูนย์) หรือละเว้นไว้ Microsoft Excel จะให้ลำดับที่แก่ตัวเลขโดยถือว่า ref เป็นรายการที่เรียงลำดับจากมากไปหาน้อย
    • ถ้า order เท่ากับค่าอื่นที่ไม่ใช่ศูนย์ Microsoft Excel จะเรียงลำดับตัวเลขโดยถือว่า ref เป็นรายการที่เรียงลำดับจากน้อยไปหา

  4. #4

    Join Date
    Feb 2009
    Location
    ศรีสะเกษวิทยาลัย
    Job
    ครู
    Version
    Excel 2003 Windows XP
    Posts
    10

    Default rank

    อันดับอำเภอ ไม่ตรงน่ะครับ ค่าอันดับที่ 6, 10, 11 มันไม่มี ถ้าค่าอันดังซ้ำกันมันจะนับต่อเลยครับ เราจะมีวิธีแก้ไขอย่างไรครับ

  5. #5
    Excel Expert Volunteer Arun's Avatar
    Join Date
    Jul 2008
    Location
    สมุทรปราการ
    Job
    งานผลิต
    Version
    Excel2003/WindowsXp
    Posts
    217

    Default

    อันดับอำเภอ ไม่ตรงน่ะครับ ค่าอันดับที่ 6, 10, 11 มันไม่มี ถ้าค่าอันดังซ้ำกันมันจะนับต่อเลยครับ เราจะมีวิธีแก้ไขอย่างไรครับ
    ใส่สูตรที่ F2
    =RANK(E2,$E$2:$E$13,0)+COUNTIF(E$1:E1,E2)

    แล้ว copy ลงไปครับ

  6. #6

    Join Date
    Feb 2009
    Location
    ศรีสะเกษวิทยาลัย
    Job
    ครู
    Version
    Excel 2003 Windows XP
    Posts
    10

    Default rank

    เลขเท่ากันแต่ได้ลำดับไม่เท่ากันครับ

  7. #7
    DawaiDawai's Avatar
    Join Date
    Nov 2008
    Location
    เชียงใหม่ ประเทศไทย
    Job
    HR Assistant
    Version
    Excel 2010 / Windows XP SP3
    Posts
    81

    Default เรียนถามเพิ่มเติม

    เรียนถามเพิ่มหน่อยนะครับ
    1.แล้วถ้าผมอยากจะจัดอันดับแบบให้ซ้ำกัน แต่พออันดับถัดไป ก็ให้เริ่มที่เลขตัวถัดไปจะได้เปล่าครับ
    EX. 1,2,2,4,5,5,5,8,9
    1,2,2,3,4,4,4,5,6
    แบบนี้นะครับ

    2.แล้วก็ถ้าเราอยากจัดอันดับโดยเลือกเฉพาะในโรงเรียนเดียวกัน จะทำได้หรือเปล่าครับ

    ยังไงลองดูที่ไฟล์แนบดูนะครับ ถ้าไม่เข้าใจก็สอบถามเพิ่มเติมได้ครับ

    ป.ล.พอดีที่ทำงานก็มีการทดสอบพนักงานเพื่อทำการวัดผลนำไปประเมินการปรับเงินเดือน แต่ถ้าใช้สูตรตามที่คุณ Arun แนะนำมา ก็ถือว่าใช้ได้ดีเลยนะครับ แต่ผมสงสารคนที่ได้คะแนนเท่ากัน แต่ลำดับชื่ออยู่ข้างล่างนะครับ เลยเสียเปรียบเขาไปนิดหนึ่ง ทั้งที่คะแนนเท่ากันนะครับ ขอบคุณครับ

  8. #8
    Forum Admin สมเกียรติ's Avatar
    Join Date
    May 2007
    Location
    Excel Expert Training
    Job
    MS Excel Instructor
    Version
    Excel 2010/Windows 7
    Posts
    6,946
    Blog Entries
    5

    Default

    หลักที่ผมใช้ ให้เริ่มจากหาเลขคะแนนที่ไม่ซ้ำออกมาก่อน (Unique Item) จากนั้นเรียงคะแนนนี้จากมากไปน้อย แล้วจึงนำไปใช้เทียบกับคะแนนที่สอบได้ของแต่ละคนว่าเป็นที่เท่าใด

    {=MATCH(E2:E13,LARGE(IF(MATCH($E$2:$E$13,$E$2:$E$13,0)=Num,$E$2:$E$13),Num),-1)}

    สูตรนี้สร้างพร้อมกันทั้งตารางครั้งเดียวครับเพื่อทำให้คำนวณเพียงครั้งเดียว

    LARGE(IF(MATCH($E$2:$E$13,$E$2:$E$13,0)=Num,$E$2:$E$13),Num)
    ทำหน้าที่หา Unique Item แล้วเรียงจากมากไปน้อยได้ลำดับคะแนนตามนี้
    68;56;28;25;24;19;17;14;9

    จากนั้นจึงใช้ Match(E2:E13,UniqueItemRange,-1) หาตำแหน่งต่อ

    ปล ถ้าสร้าง Array แบบแยกเซลล์ ใช้สูตร
    {=MATCH(E2,LARGE(IF(MATCH($E$2:$E$13,$E$2:$E$13,0)=Num,$E$2:$E$13),Num),-1)}

    น่าจะมีสูตรที่ง่ายกว่านี้ครับ แต่ตอนนี้คิดได้แบบนี้

  9. #9
    DawaiDawai's Avatar
    Join Date
    Nov 2008
    Location
    เชียงใหม่ ประเทศไทย
    Job
    HR Assistant
    Version
    Excel 2010 / Windows XP SP3
    Posts
    81

    Default ขอบคุณครับ

    ขอบคุณอาจารย์มากครับที่ช่วยตอบนะครับ

    ยังไง ยังไง จะติดตามคำตอบจากอาจารย์ต่อไปนะเรื่อยๆครับ

    ขอบคุณอีกครั้งครับ

    ป.ล.สูตรนี้ยากไปนิดหนึ่งนะครับ ยังแกะไม่ค่อยออกเลยครับ :p
    Last edited by DawaiDawai; 12 Feb 2009 at 13:05.

  10. #10
    Excel Expert Volunteer Arun's Avatar
    Join Date
    Jul 2008
    Location
    สมุทรปราการ
    Job
    งานผลิต
    Version
    Excel2003/WindowsXp
    Posts
    217

    Default

    ใส่สูตรที่ K2
    =(COUNTIF(E$2:E2,E2)=1)*E2
    แล้ว copy ลงไปถึง K13

    ใส่สูตรที่ F2
    =IF(K2>0,RANK(K2,$K$2:$K$13,0),RANK(E2,$K$2:$K$13,0))
    แล้ว copy ลงไปถึง K13

  11. #11
    Excel Expert Volunteer Arun's Avatar
    Join Date
    Jul 2008
    Location
    สมุทรปราการ
    Job
    งานผลิต
    Version
    Excel2003/WindowsXp
    Posts
    217

    Default

    แก้ไขสูตรที่ F2
    =RANK(E2,$K$2:$K$13,0)
    แล้ว copy ลงไปถึง K13 ครับ

  12. #12
    Forum Admin สมเกียรติ's Avatar
    Join Date
    May 2007
    Location
    Excel Expert Training
    Job
    MS Excel Instructor
    Version
    Excel 2010/Windows 7
    Posts
    6,946
    Blog Entries
    5

    Default

    Quote Originally Posted by DawaiDawai View Post

    ป.ล.สูตรนี้ยากไปนิดหนึ่งนะครับ ยังแกะไม่ค่อยออกเลยครับ :p
    http://www.excelexperttraining.com/f...ead.php?t=2698

  13. #13
    DawaiDawai's Avatar
    Join Date
    Nov 2008
    Location
    เชียงใหม่ ประเทศไทย
    Job
    HR Assistant
    Version
    Excel 2010 / Windows XP SP3
    Posts
    81

    Default ขอบคุณครับ

    ขอบคุณ อาจารย์มากนะครับ ที่แนะนำสิ่งดีๆให้นะครับ

    ป.ล.มาขอบคุณช้าไปนิด คงไม่ว่ากันนะครับ

Similar Threads

  1. สูตรการ Random แบบมี Rank
    By pongtal in forum Forum Library
    Replies: 3
    Last Post: 18 Jun 2009, 00:09
  2. ฟังก์ชัน TickCount ค่ะ
    By PumKa in forum Forum Library
    Replies: 2
    Last Post: 31 Jan 2009, 20:20
  3. สูตร Rank
    By sake in forum Forum Library
    Replies: 10
    Last Post: 1 Dec 2007, 11:19

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •