เคล็ดลับ: ลองใช้ฟังก์ชัน 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 |