วิธีการค้นหาค่าส่งคืนค่าที่เกี่ยวข้องหลายค่าใน Excel
บทช่วยสอนนี้กำลังพูดถึงการค้นหาค่าที่ส่งคืนค่าที่เกี่ยวข้องหลายค่าใน Excel ดังที่แสดงในภาพหน้าจอด้านล่าง:
ค่าการค้นหาส่งคืนค่าที่เกี่ยวข้องหลายค่าด้วยสูตรอาร์เรย์
ค่าการค้นหาส่งคืนค่าที่เกี่ยวข้องหลายค่าด้วยตัวกรอง
ค่าการค้นหาส่งคืนค่าที่เกี่ยวข้องหลายค่าด้วยฟังก์ชันที่กำหนด
ค่าการค้นหาส่งคืนค่าที่เกี่ยวข้องหลายค่าด้วยสูตรอาร์เรย์
นี่คือสูตรอาร์เรย์แบบยาวที่สามารถช่วยในการค้นหาค่าและส่งคืนค่าที่เกี่ยวข้องหลายค่า
1. ป้อนค่าที่คุณต้องการค้นหาในเซลล์ว่าง ดูภาพหน้าจอ:
2. ในเซลล์ที่อยู่ติดกันพิมพ์สูตรนี้ =IF(ISERROR(INDEX($A$1:$B$7,SMALL(IF($A$1:$A$7=$D$4,ROW($A$1:$A$7)),ROW(1:1)),2)),"",
INDEX($A$1:$B$7,SMALL(IF($A$1:$A$7=$D$4,ROW($A$1:$A$7)),ROW(1:1)),2)) เข้าไปแล้วกด Shift + Ctrl + Enter เข้าด้วยกันจากนั้นลากปุ่ม กรอกอัตโนมัติ เพื่อเติมเต็มเซลล์จนกว่าเซลล์ว่างแรกจะออกมา ดูภาพหน้าจอ:
หมายเหตุ: ในสูตรข้างต้น $ A $ 1: $ B $ 7 ระบุข้อมูลช่วง $ A $ 1: $ A $ 7 ย่อมาจากช่วงคอลัมน์ที่คุณค้นหาค่าที่แน่นอนใน $ D $ 4 ระบุเซลล์ที่คุณพิมพ์ look-up ค่าในขั้นตอนที่ 1, 2 ระบุการค้นหาค่าที่เกี่ยวข้องในคอลัมน์ที่สอง
ค่าการค้นหาส่งคืนค่าที่เกี่ยวข้องหลายค่าด้วยตัวกรอง
ใน Excel คุณยังสามารถใช้คุณสมบัติตัวกรองเพื่อแก้ปัญหานี้ได้
1. เลือกช่วงคอลัมน์ที่คุณต้องการค้นหาค่าแล้วคลิก ข้อมูล > ตัวกรอง. ดูภาพหน้าจอ:
2. จากนั้นคลิกปุ่มลูกศรในเซลล์แรกของช่วงที่คุณเลือกและตรวจสอบค่าที่คุณต้องการค้นหาเฉพาะในรายการแบบเลื่อนลง ดูภาพหน้าจอ:
3 คลิก OKตอนนี้คุณเห็นเฉพาะค่าการค้นหาและค่าที่เกี่ยวข้องจะถูกกรองออก
ค่าการค้นหาส่งคืนค่าที่เกี่ยวข้องหลายค่าด้วยฟังก์ชันที่กำหนด
หากคุณสนใจฟังก์ชันที่กำหนดคุณสามารถแก้ปัญหาด้วยฟังก์ชันที่กำหนดได้เช่นกัน
1 กด Alt + F11 คีย์เพื่อเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง
2 คลิก โมดูล > สิ่งที่ใส่เข้าไป เพื่อแทรกไฟล์ โมดูล หน้าต่างแล้วคัดลอก VBA ด้านล่างลงในหน้าต่าง
VBA: ค่าการค้นหาส่งคืนค่าที่เกี่ยวข้องหลายค่า
Function MyVlookup(pWorkRng As Range, pRng As Range, pColumnIndex As Integer, Optional pType As String = "v")
'Updateby20140827
Dim xRow As Single
Dim xCol As Single
Dim arr() As Variant
ReDim arr(0)
For i = 1 To pRng.Rows.Count
If pWorkRng = pRng.Cells(i, 1) Then
arr(UBound(arr)) = pRng.Cells(i, pColumnIndex)
ReDim Preserve arr(UBound(arr) + 1)
End If
Next
If pType = "h" Then
xCol = Range(Application.Caller.Address).Columns.Count
For i = UBound(arr) To xCol
arr(UBound(arr)) = ""
ReDim Preserve arr(UBound(arr) + 1)
Next
ReDim Preserve arr(UBound(arr) - 1)
MyVlookup = arr
Else
xRow = Range(Application.Caller.Address).Rows.Count
For i = UBound(arr) To xRow
arr(UBound(arr)) = ""
ReDim Preserve arr(UBound(arr) + 1)
Next
ReDim Preserve arr(UBound(arr) - 1)
MyVlookup = Application.WorksheetFunction.Transpose(arr)
End If
End Function
3. ปิดหน้าต่างและพิมพ์สูตรนี้ลงในเซลล์ = MyVlookup (A10, $ A $ 2: $ B $ 7,2) (A10 หมายถึงค่าการค้นหา $ A $ 2: $ B $ 7 ระบุช่วงข้อมูล 2 ระบุหมายเลขดัชนีคอลัมน์) แล้วกด Shift + Ctrl + Enter คีย์ จากนั้นลากที่จับเติมลงในเซลล์แล้ววางเคอร์เซอร์ลงในไฟล์ สูตรบาร์และกด Shift + Ctrl + Enter อีกครั้ง
ปลาย: หากคุณต้องการคืนค่าในเซลล์แนวนอนคุณสามารถพิมพ์สูตรนี้ได้ = MyVlookup (A10, $ A $ 2: $ B $ 7, 2, "h").
สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน
เพิ่มพูนทักษะ Excel ของคุณด้วย Kutools สำหรับ Excel และสัมผัสประสิทธิภาพอย่างที่ไม่เคยมีมาก่อน Kutools สำหรับ Excel เสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อเพิ่มประสิทธิภาพและประหยัดเวลา คลิกที่นี่เพื่อรับคุณสมบัติที่คุณต้องการมากที่สุด...
แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก
- เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
- เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
- เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!