ฟังก์ชัน Excel XLOOKUP พร้อมตัวอย่างสูตร

  • แบ่งปันสิ่งนี้
Michael Brown

สารบัญ

บทช่วยสอนจะแนะนำ XLOOKUP ซึ่งเป็นฟังก์ชันใหม่สำหรับการค้นหาแนวตั้งและแนวนอนใน Excel การค้นหาด้านซ้าย การจับคู่ล่าสุด Vlookup ที่มีหลายเกณฑ์และอีกมากมายที่เคยต้องใช้วุฒิวิทยาศาสตร์จรวดจึงจะสำเร็จ ตอนนี้กลายเป็นเรื่องง่ายเหมือน ABC

เมื่อใดก็ตามที่คุณต้องการค้นหาใน Excel คุณจะใช้ฟังก์ชันใด VLOOKUP เป็นรากฐานที่สำคัญหรือเป็น HLOOKUP พี่น้องในแนวนอนหรือไม่ ในกรณีที่ซับซ้อนกว่านั้น คุณจะใช้ชุดค่าผสม INDEX MATCH แบบบัญญัติหรือมอบหมายงานให้กับ Power Query หรือไม่ ข่าวดีก็คือคุณไม่ต้องเลือกอีกต่อไป วิธีการทั้งหมดเหล่านี้กำลังสร้างทางเลือกให้กับฟังก์ชัน XLOOKUP ที่ทรงพลังและหลากหลายมากขึ้น

XLOOKUP ดีกว่าอย่างไร ในหลาย ๆ ด้าน! มันสามารถดูในแนวตั้งและแนวนอน ทางซ้ายและด้านบน ค้นหาด้วยหลายเกณฑ์ และแม้กระทั่งส่งคืนข้อมูลทั้งคอลัมน์หรือแถว ไม่ใช่เพียงค่าเดียว Microsoft ใช้เวลากว่า 3 ทศวรรษ แต่ในที่สุดก็สามารถออกแบบฟังก์ชันที่มีประสิทธิภาพซึ่งเอาชนะข้อผิดพลาดและจุดอ่อนที่น่าหงุดหงิดมากมายของ VLOOKUP

มีปัญหาอะไร อนิจจามีอยู่อย่างหนึ่ง ฟังก์ชัน XLOOKUP พร้อมใช้งานใน Excel สำหรับ Microsoft 365, Excel 2021 และ Excel สำหรับเว็บเท่านั้น

    ฟังก์ชัน XLOOKUP ของ Excel - ไวยากรณ์และการใช้งาน

    ฟังก์ชัน XLOOKUP ใน Excel ค้นหาช่วงหรืออาร์เรย์สำหรับค่าที่ระบุและส่งคืนค่าที่เกี่ยวข้องจากคอลัมน์อื่น มันสามารถมองขึ้นทั้งสองดึงรายละเอียดทั้งหมดที่เกี่ยวข้องกับพนักงานขายที่สนใจ (F2) สิ่งที่คุณต้องทำคือระบุช่วง ไม่ใช่คอลัมน์หรือแถวเดียว สำหรับอาร์กิวเมนต์ return_array :

    =XLOOKUP(F2, A2:A7, B2:D7)

    คุณป้อนสูตรที่ด้านซ้ายบน เซลล์ของช่วงผลลัพธ์ และ Excel จะกระจายผลลัพธ์ไปยังเซลล์ว่างที่อยู่ติดกันโดยอัตโนมัติ ในกรณีของเรา อาร์เรย์ส่งคืน (B2:D7) มี 3 คอลัมน์ ( วันที่ , รายการ และ จำนวน ) และค่าทั้งสามค่าจะถูกส่งกลับในช่วง G2:I2

    หากคุณต้องการจัดเรียงผลลัพธ์ในแนวตั้งในคอลัมน์ ให้ซ้อน XLOOKUP ไว้ในฟังก์ชัน TRANSPOSE เพื่อพลิกอาร์เรย์ที่ส่งคืน:

    =TRANSPOSE(XLOOKUP(G1, A2:A7, B2:D7))

    ในทำนองเดียวกัน คุณสามารถส่งคืนข้อมูลทั้งคอลัมน์ เช่น คอลัมน์ จำนวน สำหรับสิ่งนี้ ให้ใช้เซลล์ F1 ที่มี "จำนวน" เป็น lookup_value ช่วง A1:D1 ที่มีส่วนหัวของคอลัมน์เป็น lookup_array และช่วง A2:D7 ที่มีข้อมูลทั้งหมดเป็น return_array .

    =XLOOKUP(F1, A1:D1, A2:D7)

    หมายเหตุ เนื่องจากมีการใส่ค่าหลายค่าลงในเซลล์ข้างเคียง ตรวจสอบให้แน่ใจว่าคุณมีเซลล์ว่างเพียงพอทางด้านขวาหรือด้านล่าง ถ้า Excel ไม่พบเซลล์ว่างเพียงพอ #SPILL! เกิดข้อผิดพลาด

    เคล็ดลับ XLOOKUP ไม่เพียงแต่สามารถส่งคืนหลายรายการเท่านั้น แต่ยังสามารถแทนที่ด้วยค่าอื่นๆ ที่คุณระบุได้อีกด้วย สามารถดูตัวอย่างการแทนที่จำนวนมากได้ที่นี่: วิธีค้นหาและแทนที่ค่าหลายค่าด้วย XLOOKUP

    XLOOKUP ด้วยหลายเกณฑ์

    ข้อได้เปรียบที่สำคัญอีกประการของ XLOOKUP คือการจัดการอาร์เรย์แบบเนทีฟ ด้วยความสามารถนี้ คุณสามารถประเมินหลายเกณฑ์โดยตรงในอาร์กิวเมนต์ lookup_array :

    XLOOKUP(1, ( criteria_range1 = criteria1 ) * ( criteria_range2 = เกณฑ์2 ) * (…), return_array )

    วิธีการทำงานของสูตรนี้ : ผลลัพธ์ของการทดสอบเกณฑ์แต่ละรายการคืออาร์เรย์ ของค่า TRUE และ FALSE การคูณอาร์เรย์จะแปลง TRUE และ FALSE เป็น 1 และ 0 ตามลำดับ และสร้างอาร์เรย์การค้นหาขั้นสุดท้าย อย่างที่คุณทราบ การคูณด้วย 0 จะได้ศูนย์เสมอ ดังนั้นในอาร์เรย์การค้นหา เฉพาะรายการที่ตรงตามเกณฑ์ทั้งหมดเท่านั้นที่จะแสดงด้วย 1 และเนื่องจากค่าการค้นหาของเราคือ "1" Excel จึงนำ "1" ตัวแรกใน lookup_array (จับคู่ครั้งแรก) และส่งกลับค่าจาก return_array ในตำแหน่งเดียวกัน

    หากต้องการดูการทำงานของสูตร ให้ดึงจำนวนจาก D2:D10 ( return_array ) โดยมีเงื่อนไขดังต่อไปนี้:

    • เกณฑ์ที่ 1 (วันที่) = G1
    • เกณฑ์ที่ 2 (พนักงานขาย) = G2
    • เกณฑ์ที่ 3 (รายการ) = G3

    ด้วยวันที่ใน A2:A10 ( criteria_range1 ) ชื่อพนักงานขายใน B2:B10 ( criteria_range2 ) และรายการใน C2:C10 ( criteria_range3 ) สูตรจะใช้รูปแบบนี้:

    =XLOOKUP(1, (B2:B10=G1) * (A2:A10=G2) * (C2:C10=G3), D2:D10)

    แม้ว่าฟังก์ชัน Excel XLOOKUP จะประมวลผลอาร์เรย์ แต่ก็ทำงานเป็นสูตรปกติและเสร็จสิ้นด้วยการป้อนตามปกติการกดแป้นพิมพ์

    สูตร XLOOKUP ที่มีหลายเกณฑ์ไม่จำกัดเงื่อนไข "เท่ากับ" คุณมีอิสระที่จะใช้ตัวดำเนินการทางตรรกะอื่นๆ เช่นกัน ตัวอย่างเช่น หากต้องการกรองคำสั่งซื้อที่ทำในวันที่ใน G1 หรือก่อนหน้านั้น ให้ใส่ "<=G1" ในเกณฑ์แรก:

    =XLOOKUP(1, (A2:A10<=G1) * (B2:B10=G2) * (C2:C10=G3), D2:D10)

    Double XLOOKUP

    หากต้องการค้นหา ค่าที่จุดตัดของแถวและคอลัมน์ที่กำหนด ดำเนินการที่เรียกว่า การค้นหาสองครั้ง หรือ การค้นหาเมทริกซ์ ใช่ Excel XLOOKUP ก็ทำได้เช่นกัน! คุณเพียงซ้อนฟังก์ชันหนึ่งไว้ในอีกฟังก์ชันหนึ่ง:

    XLOOKUP( lookup_value1 , lookup_array1 , XLOOKUP( lookup_value2 , lookup_array2 , data_values ))

    สูตรนี้ทำงานอย่างไร : สูตรนี้ขึ้นอยู่กับความสามารถของ XLOOKUP ในการคืนค่าทั้งแถวหรือทั้งคอลัมน์ ฟังก์ชันภายในค้นหาค่าการค้นหาและส่งกลับคอลัมน์หรือแถวของข้อมูลที่เกี่ยวข้อง อาร์เรย์นั้นไปที่ฟังก์ชันภายนอกเป็น return_array .

    สำหรับตัวอย่างนี้ เราจะค้นหายอดขายที่ทำโดยพนักงานขายรายใดรายหนึ่งภายในไตรมาสหนึ่งๆ สำหรับสิ่งนี้ เราป้อนค่าการค้นหาใน H1 (ชื่อพนักงานขาย) และ H2 (ไตรมาส) และทำ Xlookup แบบสองทางด้วยสูตรต่อไปนี้:

    =XLOOKUP(H1, A2:A6, XLOOKUP(H2, B1:E1, B2:E6))

    หรือในทางกลับกัน :

    =XLOOKUP(H2, B1:E1, XLOOKUP(H1, A2:A6, B2:E6))

    โดยที่ A2:A6 คือชื่อพนักงานขาย B1:E1 คือไตรมาส (ส่วนหัวของคอลัมน์) และ B2:E6 คือค่าข้อมูล

    การค้นหาแบบสองทางสามารถทำได้ด้วยสูตรการจับคู่ INDEX และในอีกสองสามวิธี สำหรับข้อมูลเพิ่มเติม โปรดดูการค้นหาแบบสองทางใน Excel

    หากเกิดข้อผิดพลาด XLOOKUP

    เมื่อไม่พบค่าการค้นหา Excel XLOOKUP จะส่งกลับข้อผิดพลาด #N/A ค่อนข้างคุ้นเคยและเข้าใจได้สำหรับผู้ใช้ที่เชี่ยวชาญ มันอาจจะค่อนข้างสับสนสำหรับผู้เริ่มต้น หากต้องการแทนที่สัญลักษณ์แสดงข้อผิดพลาดมาตรฐานด้วยข้อความที่ใช้งานง่าย ให้พิมพ์ข้อความของคุณเองลงในอาร์กิวเมนต์ตัวที่ 4 ชื่อ if_not_found .

    กลับไปที่ตัวอย่างแรกที่กล่าวถึงในบทช่วยสอนนี้ หากมีคนป้อนชื่อมหาสมุทรที่ไม่ถูกต้องใน E1 สูตรต่อไปนี้จะบอกอย่างชัดเจนว่า "ไม่พบชื่อที่ตรงกัน":

    =XLOOKUP(E1, A2:A6, B2:B6, "No match is found")

    หมายเหตุ:

    • อาร์กิวเมนต์ if_not_found จะดักเฉพาะข้อผิดพลาด #N/A ไม่ใช่ข้อผิดพลาดทั้งหมด
    • ข้อผิดพลาด #N/A ยังสามารถจัดการได้ด้วย IFNA และ VLOOKUP แต่ ไวยากรณ์จะซับซ้อนขึ้นเล็กน้อยและสูตรมีความยาวมากขึ้น

    XLOOKUP ที่คำนึงถึงตัวพิมพ์เล็กและใหญ่

    โดยค่าเริ่มต้น ฟังก์ชัน XLOOKUP จะถือว่าตัวพิมพ์เล็กและตัวพิมพ์ใหญ่เป็นอักขระตัวเดียวกัน เพื่อให้คำนึงถึงขนาดตัวพิมพ์ ให้ใช้ฟังก์ชัน EXACT สำหรับอาร์กิวเมนต์ lookup_array :

    XLOOKUP(TRUE, EXACT( lookup_value , lookup_array ), return_array )

    สูตรนี้ทำงานอย่างไร : ฟังก์ชัน EXACT จะเปรียบเทียบค่าการค้นหากับแต่ละค่าในอาร์เรย์การค้นหา และส่งกลับค่า TRUE หากค่าเหล่านั้นเหมือนกันทั้งหมดรวมถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ หากเป็น FALSE มิฉะนั้น อาร์เรย์ของค่าตรรกะนี้ไปที่ lookup_array อาร์กิวเมนต์ของ XLOOKUP ด้วยเหตุนี้ XLOOKUP จึงค้นหาค่า TRUE ในอาร์เรย์ด้านบนและส่งคืนค่าที่ตรงกันจากอาร์เรย์ส่งคืน

    ตัวอย่างเช่น หากต้องการรับราคาจาก B2:B7 ( return_array ) สำหรับ รายการใน E1 ( lookup_value) สูตรใน E2 คือ:

    =XLOOKUP(TRUE, EXACT(E1, A2:A7), B2:B7, "Not found")

    หมายเหตุ หากมีค่าเหมือนกันทุกประการตั้งแต่สองค่าขึ้นไปในอาร์เรย์การค้นหา (รวมถึงตัวพิมพ์เล็กและใหญ่) ระบบจะส่งคืนค่าที่ตรงกันที่พบครั้งแรก

    Excel XLOOKUP ไม่ทำงาน

    หากสูตรของคุณทำงานไม่ถูกต้องหรือเกิดข้อผิดพลาด เป็นไปได้มากว่าเกิดจากสาเหตุต่อไปนี้:

    XLOOKUP ไม่พร้อมใช้งานใน Excel ของฉัน

    ฟังก์ชัน XLOOKUP ไม่รองรับเวอร์ชันเก่า พร้อมใช้งานใน Excel สำหรับ Microsoft 365 และ Excel 2021 เท่านั้น และจะไม่ปรากฏในเวอร์ชันก่อนหน้า

    XLOOKUP ส่งกลับผลลัพธ์ที่ไม่ถูกต้อง

    หากสูตร Xlookup ที่ถูกต้องอย่างชัดเจนของคุณส่งคืนค่าที่ไม่ถูกต้อง โอกาสที่ ที่ช่วงการค้นหาหรือส่งคืน "เลื่อน" เมื่อสูตรถูกคัดลอกลงหรือข้าม เพื่อป้องกันไม่ให้สิ่งนี้เกิดขึ้น อย่าลืมล็อคทั้งสองช่วงด้วยการอ้างอิงเซลล์แบบสัมบูรณ์เสมอ (เช่น $A$2:$A$10)

    XLOOKUP ส่งคืนข้อผิดพลาด #N/A

    An #N / ข้อผิดพลาดหมายถึงไม่พบค่าการค้นหา ในการแก้ไขปัญหานี้ ให้ลองค้นหารายการที่ตรงกันโดยประมาณหรือแจ้งผู้ใช้ของคุณว่าไม่พบรายการที่ตรงกัน

    XLOOKUP ส่งคืนข้อผิดพลาด #VALUE

    A #VALUE! เกิดข้อผิดพลาดหากอาร์เรย์การค้นหาและส่งคืนไม่เข้ากันขนาด ตัวอย่างเช่น ไม่สามารถค้นหาในอาร์เรย์แนวนอนและส่งคืนค่าจากอาร์เรย์แนวตั้งได้

    XLOOKUP ส่งคืนข้อผิดพลาด #REF

    A #REF! ข้อผิดพลาดเกิดขึ้นเมื่อค้นหาระหว่างสมุดงานสองเล่มที่ต่างกัน ซึ่งหนึ่งในนั้นปิดอยู่ หากต้องการแก้ไขข้อผิดพลาด เพียงเปิดทั้งสองไฟล์

    อย่างที่คุณได้เห็น XLOOKUP มีคุณสมบัติที่ยอดเยี่ยมมากมายที่ทำให้เป็นฟังก์ชันสำหรับการค้นหาเกือบทุกอย่างใน Excel ฉันขอขอบคุณสำหรับการอ่านและหวังว่าจะได้พบคุณในบล็อกของเราในสัปดาห์หน้า!

    คู่มือแบบฝึกหัดสำหรับการดาวน์โหลด

    ตัวอย่างสูตร Excel XLOOKUP (ไฟล์ .xlsx)

    ในแนวตั้งและแนวนอน และทำการจับคู่แบบตรงทั้งหมด (ค่าเริ่มต้น) การจับคู่โดยประมาณ (ใกล้เคียงที่สุด) หรือการจับคู่สัญลักษณ์ตัวแทน (บางส่วน)

    ไวยากรณ์ของฟังก์ชัน XLOOKUP เป็นดังนี้:

    XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])

    อาร์กิวเมนต์ 3 ตัวแรกจำเป็นและ 3 อาร์กิวเมนต์สุดท้ายเป็นตัวเลือก

    • Lookup_value - ค่าที่จะ ค้นหา
    • Lookup_array - ช่วงหรืออาร์เรย์ที่จะค้นหา
    • Return_array - ช่วงหรืออาร์เรย์ที่จะส่งคืนค่า
    • If_not_found [ทางเลือก] - ค่าที่จะส่งคืนหากไม่พบค่าที่ตรงกัน หากละเว้น ระบบจะส่งคืนข้อผิดพลาด #N/A
    • Match_mode [ไม่บังคับ] - ประเภทการจับคู่ที่จะดำเนินการ:
      • 0 หรือละเว้น (ค่าเริ่มต้น) - การจับคู่แบบตรงทั้งหมด . หากไม่พบ ระบบจะส่งคืนข้อผิดพลาด #N/A
      • -1 - ตรงกันทั้งหมดหรือเล็กกว่าถัดไป หากไม่พบการจับคู่แบบตรงทั้งหมด ค่าที่น้อยกว่าถัดไปจะถูกส่งกลับ
      • 1 - การจับคู่แบบตรงทั้งหมดหรือค่าที่มากกว่าถัดไป หากไม่พบการจับคู่แบบตรงทั้งหมด ค่าที่มากกว่าถัดไปจะถูกส่งกลับ
      • 2 - การจับคู่อักขระตัวแทน
    • Search_mode [ทางเลือก] - ทิศทางของการค้นหา:
      • 1 หรือละไว้ (ค่าเริ่มต้น) - ค้นหาจากแรกไปสุดท้าย
      • -1 - ค้นหาในลำดับย้อนกลับ จากสุดท้ายไปก่อน
      • 2 - การค้นหาแบบไบนารีสำหรับข้อมูลที่เรียงลำดับจากน้อยไปมาก
      • -2 - การค้นหาแบบไบนารีสำหรับข้อมูลที่เรียงลำดับจากมากไปน้อย

      ตามข้อมูลของ Microsoft ไบนารีการค้นหา รวมไว้สำหรับผู้ใช้ขั้นสูง เป็นอัลกอริทึมพิเศษที่ค้นหาตำแหน่งของค่าการค้นหาภายในอาร์เรย์ที่เรียงลำดับโดยเปรียบเทียบกับองค์ประกอบตรงกลางของอาร์เรย์ การค้นหาแบบไบนารีเร็วกว่าการค้นหาทั่วไปมาก แต่ทำงานได้อย่างถูกต้องเฉพาะกับข้อมูลที่เรียงลำดับเท่านั้น

    สูตร XLOOKUP พื้นฐาน

    เพื่อให้เข้าใจมากขึ้น เรามาสร้างสูตร Xlookup ในรูปแบบที่ง่ายที่สุดเพื่อทำการค้นหาที่แน่นอน สำหรับสิ่งนี้ เราต้องการอาร์กิวเมนต์ 3 รายการแรกเท่านั้น

    สมมติว่าคุณมีตารางสรุปที่มีข้อมูลเกี่ยวกับมหาสมุทรทั้งห้าบนโลก คุณต้องการรับพื้นที่ของอินพุตมหาสมุทรเฉพาะใน F1 ( lookup_value ) ด้วยชื่อมหาสมุทรใน A2:A6 ( lookup_array ) และพื้นที่ใน C2:C6 ( return_array ) สูตรจะเป็นดังนี้:

    =XLOOKUP(F1, A2:A6, C2:C6)

    แปลเป็นภาษาอังกฤษธรรมดาว่า ค้นหาค่า F1 ใน A2:A6 และส่งคืนค่าจาก C2:C6 ในแถวเดียวกัน ไม่มีเลขดัชนีของคอลัมน์ ไม่มีการเรียงลำดับ ไม่มี Vlookup ที่ไร้สาระ! ใช้งานได้จริง :)

    XLOOKUP เทียบกับ VLOOKUP ใน Excel

    เมื่อเปรียบเทียบกับ VLOOKUP แบบดั้งเดิมแล้ว XLOOKUP มีข้อดีมากมาย ดีกว่า VLOOKUP อย่างไร? ต่อไปนี้คือรายการคุณลักษณะที่ดีที่สุด 10 ประการที่ทำให้ประตูปิดฟังก์ชันการค้นหาอื่นๆ ใน Excel:

    1. การค้นหาแนวตั้งและแนวนอน ฟังก์ชัน XLOOKUP ได้ชื่อมาจากความสามารถในการค้นหาทั้งในแนวตั้งและในแนวนอน
    2. มองไปในทิศทางใดก็ได้: ขวา ซ้าย ล่าง หรือขึ้น ในขณะที่ VLOOKUP สามารถค้นหาได้เฉพาะในคอลัมน์ซ้ายสุดและ HLOOKUP ในแถวบนสุดเท่านั้น XLOOKUP ไม่มีข้อจำกัดดังกล่าว การค้นหาทางซ้ายที่ฉาวโฉ่ใน Excel ไม่ใช่เรื่องน่าปวดหัวอีกต่อไป
    3. การทำงานแบบตรงทั้งหมดตามค่าเริ่มต้น ในสถานการณ์ส่วนใหญ่ คุณจะมองหาการจับคู่แบบตรงทั้งหมด และ XLOOKUP จะส่งคืนค่านั้นตามค่าเริ่มต้น (ไม่เหมือนกับฟังก์ชัน VLOOKUP ที่ตั้งค่าเริ่มต้นเป็นการจับคู่โดยประมาณ) แน่นอน คุณสามารถรับ XLOOKUP เพื่อทำการจับคู่โดยประมาณได้เช่นกัน หากจำเป็น
    4. การจับคู่บางส่วนด้วยสัญลักษณ์แทน เมื่อคุณทราบค่าการค้นหาเพียงบางส่วน ไม่ใช่ทั้งหมด การจับคู่สัญลักษณ์แทนจะมีประโยชน์
    5. ค้นหาในลำดับย้อนกลับ ก่อนหน้านี้ เพื่อให้ได้เหตุการณ์ล่าสุด คุณต้องกลับลำดับของแหล่งข้อมูลของคุณ ตอนนี้ คุณเพียงตั้งค่าอาร์กิวเมนต์ search_mode เป็น -1 เพื่อบังคับให้สูตร Xlookup ของคุณค้นหาจากด้านหลังและส่งคืนค่าที่ตรงกันล่าสุด
    6. ส่งคืนค่าหลายค่า ด้วยการจัดการกับอาร์กิวเมนต์ return_array คุณสามารถดึงข้อมูลทั้งแถวหรือคอลัมน์ที่เกี่ยวข้องกับค่าการค้นหาของคุณ
    7. ค้นหาด้วยหลายเกณฑ์ Excel XLOOKUP จัดการอาร์เรย์แบบเนทีฟ ซึ่งทำให้สามารถค้นหาได้หลายเกณฑ์
    8. ฟังก์ชันการทำงานหากเกิดข้อผิดพลาด ตามเนื้อผ้า เราใช้ฟังก์ชัน IFNA เพื่อดักข้อผิดพลาด #N/A XLOOKUP รวมฟังก์ชันนี้ไว้ในไฟล์ if_not_found อาร์กิวเมนต์ที่อนุญาตให้แสดงข้อความของคุณเองหากไม่พบการจับคู่ที่ถูกต้อง
    9. การแทรก/การลบคอลัมน์ ปัญหาที่กวนใจที่สุดอย่างหนึ่งของ VLOOKUP คือการเพิ่มหรือลบคอลัมน์จะทำให้สูตรเสียหาย เนื่องจากคอลัมน์ส่งคืนจะถูกระบุด้วยหมายเลขดัชนี ด้วย XLOOKUP คุณจะระบุช่วงส่งคืน ไม่ใช่ตัวเลข หมายความว่าคุณสามารถแทรกและลบคอลัมน์ได้มากเท่าที่คุณต้องการโดยไม่ทำให้ข้อมูลเสียหาย
    10. ประสิทธิภาพที่ดีขึ้น VLOOKUP อาจทำให้เวิร์กชีตของคุณทำงานช้าลงเพราะรวมทั้งตารางไว้ในการคำนวณ ซึ่งส่งผลให้มีการประมวลผลเซลล์มากกว่าที่จำเป็นจริงๆ XLOOKUP จัดการเฉพาะการค้นหาและการส่งคืนอาร์เรย์ที่ขึ้นอยู่กับอย่างแท้จริง

    วิธีใช้ XLOOKUP ใน Excel - ตัวอย่างสูตร

    ตัวอย่างต่อไปนี้แสดงให้เห็นถึงการใช้งานจริงของคุณลักษณะ XLOOKUP ที่มีประโยชน์ที่สุด นอกจากนี้ คุณจะค้นพบการใช้งานที่ไม่สำคัญสองสามอย่างที่ยกระดับทักษะการค้นหา Excel ของคุณไปอีกขั้น

    ค้นหาในแนวตั้งและแนวนอน

    Microsoft Excel เคยมีฟังก์ชันสองฟังก์ชันสำหรับการค้นหาที่แตกต่างกัน แต่ละประเภทมีไวยากรณ์และกฎการใช้งานของตัวเอง: VLOOKUP เพื่อดูแนวตั้งในคอลัมน์ และ HLOOKUP เพื่อดูแนวนอนในแถว

    ฟังก์ชัน XLOOKUP สามารถทำได้ทั้งสองอย่างด้วยไวยากรณ์เดียวกัน ความแตกต่างอยู่ในสิ่งที่คุณระบุสำหรับการค้นหาและอาร์เรย์ที่ส่งคืน

    สำหรับ v-lookup จัดหาคอลัมน์:

    =XLOOKUP(E1, A2:A6, B2:B6)

    สำหรับh-lookup ป้อนแถวแทนคอลัมน์:

    =XLOOKUP(I1, B1:F1, B2:F2)

    การค้นหาด้านซ้ายดำเนินการโดยกำเนิด

    ใน Excel เวอร์ชันก่อนหน้า INDEX MATCH สูตรเป็นวิธีเดียวที่เชื่อถือได้ในการมองไปทางซ้ายหรือด้านบน ตอนนี้ คุณไม่จำเป็นต้องรวมสองฟังก์ชันเข้าด้วยกันโดยที่มีฟังก์ชันเดียวก็เพียงพอแล้ว เพียงระบุอาร์เรย์การค้นหาเป้าหมาย และ XLOOKUP จะจัดการโดยไม่มีปัญหาไม่ว่าจะอยู่ที่ใดก็ตาม

    ตามตัวอย่าง ลองเพิ่มคอลัมน์ อันดับ ทางด้านซ้ายของตารางตัวอย่างของเรา เป้าหมายคือการได้รับอันดับของอินพุตมหาสมุทรใน F1 VLOOKUP จะสะดุดเพราะสามารถคืนค่าจากคอลัมน์ทางขวาของคอลัมน์ค้นหาเท่านั้น สูตร Xlookup จัดการได้อย่างง่ายดาย:

    =XLOOKUP(F1, B2:B6, A2:A6)

    ในลักษณะเดียวกัน คุณสามารถดูด้านบนเมื่อค้นหาในแนวนอนในแถว

    XLOOKUP ที่มีการจับคู่แบบตรงทั้งหมดและแบบประมาณ

    ลักษณะการจับคู่ถูกควบคุมโดยอาร์กิวเมนต์ที่ 5 ที่เรียกว่า match_mode ตามค่าเริ่มต้น การจับคู่แบบตรงทั้งหมดจะดำเนินการ

    โปรดทราบว่าแม้ในขณะที่คุณเลือกการจับคู่แบบประมาณ ( match_mode ตั้งค่าเป็น 1 หรือ -1) ฟังก์ชันจะยังคงค้นหาแบบตรงทั้งหมด จับคู่ก่อน ความแตกต่างคือสิ่งที่ส่งคืนหากไม่พบค่าการค้นหาที่แน่นอน

    อาร์กิวเมนต์ Match_mode:

    • 0 หรือละเว้น - ตรงทั้งหมด; ถ้าไม่พบ - ข้อผิดพลาด #N/A
    • -1 - ตรงทั้งหมด; ถ้าไม่พบ - รายการเล็กถัดไป
    • 1 - ตรงทั้งหมด; หากไม่พบ- รายการใหญ่ถัดไป

    ตรงทั้งหมด XLOOKUP

    นี่คือตัวเลือกที่คุณอาจใช้ 99% ของเวลาค้นหาใน Excel เนื่องจากการจับคู่แบบตรงทั้งหมดเป็นการทำงานเริ่มต้นของ XLOOKUP คุณสามารถละเว้น match_mode และระบุอาร์กิวเมนต์ที่จำเป็น 3 รายการแรกเท่านั้น

    อย่างไรก็ตาม ในบางสถานการณ์ การจับคู่แบบตรงทั้งหมดจะไม่ทำงาน สถานการณ์ทั่วไปคือเมื่อตารางการค้นหาของคุณไม่มีค่าทั้งหมด แต่เป็น "เหตุการณ์สำคัญ" หรือ "ขอบเขต" เช่น ส่วนลดตามปริมาณ ค่าคอมมิชชันตามยอดขาย ฯลฯ

    ตัวอย่างตารางค้นหาของเราแสดงความสัมพันธ์ ระหว่างคะแนนสอบและผลการเรียน ดังที่คุณเห็นในภาพหน้าจอด้านล่าง การจับคู่แบบตรงทั้งหมดจะทำงานก็ต่อเมื่อคะแนนของนักเรียนคนใดคนหนึ่งตรงกับค่าในตารางการค้นหาทุกประการ (เช่น Christian ในแถวที่ 3) ในกรณีอื่นๆ ทั้งหมด ข้อผิดพลาด #N/A จะถูกส่งกลับ

    =XLOOKUP(F2, $B$2:$B$6, $C$2:$C$6)

    เพื่อให้ได้เกรดแทนข้อผิดพลาด #N/A เราต้องการ เพื่อค้นหาการจับคู่โดยประมาณตามที่แสดงในตัวอย่างถัดไป

    XLOOKUP การจับคู่โดยประมาณ

    ในการค้นหาโดยประมาณ ให้ตั้งค่าอาร์กิวเมนต์ match_mode เป็น -1 หรือ 1 ขึ้นอยู่กับวิธีการจัดระเบียบข้อมูลของคุณ

    ในกรณีของเรา ตารางค้นหาจะแสดงขอบเขตล่างของเกรด ดังนั้นเราจึงตั้งค่า match_mode เป็น -1 เพื่อค้นหาค่าที่น้อยลงถัดไปเมื่อไม่พบค่าที่ตรงกันทั้งหมด:

    =XLOOKUP(F11, $B$11:$B$15, $C$11:$C$15, ,-1)

    ตัวอย่างเช่น Brian มีคะแนนเท่ากับ 98 (F2). สูตรค้นหาค่าการค้นหานี้ใน B2:B6แต่หาไม่พบ จากนั้น ค้นหารายการถัดไปที่เล็กกว่าและพบ 90 ซึ่งตรงกับเกรด A:

    หากตารางค้นหาของเรามีขอบเขตบนของเกรด เราจะตั้งค่า match_mode ถึง 1 เพื่อค้นหารายการที่ใหญ่กว่าถัดไป หากการจับคู่แบบตรงทั้งหมดล้มเหลว:

    =XLOOKUP(F2, $B$2:$B$6, $C$2:$C$6, ,1)

    สูตรค้นหา 98 และไม่พบอีกครั้ง คราวนี้ พยายามหาค่าที่มากขึ้นถัดไปและได้รับ 100 ซึ่งสอดคล้องกับเกรด A:

    เคล็ดลับ เมื่อคัดลอกสูตร Xlookup ไปยังหลายเซลล์ ให้ล็อคช่วงการค้นหาหรือส่งคืนด้วยการอ้างอิงเซลล์แบบสัมบูรณ์ (เช่น $B$2:$B$6) เพื่อป้องกันไม่ให้เปลี่ยนแปลง

    XLOOKUP ที่มีการจับคู่บางส่วน (สัญลักษณ์แทน)

    หากต้องการค้นหาการจับคู่บางส่วน ให้ตั้งค่าอาร์กิวเมนต์ match_mode เป็น 2 ซึ่งจะสั่งให้ฟังก์ชัน XLOOKUP ประมวลผลอักขระตัวแทน:

    • เครื่องหมายดอกจัน (*) - แสดงถึงลำดับของอักขระใดก็ได้
    • เครื่องหมายคำถาม (?) - แสดงถึงอักขระเดี่ยวใดๆ

    หากต้องการดูวิธีการทำงาน โปรดพิจารณาตัวอย่างต่อไปนี้ ในคอลัมน์ A คุณมีสมาร์ทโฟนบางรุ่น และในคอลัมน์ B คือความจุของแบตเตอรี่ คุณสงสัยเกี่ยวกับแบตเตอรี่ของสมาร์ทโฟนบางรุ่น ปัญหาคือคุณไม่แน่ใจว่าคุณสามารถพิมพ์ชื่อรุ่นได้ตรงตามที่ปรากฏในคอลัมน์ A หากต้องการแก้ไขปัญหานี้ ให้ป้อนส่วนที่แน่นอนและแทนที่อักขระที่เหลือด้วยสัญลักษณ์แทน

    ตัวอย่างเช่น ที่จะได้รับข้อมูลเกี่ยวกับแบตเตอรี่ของ iPhone X ให้ใช้สูตรนี้:

    =XLOOKUP("*iphone X*", A2:A8, B2:B8, ,2)

    หรือป้อนส่วนที่ทราบของค่าการค้นหาในบางเซลล์ และต่อการอ้างอิงเซลล์ด้วยอักขระตัวแทน:<3

    =XLOOKUP("*"&E1&"*", A2:A8, B2:B8, ,2)

    XLOOKUP ในลำดับย้อนกลับเพื่อรับเหตุการณ์ล่าสุด

    ในกรณีที่ตารางของคุณมีค่าการค้นหาเกิดขึ้นหลายครั้ง บางครั้งคุณอาจต้องใช้ เพื่อส่งคืน แมตช์สุดท้าย ในการดำเนินการ ให้กำหนดค่าสูตร Xlookup ของคุณเพื่อค้นหาในลำดับย้อนกลับ

    ทิศทางของการค้นหาถูกควบคุมเป็นอาร์กิวเมนต์ที่ 6 ชื่อ search_mode :

    • 1 หรือละไว้ (ค่าเริ่มต้น) - ค้นหาจากค่าแรกถึงค่าสุดท้าย เช่น จากบนลงล่างด้วยการค้นหาในแนวตั้งหรือจากซ้ายไปขวาด้วยการค้นหาในแนวนอน
    • -1 - ค้นหาในลำดับย้อนกลับจากค่าสุดท้ายไปค่าแรก .

    ตามตัวอย่าง ลองส่งคืนการขายครั้งล่าสุดที่ทำโดยพนักงานขายรายใดรายหนึ่ง สำหรับสิ่งนี้ เราได้รวบรวมอาร์กิวเมนต์ที่จำเป็นสามรายการแรก (G1 สำหรับ lookup_value , B2:B9 สำหรับ lookup_array และ D2:D9 สำหรับ return_array ) และใส่ - 1 ในอาร์กิวเมนต์ที่ 5:

    =XLOOKUP(G1, B2:B9, D2:D9, , ,-1)

    ตรงไปตรงมาและง่ายใช่ไหม

    XLOOKUP เพื่อคืนค่าหลายคอลัมน์หรือหลายแถว

    อีกหนึ่งคุณลักษณะที่น่าทึ่งของ XLOOKUP คือความสามารถในการคืนค่าที่เกี่ยวข้องกับการจับคู่เดียวกันมากกว่าหนึ่งค่า ทั้งหมดเสร็จสิ้นด้วยไวยากรณ์มาตรฐานและไม่มีการดัดแปลงเพิ่มเติมใดๆ!

    จากตารางด้านล่าง สมมติว่าคุณต้องการ

    Michael Brown เป็นผู้ที่ชื่นชอบเทคโนโลยีโดยเฉพาะและมีความหลงใหลในการทำให้กระบวนการที่ซับซ้อนง่ายขึ้นโดยใช้เครื่องมือซอฟต์แวร์ ด้วยประสบการณ์กว่าทศวรรษในอุตสาหกรรมเทคโนโลยี เขาได้ฝึกฝนทักษะของเขาใน Microsoft Excel และ Outlook รวมถึง Google ชีตและเอกสาร บล็อกของ Michael ทุ่มเทให้กับการแบ่งปันความรู้และความเชี่ยวชาญของเขากับผู้อื่น โดยให้คำแนะนำและแบบฝึกหัดที่ทำตามได้ง่ายเพื่อปรับปรุงผลิตภาพและประสิทธิภาพ ไม่ว่าคุณจะเป็นมืออาชีพที่ช่ำชองหรือมือใหม่ บล็อกของ Michael นำเสนอข้อมูลเชิงลึกอันมีค่าและคำแนะนำที่เป็นประโยชน์สำหรับการใช้ประโยชน์สูงสุดจากเครื่องมือซอฟต์แวร์ที่จำเป็นเหล่านี้