แทนที่จะไปที่สูตรใหม่ที่ไม่เคยใช้ วิธีช่วยให้จำสูตรได้ง่ายขึ้น ควรนำสูตรเก่า VLookup มาเทียบให้เห็นโครงสร้างสูตรกันก่อน
.
ถ้าจะหาว่ารหัส a002 มีชื่อว่าอะไร =VLOOKUP(F3, B3:D7, 2, 0)
ถ้าจะหาว่ารหัส a002 มีจำนวนเป็นเท่าไร =VLOOKUP(F3, B3:D7, 3, 0)
MyData เป็น Range Name ของพื้นที่ B3:D7
.
ในวงเล็บของสูตร VLookup จะอ้างอิงกับพื้นที่ตาราง B3:D7 ซึ่งเป็นพื้นที่ตารางฐานข้อมูลทั้งหมด โดยกำหนดให้ใช้ column ซ้ายสุดในการค้นหา จากนั้นจะใช้วิธีนับจำนวน column ว่าต้องการหาคำตอบจาก column ที่เท่าไร โดยใส่เลข 2 กับ 3 เพื่อหาชื่อกับจำนวนออกมาให้
🤔 ที่น่าเบื่อก็อยู่ตรงเลขที่ column นี่แหละครับ ต้องนับให้ดี ถ้าตารางใหญ่มากหรือไม่อยากใส่เลขลงไปก็สามารถใช้สูตร Match หาเลขที่ Column มาให้ก็ได้
.
☝️ XLookup สร้างขึ้นมาเพื่อช่วยให้ไม่ต้องมาเสียเวลาหาเลขที่ column
.
อยากจะหาว่ารหัส a002 มีชื่ออะไรและจำนวนเป็นเท่าไร สร้างสูตรตามนี้ลงไปได้เลยใน G3 เซลล์เดียว
.
=XLOOKUP(F3, B3:B7, C3:D7)
.
ทำไมไมโครซอฟท์จึงสร้างสูตรออกมาแบบนี้ นอกจากไม่จำเป็นต้องนับเลขที่ column เองแล้ว ยังใช้หาคำตอบจาก C3:D7 อีกตารางหนึ่ง ซึ่งไม่ติดกับตาราง B3:B7 ที่เก็บรหัสได้ด้วย โดยทำงานตามขั้นตอนที่คนคิดตามลำดับนี้
.
ขั้นแรก ต้องรู้ก่อนว่าจะหาอะไร นั่นคือ หารหัส a002
.
ขั้นที่สอง ต้องเหลือบตาไปมองหาจากที่ไหนล่ะ ก็ต้องไปมองหาจากตารางที่เก็บรหัส a002 เอาไว้ ซึ่งในภาพนี้คือพื้นที่ตาราง B3:B7 ซึ่งใช้เก็บรหัสโดยเฉพาะ (ต่างจาก VLookup ที่มองจาก column ซ้ายสุด)
.
ขั้นที่สาม พอมองหารหัส a002 พบแล้ว จะหาว่ารหัสนั้นชื่ออะไรและมีจำนวนเป็นเท่าไรก็ใส่พื้นที่ตาราง C3:D7 ที่เก็บคำตอบลงไป
.
ขั้นที่สี่ ไม่จำเป็นต้องบอกว่าตารางที่เก็บรหัสเรียงหรือไม่เรียงอีกต่อไปแล้ว เพราะชื่อสูตร XLookup ตรงตัว X นั่นแหละแปลว่า ไม่ โดยบอกไว้แล้วว่าใช้กับตารางที่ไม่จำเป็นต้องเรียง
.
ซึ่งการหาค่าแบบใหม่นี้ปลอดภัยและหาค่าแบบรัดกุมกว่า VLookup มาก ถ้าหาค่าไม่พบก็จะ error ขึ้นมาให้เห็นทันที
.
ปกติจะใช้ XLookup หาค่าก็จบแค่ตรงนี้พอแล้วครับ แต่ถ้าอยากจะทำให้หาค่าแบบพิเศษกว่าปกติต้องเพิ่มคอมมาต่อไปอีกหลายส่วนตาม Syntax หรือโครงสร้างสูตรแบบเต็มตามนี้
.
XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])
.
lookup_value ค่าที่ใช้หา
lookup_array พื้นที่ตารางที่เก็บค่าที่ใช้หา ไม่จำกัดว่าจะเป็นตารางซ้ายสุด
return_array พื้นที่ตารางที่เก็บคำตอบที่ต้องการ ไม่จำกัดว่าต้องเป็นตารางด้านไหน (คำว่า array หมายถึงพื้นที่ตารางตั้งแต่ 2 เซลล์ขึ้นไป)
[if_not_found], [match_mode], [search_mode] ส่วนนี้เป็น Option จะใส่หรือไม่ก็ได้ ตามแต่ว่าต้องการให้ทำงานพิเศษเหนือกว่าเดิมไหม
.
🤩 ที่น่าทึ่งมากๆ คือ สูตร XLookup นี้ทำงานหาคำตอบแบบ Dynamic Array ให้ด้วย ถ้ามีหลายคำตอบ สูตรจะขยายตัวให้มีขนาดพอดีกับคำตอบให้เอง เช่น ในกรณีที่ให้หาคำตอบมาจากพื้นที่ C3:D7 ก็จะหาคำตอบเป็นชื่อ b กับตัวเลข 20 ให้เองโดยไม่ต้องสร้างใหม่อีกเซลล์หนึ่ง
.
ขอให้สังเกต "สีเทา" ของสูตรในช่อง Formula Bar นั่นแสดงว่าเซลล์ H3 เป็นสูตรที่ขยายตัวออกมา ต่างจากสูตร "สีดำ" ในเซลล์ G3 ซึ่งเป็นสูตรต้นตอครับ