เคล็ดลับ
ลองใช้ฟังก์ชัน XLOOKUP ใหม่ ซึ่งเป็นเวอร์ชันที่ได้รับการปรับปรุงของ HLOOKUP ที่ทํางานในทุกทิศทางและส่งกลับรายการที่ตรงกันตามค่าเริ่มต้น ทําให้ใช้งานง่ายและสะดวกมากกว่ารุ่นก่อน
บทความนี้จะอธิบายเกี่ยวกับไวยากรณ์ของสูตรและการใช้ฟังก์ชัน HLOOKUP ใน Microsoft Excel
คำอธิบาย
ค้นหาค่าในแถวบนสุดของตารางหรืออาร์เรย์ของค่า แล้วส่งกลับค่าในคอลัมน์เดียวกันจากแถวที่คุณระบุในตารางหรืออาร์เรย์ ใช้ HLOOKUP เมื่อค่าการเปรียบเทียบของคุณอยู่ในแถวด้านบนสุดของตารางข้อมูล และคุณต้องการค้นหาแถวตามจํานวนที่ระบุ ใช้ VLOOKUP เมื่อค่าการเปรียบเทียบของคุณอยู่ในคอลัมน์ทางด้านซ้ายของข้อมูลที่คุณต้องการค้นหา
อักษร H ในฟังก์ชัน HLOOKUP ย่อมาจาก "Horizontal"
ไวยากรณ์
HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup])
ไวยากรณ์ของฟังก์ชัน HLOOKUP มีอาร์กิวเมนต์ดังนี้
Lookup_value จําเป็น ค่าที่จะพบในแถวแรกของตาราง Lookup_value อาจเป็นค่า การอ้างอิง หรือสตริงข้อความก็ได้
Table_array จําเป็น ตารางข้อมูลที่ข้อมูลถูกค้นหา ใช้การอ้างอิงไปยังช่วงหรือชื่อของช่วง
- ค่าในแถวแรกของ table_array สามารถเป็นข้อความ ตัวเลข หรือค่าตรรกะ
- ถ้า range_lookup เป็น TRUE ค่าในแถวแรกของ table_array จะต้องเรียงลําดับจากน้อยไปหามาก ดังนี้ ...-2, -1, 0, 1, 2,... , A-Z, FALSE, TRUE; มิฉะนั้น HLOOKUP อาจจะไม่ให้ค่าที่ถูกต้อง ถ้า range_lookup เป็น FALSE ไม่จําเป็นต้องจัดเรียงลําดับ table_array
- ข้อความแบบตัวพิมพ์ใหญ่และตัวพิมพ์เล็กจะมีค่าเท่ากัน
- เรียงลําดับค่าจากน้อยไปหามาก และจากซ้ายไปขวา สําหรับข้อมูลเพิ่มเติม ให้ดูที่ เรียงลําดับข้อมูลในช่วงหรือตาราง
Row_index_num จําเป็น หมายเลขแถวใน table_array ซึ่งค่าที่ตรงกันจะถูกส่งกลับ row_index_num 1 จะส่งกลับแถวแรกใน table_array row_index_num 2 จะส่งกลับค่าของแถวที่สองใน table_array เป็นต้น ถ้า row_index_num น้อยกว่า 1 ฟังก์ชัน HLOOKUP จะส่งกลับ #VALUE! ค่าความผิดพลาด ถ้า row_index_num มากกว่าจํานวนแถวบน table_array ฟังก์ชัน HLOOKUP จะส่งกลับ #REF! เป็นค่าความผิดพลาด
Range_lookup ไม่บังคับ ค่าตรรกะที่ระบุว่าคุณต้องการให้ HLOOKUP ค้นหาค่าที่ตรงกันพอดีหรือค่าที่ตรงกันโดยประมาณ ถ้าเป็นค่า TRUE หรือละไว้ จะส่งกลับค่าที่ตรงกันโดยประมาณ หรืออีกนัยหนึ่ง ถ้าไม่พบค่าที่ตรงกันพอดี ค่าสูงสุดถัดไปที่น้อยกว่า lookup_value จะถูกส่งกลับ ถ้าเป็น FALSE แล้ว HLOOKUP จะค้นหาค่าที่ตรงกัน ถ้าไม่พบค่าความผิดพลาด #N/A จะถูกส่งกลับ
ข้อสังเกต
- ถ้า HLOOKUP ไม่สามารถหา lookup_value และ range_lookup เป็น TRUE จะใช้ค่าที่มากที่สุดรองจาก lookup_value
- ถ้า lookup_value เป็นค่าที่น้อยกว่าค่าที่น้อยที่สุดในแถวแรกของ table_array ฟังก์ชัน HLOOKUP จะส่งกลับ #N/A เป็นค่าความผิดพลาด
- ถ้า range_lookup เป็น FALSE และ lookup_value เป็นข้อความ คุณสามารถใช้อักขระตัวแทน ซึ่งเป็นเครื่องหมายคําถาม (?) และเครื่องหมายดอกจัน (*) ใน lookup_value ได้ เครื่องหมายคําถามตรงกับอักขระตัวเดียว เครื่องหมายดอกจันใช้แทนอักขระหลายตัวติดกัน ถ้าคุณต้องการค้นหาเครื่องหมายคําถามหรือดอกจันจริงๆ ให้พิมพ์ เครื่องหมายตัวหนอน (~) ไว้หน้าอักขระ
ตัวอย่าง
คัดลอกข้อมูลตัวอย่างในตารางต่อไปนี้ และวางในเซลล์ A1 ของเวิร์กชีต Excel ใหม่ สำหรับสูตรที่จะแสดงผลลัพธ์ ให้เลือกสูตร กด F2 แล้วกด Enter ถ้าคุณต้องการ คุณสามารถปรับความกว้างของคอลัมน์เพื่อดูข้อมูลทั้งหมดได้
| เพลา | ตลับลูกปืน | สลักเกลียว |
|---|---|---|
| 4 | 4 | 9 |
| 5 | 7 | 10 |
| 6 | 8 | 11 |
| สูตร | คำอธิบาย | ผลลัพธ์ |
| =HLOOKUP("เพลา", A1:C4, 2, TRUE) | ค้นหา "เพลา" ในแถวที่ 1 และส่งกลับค่าจากแถวที่ 2 ซึ่งอยู่ในคอลัมน์เดียวกัน (คอลัมน์ A) | 4 |
| =HLOOKUP("ตลับลูกปืน", A1:C4, 3, FALSE) | ค้นหา "ตลับลูกปืน" ในแถวที่ 1 และส่งกลับค่าจากแถวที่ 3 ซึ่งอยู่ในคอลัมน์เดียวกัน (คอลัมน์ B) | 7 |
| =HLOOKUP("B", A1:C4, 3, TRUE) | ค้นหา "B" ในแถวที่ 1 และส่งกลับค่าจากแถวที่ 3 ซึ่งอยู่ในคอลัมน์เดียวกัน เนื่องจากไม่พบค่าที่ตรงกันกับ "B" ดังนั้นจะใช้ค่ามากที่สุดในแถวที่ 1 ที่น้อยกว่า "B" ซึ่งก็คือ "เพลา" ใน คอลัมน์ A | 5 |
| =HLOOKUP("สลักเกลียว", A1:C4, 4) | ค้นหา "สลักเกลียว" ในแถวที่ 1 และส่งกลับค่าจากแถวที่ 4 ซึ่งอยู่ในคอลัมน์เดียวกัน (คอลัมน์ C) | 11 |
| =HLOOKUP(3, {1,2,3;"a","b","c";"d","e","f"}, 2, TRUE) | ค้นหาเลข 3 ในค่าคงที่อาร์เรย์ที่มีสามแถว และส่งกลับค่าจากแถวที่ 2 ในคอลัมน์เดียวกัน (ในกรณีนี้ คือคอลัมน์ที่สาม) มีแถวของค่าสามแถวในค่าคงที่อาร์เรย์ โดยแต่ละแถวคั่นด้วยเครื่องหมายอัฒภาค (;)) เนื่องจากพบ "c" ในแถวที่ 2 และอยู่ในคอลัมน์เดียวกันกับ 3 ดังนั้นจะส่งกลับ "c" | c |