😎 XLookup ช้ากว่า Vlookup แบบเห็นๆ ... ใครว่าเร็วกว่าล่ะ
สูตร XLookup มีโครงสร้างที่ลอกมาจากสูตร Lookup ที่มีมานานแล้วตั้งแต่ Excel รุ่นแรกๆก็ว่าได้
=Lookup(ค่าที่ใช้หา, พื้นที่แนวตั้งที่เก็บค่าที่ใช้หา, พื้นที่แนวตั้งของคำตอบที่ต้องการ)
=XLookup(ค่าที่ใช้หา, พื้นที่แนวตั้งที่เก็บค่าที่ใช้หา, พื้นที่แนวตั้งของคำตอบที่ต้องการ)
✂️ ทั้งสองสูตรนี้ที่ไม่เหมือนกันก็คือ Lookup ใช้กับตารางที่เรียงค่าจากน้อยไปมากเท่านั้น ทำให้โอกาสใช้งานน้อยมาก ส่วน XLookup ปรับให้หาจากตารางที่ไม่เรียงหรือจะเรียงก็ได้
🤝 ส่วนสิ่งที่เหมือนกัน XLookup กับ Lookup จะหาค่าจากแนวตั้งหรือแนวนอนก็ได้ ขอให้พื้นที่แนวที่ใช้มีขนาดเท่ากันก็พอ และไม่จำเป็นต้องหาค่าจาก Column ซ้ายวิ่งไปหาคำตอบจาก Column ด้านขวาเหมือน VLookup
ที่สำคัญ XLookup กับ Lookup ตารางของค่าที่ใช้หากับตารางที่เก็บคำตอบไม่ต้องอยู่ในพื้นที่ซึ่งติดต่อกัน จะอยู่ต่างชีทหรือต่างแฟ้มกันก็ยังได้ ทำให้ยืดหยุ่นกว่าและน่าใช้กว่าสูตร VLookup ที่ใช้กับตารางพื้นที่ซึ่งติดกันไปตลอด
☝️ แต่สาเหตุที่ตารางไม่จำเป็นต้องติดกันนี่เอง ที่ทำให้กว่าจะสร้างสูตร XLookup หรือ Lookup ต้องใช้เวลาสร้างนานกว่า VLookup ที่ใช้กับตารางพื้นที่เดียวแล้วเวลาจะหาคำตอบจาก column ไหนก็ใส่เลขที่ column ลงไปให้ถูกก็พอ
=VLookup(F3,MyData,2) หาคำตอบจาก Column ที่ 2 ใน MyData
=VLookup(F3,MyData,3) หาคำตอบจาก Column ที่ 3 ใน MyData
=VLookup(F3,MyData,4) หาคำตอบจาก Column ที่ 4 ใน MyData
....
=VLookup(F3,MyData,100) หาคำตอบจาก Column ที่ 100 ใน MyData
พอจะเปลี่ยนไปใช้ XLookup ก็จะมีหน้าตาสูตรแบบนี้ =XLookup (F3, Rangeของรหัส, Rangeคำตอบนั้นๆ)
=XLookup (F3, Rangeของรหัส, Rangeคำตอบเรื่องที่ 1)
=XLookup (F3, Rangeของรหัส, Rangeคำตอบเรื่องที่ 2)
=XLookup (F3, Rangeของรหัส, Rangeคำตอบเรื่องที่ 3)
...
=XLookup (F3, Rangeของรหัส, Rangeคำตอบเรื่องที่ 100)
ขั้นตอนในการนำ Rangeคำตอบมาใส่ลงไปในวงเล็บของ XLookup นี่แหละที่จะช้าสุดๆ ถ้าใครใช้วิธีคลิกลากพื้นที่ลงไปทุกครั้งที่สร้างสูตรหนึ่งๆ
Excel รุ่นใหม่ที่ว่ามีสูตรที่คำนวณได้เร็วกว่ารุ่นก่อนๆ มาตกม้าตายตอนวิธีการสร้างสูตรนี่เอง ถ้ายังใช้วิธีคลิกเมาส์ลากพื้นที่ ยังไงๆก็ช้าเหมือนเดิม
วิธีที่จะทำให้สร้างสูตรได้ Fast and Easy ต้องเริ่มจากการตั้งชื่อ Range Name แยกตามตารางแต่ละแถวไว้ก่อนโดยใช้คำสั่ง Formulas > Create from selection มาช่วย จากนั้นในการสร้างสูตรใดก็ตาม ให้กดปุ่ม F3 นำชื่อ Range Name นั้นๆมาใช้ในสูตร ตามแบบที่ผมสอนและทำคลิปอวดให้ดูมาตลอดนั่นเองครับ
👉 ถ้าใช้ Range Name
=XLookup(F3, ID, Name)
=XLookup(F3, ID, Amount)
เมื่อสร้างงานได้เร็วและใช้สูตร XLookup ที่คำนวณได้เร็ว แบบนี้จึงจะเรียกว่า เร็วกว่า
++++++++++++++++++++++
ปล
สูตร VLookup ในภาพนี้หาคำตอบของรหัส a003 ผิด ต้องแก้สูตรให้หาค่าแบบ Exact match โดยใส่เลข 0 เพิ่มต่อท้ายในสูตรแบบนี้
=VLookup(F3,MyData,2,0)
=VLookup(F3,MyData,3,0)
ส่วน XLookup หาคำตอบถูกต้องเพราะทำงานแบบ Exact match เป็น default ในตัวอยู่แล้ว
อ่านวิธีสร้าง Range Name ได้จาก https://www.excelexperttraining.com/book/index.php/course-manuals/excel-expert-tips-tricks-and-traps/range-name
ชมคลิปบทเรียนที่ 7 เป็นบทย่อที่ผมสอนในหลักสูตรเรื่องรีบรู้เพื่อพร้อมใช้ Excel ทำงานแบบ Fast and Easy ชมฟรี
https://www.excelexperttraining.com/book/index.php/excel-articles-and-videos/excel-expert-training/ready-for-working-videos