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

    VLookup ย่อมาจากคำว่า Vertical Lookup ทำหน้าที่ตรงตามคำแปลที่หมายถึงการมองตามแนวตั้ง โดยเริ่มจากใช้ค่าที่ต้องการค้นหา นำไปเปรียบเทียบกับค่าที่เก็บไว้ในตารางจาก Column ซ้ายสุดว่า ค่าที่ใช้ค้นหานั้นอยู่ในแนวของค่าใดใน Column ซ้ายสุดนั้น แล้วคืนค่าเป็นคำตอบจาก Column ตามเลขที่เราต้องการ

    โครงสร้างสูตรแบบ Approaching Match เหมาะกับตารางข้อมูลที่ Column ซ้ายสุดเป็นตัวเลขต่อเนื่องที่เรียงค่าจากน้อยไปมาก โครงสร้างนี้ทำงานตามเงื่อนไขแบบน้อยกว่าหรือเท่ากับ
    =VLOOKUP(ค่าที่ใช้หา, ตารางที่เก็บค่า, เลขที่ Column ของคำตอบ)

    โครงสร้างสูตรแบบ Exact Match
    เหมาะกับตารางข้อมูลที่ Column ซ้ายสุดเป็นรหัส ซึ่งไม่จำเป็นต้องเรียงค่า โครงสร้างนี้ทำงานแบบเงื่อนไขเท่ากับ
    =VLOOKUP(ค่าที่ใช้หา, ตารางที่เก็บค่า, เลขที่ Column ของคำตอบ, FALSE หรือ 0)
    ในกรณีที่ใช้สูตร IF หาคำตอบเป็นเกรด A B หรือ C โดยใช้สูตร =IF( E3>=B3, C3, IF(E3>=B4,C4,C5) )

    หากต้องการเปลี่ยนมาใช้สูตร VLookup ต้องเรียงคะแนนในตารางจากน้อยไปมาก ตามรูปต่อไปนี้แทน


    เซลล์ F3 สร้างสูตร =VLOOKUP(E3,B3:C5,2) ซึ่งเป็นสูตร VLookup แบบ Approaching Match เนื่องจากค่าที่ใช้หาเป็นตัวเลข และตัวเลขนี้สามารถเป็นตัวเลขที่ต่อเนื่องกันไป และคืนค่าได้คำตอบเป็นเกรด B โดยมีลำดับการทำงานของสูตร ดังนี้

    1. VLookup นำคะแนนที่สอบได้ 75 คะแนน ไปตรวจสอบกับตารางข้อมูล B3:C5
    2. ใน Column ซ้ายสุดที่เรียงเลขจากน้อยไปมากนั้น พบว่าเลขคะแนน 70 เป็นเลขที่มากที่สุดที่ยังน้อยกว่าหรือเท่ากับเลข 75 ซึ่งเป็นคะแนนที่สอบได้ แสดงว่าคำตอบที่ต้องการ อยู่ในแนวเดียวกับเลขคะแนน 70 แน่นอน
    3. เลข 2 ที่ใส่ลงไปในวงเล็บของสูตร VLookup เป็นตัวเลขแทน Column ที่สองในพื้นที่ตาราง B3:C5 ซึ่งเป็น Column เรื่องเกรดที่เป็นคำตอบ จึงคืนค่าออกมาเป็นเกรด B

    หากเลือกใช้สูตรแบบ Exact Match =VLOOKUP(E3,B3:C5,2,0) ซึ่งเพิ่มเลข 0 ต่อท้ายลงไปในวงเล็บ จะได้คำตอบเป็น #N/A เนื่องจาก Column ซ้ายสุดที่เป็นตัวเลขคะแนน ไม่มีเลข 75 แสดงไว้ จึงคืนค่าคำตอบออกมาว่า Not Available แสดงว่าหาค่าที่ต้องการไม่พบ

    แม้การใช้สูตร VLookup จะช่วยให้ได้สูตรที่สั้นลงก็ตาม แต่จะทำให้ Excel คำนวณช้ากว่าในกรณีที่ใช้สูตร IF หากตารางที่ใช้เก็บข้อมูลมีขนาดใหญ่ขึ้น ก็จะส่งผลให้สูตร VLookup คำนวณช้าลง เราจึงต้องพึงระวังไว้เสมอว่าทุกอย่างมีทั้งข้อดีข้อเสีย ได้อย่างก็จำเป็นต้องเสียอย่างเช่นกัน