ฟังก์ชัน XLOOKUP

นำไปใช้กับ
Excel for Microsoft 365 Excel for Microsoft 365 for Mac Excel 2024 Excel 2024 for Mac Excel 2021 Excel 2021 for Mac Excel 2019 Excel 2016 Excel for iPad Excel for iPhone Excel สำหรับแท็บเล็ต Android Excel สำหรับโทรศัพท์ Android

ใช้ฟังก์ชัน XLOOKUP เพื่อค้นหาสิ่งต่างๆ ในตารางหรือช่วงตามแถว ตัวอย่างเช่น หาราคาของชิ้นส่วนอะไหล่รถยนต์ตามหมายเลขชิ้นส่วน หรือค้นหาชื่อพนักงานตาม ID พนักงานของชิ้นส่วน ด้วย XLOOKUP คุณสามารถค้นหาคําค้นหาในคอลัมน์หนึ่ง และส่งกลับผลลัพธ์จากแถวเดียวกันในอีกคอลัมน์หนึ่งได้ โดยไม่คํานึงว่าคอลัมน์ที่ส่งกลับจะอยู่ด้านใด

หมายเหตุ

XLOOKUP ไม่พร้อมใช้งานใน Excel 2016 และ Excel 2019 อย่างไรก็ตาม คุณอาจพบสถานการณ์ของการใช้เวิร์กบุ๊กใน Excel 2016 หรือ Excel 2019 ที่มีฟังก์ชัน XLOOKUP ถ้าเวิร์กบุ๊กถูกสร้างขึ้นโดยผู้อื่นโดยใช้ Excel เวอร์ชันที่ใหม่กว่า

ไวยากรณ์

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

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

อาร์กิวเมนต์ คำอธิบาย
lookup_value
จําเป็น*
ค่าที่จะค้นหา

*ถ้าละไว้ XLOOKUP จะส่งกลับเซลล์ว่างที่พบใน lookup_array
lookup_array
จำเป็น
อาร์เรย์หรือช่วงที่จะค้นหา
return_array
จำเป็น
อาร์เรย์หรือช่วงที่จะส่งกลับ
[if_not_found]
ไม่จำเป็น
เมื่อไม่พบรายการที่ตรงกันที่ถูกต้อง ให้ส่งกลับข้อความ [if_not_found] ที่คุณระบุ
ถ้าไม่พบรายการที่ตรงกันที่ถูกต้องและขาดหายไป [ if_not_found] #N/A จะถูกส่งกลับ
[match_mode]
ไม่จำเป็น
ระบุชนิดที่ตรงกัน:
0 - ตรงกันทุกประการ หากไม่พบ ให้ส่งกลับ #N/A นี่คือค่าเริ่มต้น
-1 - ตรงกันพอดี ถ้าไม่พบ ให้ส่งกลับรายการที่เล็กกว่าถัดไป
1 - ค่าที่ตรงกันพอดี ถ้าไม่พบ ให้ส่งกลับรายการถัดไปที่ใหญ่กว่า
2 - การจับคู่อักขระตัวแทน ซึ่ง *, ? และ ~ มีความหมายพิเศษ
[search_mode]
ไม่จำเป็น
ระบุโหมดการค้นหาที่จะใช้:
1 - ดําเนินการค้นหาโดยเริ่มต้นที่รายการแรก นี่คือค่าเริ่มต้น
-1 - ดําเนินการค้นหาย้อนกลับโดยเริ่มจากข้อมูลสุดท้าย
2 - ดําเนินการค้นหาแบบไบนารีที่ขึ้นอยู่กับ lookup_array เรียงลําดับจากน้อยไปหามาก ถ้าไม่ได้เรียงลําดับ จะส่งกลับผลลัพธ์ที่ไม่ถูกต้อง
-2 - ดําเนินการค้นหาแบบไบนารี lookup_array เรียงลําดับจากมากไปหาน้อย ถ้าไม่ได้เรียงลําดับ จะส่งกลับผลลัพธ์ที่ไม่ถูกต้อง

ตัวอย่าง

ตัวอย่างที่ 1 ใช้ XLOOKUP เพื่อค้นหาชื่อประเทศในช่วง แล้วส่งกลับรหัสประเทศของโทรศัพท์ ซึ่งรวมถึงอาร์กิวเมนต์ lookup_value (เซลล์ F2), lookup_array (ช่วง B2:B11) และ return_array (ช่วง D2:D11) ซึ่งจะไม่มีอาร์กิวเมนต์ match_mode เนื่องจาก XLOOKUP สร้างค่าที่ตรงกันพอดีตามค่าเริ่มต้น

ตัวอย่างของฟังก์ชัน XLOOKUP ที่ใช้เพื่อส่งกลับชื่อพนักงานและแผนกโดยยึดตาม ID พนักงาน สูตรคือ =XLOOKUP(B2,B5:B14,C5:C14)

หมายเหตุ

XLOOKUP ใช้อาร์เรย์การค้นหาและอาร์เรย์ส่งกลับ ในขณะที่ VLOOKUP ใช้อาร์เรย์ตารางเดี่ยวตามด้วยหมายเลขดัชนีคอลัมน์ สูตร VLOOKUP ที่เทียบเท่าในกรณีนี้จะเป็น: =VLOOKUP(F2,B2:D11,3,FALSE)

———————————————————————————

ตัวอย่างที่ 2 ค้นหาข้อมูลพนักงานโดยยึดตามหมายเลข ID พนักงาน XLOOKUP สามารถส่งกลับอาร์เรย์ที่มีหลายรายการได้ ซึ่งต่างจาก VLOOKUP ดังนั้นสูตรเดียวจึงสามารถส่งกลับทั้งชื่อพนักงานและแผนกจากเซลล์ C5:D14

ตัวอย่างของฟังก์ชัน XLOOKUP ที่ใช้เพื่อส่งกลับชื่อพนักงานและแผนกโดยยึดตามรหัสพนักงาน สูตรคือ: =XLOOKUP(B2,B5:B14,C5:D14,0,1)

———————————————————————————

ตัวอย่างที่ 3 เพิ่มอาร์กิวเมนต์ if_not_found ไปยังตัวอย่างก่อนหน้า

ตัวอย่างของฟังก์ชัน XLOOKUP ที่ใช้เพื่อส่งกลับชื่อและแผนกของพนักงานโดยยึดตามรหัสพนักงานที่มีอาร์กิวเมนต์ if_not_found สูตรคือ =XLOOKUP(B2,B5:B14,C5:D14,0,1,ไม่พบพนักงาน)

———————————————————————————

ตัวอย่างที่ 4 จะค้นหาในคอลัมน์ C สําหรับรายได้ส่วนบุคคลที่ใส่ในเซลล์ E2 และพบอัตราภาษีที่ตรงกันในคอลัมน์ B ซึ่งจะตั้งค่าอาร์กิวเมนต์ if_not_found เพื่อส่งกลับ 0 (ศูนย์) ถ้าไม่พบอะไรเลย อาร์กิวเมนต์ match_mode ถูกตั้งค่าเป็น 1ซึ่งหมายความว่าฟังก์ชันจะค้นหาค่าที่ตรงกัน และถ้าไม่พบ ฟังก์ชันจะส่งกลับรายการถัดไปที่มีขนาดใหญ่กว่า สุดท้าย อาร์กิวเมนต์ search_mode ถูกตั้งค่าเป็น 1 ซึ่งหมายความว่าฟังก์ชันจะค้นหาจากรายการแรกจนถึงรายการสุดท้าย

รูปของฟังก์ชัน XLOOKUP ที่ใช้เพื่อส่งกลับอัตราภาษีตามรายได้สูงสุด นี่คือการจับคู่โดยประมาณ สูตรคือ: =XLOOKUP(E2,C2:C7,B2:B7,1,1)

หมายเหตุ

คอลัมน์ lookup_array ของ XARRAY อยู่ทางด้านขวาของคอลัมน์ return_array ในขณะที่ VLOOKUP สามารถค้นหาจากซ้ายไปขวาเท่านั้น

———————————————————————————

ตัวอย่างที่ 5 ใช้ฟังก์ชัน XLOOKUP ที่ซ้อนกันเพื่อดําเนินการจับคู่ทั้งแนวตั้งและแนวนอน ก่อนอื่นจะค้นหา กําไรขั้นต้น ในคอลัมน์ B จากนั้นค้นหา Qtr1 ในแถวบนสุดของตาราง (ช่วง C5:F5) และสุดท้ายจะส่งกลับค่าที่จุดตัดของทั้งสอง ซึ่งจะคล้ายกับการใช้ฟังก์ชัน INDEX และ MATCH ร่วมกัน

เคล็ดลับ

คุณยังสามารถใช้ XLOOKUP เพื่อแทนที่ฟังก์ชัน HLOOKUP

รูปของฟังก์ชัน XLOOKUP ที่ใช้เพื่อส่งกลับข้อมูลแนวนอนจากตารางโดยการซ้อน XLOOKUP 2 รายการ สูตรคือ: =XLOOKUP(D2,$B 6:$B 17,XLOOKUP($C 3,$C 5:$G 5,$C 6:$G 17))

หมายเหตุ

สูตรในเซลล์ D3:F3 คือ: =XLOOKUP(D2,$B 6:$B 17,XLOOKUP($C 3,$C 5:$G 5,$C 6:$G 17)))

———————————————————————————

ตัวอย่างที่ 6 ใช้ ฟังก์ชัน SUM และฟังก์ชัน XLOOKUP ที่ซ้อนกันสองตัวเพื่อหาผลรวมของค่าทั้งหมดระหว่างสองช่วง ในกรณีนี้เราต้องการรวมค่าสําหรับองุ่นกล้วยและรวมถึงลูกแพร์ซึ่งอยู่ระหว่างทั้งสอง

การใช้ XLOOKUP กับ SUM เพื่อหาผลรวมช่วงของค่าที่อยู่ระหว่างการเลือกสองรายการ

สูตรในเซลล์ E3 คือ: =SUM(XLOOKUP(B3,B6:B10,E6:E10):XLOOKUP(C3,B6:B10,E6:E10))

วิธีการใช้งาน XLOOKUP จะส่งกลับช่วง ดังนั้นเมื่อทําการคํานวณแล้ว สูตรจะแสดงผลเป็นดังนี้: =SUM($E$7:$E$9) คุณสามารถดูวิธีการทํางานนี้ได้ด้วยตัวคุณเองโดยเลือกเซลล์ที่มีสูตร XLOOKUP ที่คล้ายกับสูตรนี้ จากนั้นเลือก สูตร ตรวจสอบ>สูตร>ประเมินสูตร จากนั้นเลือก ประเมิน เพื่อทําการคํานวณตามขั้นตอน 

หมายเหตุ

ขอบคุณ Bill Jelen MVP ของ Microsoft Excel สําหรับการแนะนําตัวอย่างนี้

———————————————————————————