ข้ามไปที่เนื้อหาหลัก
การสนับสนุน
ลงชื่อเข้าใช้
ลงชื่อเข้าใช้ด้วย Microsoft
ลงชื่อเข้าใช้หรือสร้างบัญชี
สวัสดี
เลือกบัญชีอื่น
คุณมีหลายบัญชี
เลือกบัญชีที่คุณต้องการลงชื่อเข้าใช้

เคล็ดลับ: ลองใช้ฟังก์ชัน XLOOKUP ใหม่ HLOOKUP เวอร์ชันที่ปรับปรุงแล้วซึ่งใช้งานได้ทุกทิศทางและส่งกลับรายการที่ตรงกันทุกรายการตามค่าเริ่มต้น ซึ่งช่วยให้การใช้งานง่ายขึ้นและสะดวกกว่างานก่อนหน้า

บทความนี้จะอธิบายเกี่ยวกับไวยากรณ์ของสูตรและการใช้ฟังก์ชัน HLOOKUP ใน Microsoft Excel

คำอธิบาย

ค้นหาค่าในแถวบนของตาราง หรือค้นหาอาร์เรย์ของค่า แล้วส่งกลับค่าที่อยู่ในคอลัมน์เดียวกันจากแถวที่คุณระบุในตารางหรือในอาร์เรย์ ให้ใช้ฟังก์ชัน HLOOKUP ในกรณีที่ค่าเปรียบเทียบอยู่ในแถวบนสุดของตารางข้อมูล และคุณต้องการค้นหาจากบนลงล่างตามจำนวนแถวที่ระบุ ให้ใช้ฟังก์ชัน VLOOKUP แทน HLOOKUP เมื่อค่าเปรียบเทียบของคุณมีตำแหน่งอยู่ในคอลัมน์ทางซ้ายของข้อมูลที่คุณต้องการค้นหา

อักษร 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

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ

ชุมชนช่วยให้คุณถามและตอบคําถาม ให้คําติชม และรับฟังจากผู้เชี่ยวชาญที่มีความรู้มากมาย

ข้อมูลนี้เป็นประโยชน์หรือไม่

คุณพึงพอใจกับคุณภาพภาษาเพียงใด
สิ่งที่ส่งผลต่อประสบการณ์ใช้งานของคุณ

ขอบคุณสำหรับคำติชมของคุณ!

×