สารบัญ
ตัวอย่างเหล่านี้จะสอนคุณเกี่ยวกับ Vlookup หลายเกณฑ์ ส่งคืนอินสแตนซ์เฉพาะหรือตรงกันทั้งหมด ทำ Vlookup แบบไดนามิกในหลายชีต และอื่นๆ อีกมากมาย
เป็นส่วนที่สองของ ซีรี่ส์ที่จะช่วยให้คุณใช้ประโยชน์จากพลังของ Excel VLOOKUP ตัวอย่างบ่งบอกว่าคุณรู้ว่าฟังก์ชันนี้ทำงานอย่างไร ถ้าไม่ ก็มีเหตุผลที่จะเริ่มต้นด้วยการใช้ VLOOKUP ใน Excel ขั้นพื้นฐาน
ก่อนที่จะดำเนินการต่อไป ให้ฉันเตือนคุณสั้นๆ เกี่ยวกับไวยากรณ์:
VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup] )ตอนนี้ทุกคนเข้าใจตรงกันแล้ว มาดูตัวอย่างสูตร VLOOKUP ขั้นสูงกัน:
วิธี Vlookup หลายเกณฑ์
The Excel ฟังก์ชัน VLOOKUP มีประโยชน์มากในการค้นหาค่าต่างๆ ในฐานข้อมูล อย่างไรก็ตาม มันขาดคุณสมบัติที่สำคัญ - ไวยากรณ์ของมันอนุญาตให้มีค่าการค้นหาเพียงค่าเดียว แต่ถ้าคุณต้องการค้นหาด้วยหลายเงื่อนไขล่ะ มีวิธีแก้ปัญหาที่แตกต่างกันเล็กน้อยให้คุณเลือก
สูตร 1. VLOOKUP ที่มีสองเกณฑ์
สมมติว่าคุณมีรายการคำสั่งซื้อและต้องการหาปริมาณตามเกณฑ์ 2 ข้อ ชื่อลูกค้า และ ผลิตภัณฑ์ ปัจจัยที่ซับซ้อนคือลูกค้าแต่ละรายสั่งซื้อผลิตภัณฑ์หลายรายการ ดังที่แสดงในตารางด้านล่าง:
สูตร VLOOKUP ปกติจะใช้ไม่ได้ในสถานการณ์นี้ เนื่องจากจะส่งคืนค่าที่พบครั้งแรก จับคู่ตามภูมิภาค:
เหมือนในตัวอย่างก่อนหน้านี้ เราเริ่มต้นด้วยการกำหนดชื่อสองสามชื่อ:
- ช่วง A2:B5 ในแผ่นงาน CA มีชื่อว่า CA_Sales .
- ช่วง A2:B5 ในแผ่นงาน FL มีชื่อว่า FL_Sales .
- ช่วง A2:B5 ในแผ่นงาน KS มีชื่อว่า KS_Sales .
อย่างที่คุณเห็น ช่วงที่มีชื่อทั้งหมดมีส่วนที่เหมือนกัน ( ยอดขาย ) และส่วนที่ไม่ซ้ำกัน ( CA , FL , KS ). โปรดอย่าลืมตั้งชื่อช่วงของคุณในลักษณะที่คล้ายคลึงกันเนื่องจากจำเป็นสำหรับสูตรที่เราจะสร้าง
สูตร 1. INDIRECT VLOOKUP เพื่อดึงข้อมูลจากชีตต่างๆ แบบไดนามิก
หากงานของคุณ คือการดึงข้อมูลจากหลายชีต สูตร VLOOKUP INDIRECT เป็นวิธีแก้ปัญหาที่ดีที่สุด กะทัดรัดและเข้าใจง่าย
สำหรับตัวอย่างนี้ เราจัดระเบียบตารางสรุปด้วยวิธีนี้:
- ป้อนผลิตภัณฑ์ที่สนใจใน A2 และ A3 ค่าเหล่านี้คือค่าการค้นหาของเรา
- ป้อนส่วนที่ไม่ซ้ำของช่วงที่มีชื่อใน B1, C1 และ D1
และตอนนี้ เราเชื่อมเซลล์ที่มีส่วนเฉพาะ (B1) เข้าด้วยกัน ด้วยส่วนทั่วไป ("_Sales") และป้อนสตริงผลลัพธ์เป็น INDIRECT:
INDIRECT(B$1&"_Sales")
ฟังก์ชัน INDIRECT จะแปลงสตริงเป็นชื่อที่ Excel เข้าใจ และคุณใส่ไว้ใน อาร์กิวเมนต์ table_array ของ VLOOKUP:
=VLOOKUP($A2, INDIRECT(B$1&"_Sales"), 2, FALSE)
สูตรด้านบนไปที่ B2 แล้วคัดลอกลงไปทางขวา
โปรด โปรดทราบว่าในค่าการค้นหา ($A2)เราได้ล็อคพิกัดคอลัมน์ด้วยการอ้างอิงเซลล์แบบสัมบูรณ์ เพื่อให้คอลัมน์คงที่เมื่อคัดลอกสูตรไปทางขวา ในการอ้างอิง B$1 เราล็อคแถวไว้เพราะเราต้องการให้พิกัดคอลัมน์เปลี่ยนและระบุส่วนชื่อที่เหมาะสมให้กับ INDIRECT โดยขึ้นอยู่กับคอลัมน์ที่คัดลอกสูตร:
หากตารางหลักของคุณมีการจัดระเบียบแตกต่างกัน ค่าการค้นหาในแถวและส่วนเฉพาะของชื่อช่วงในคอลัมน์ คุณควรล็อกพิกัดแถวในค่าการค้นหา (1 ดอลลาร์สหรัฐฯ) และพิกัดคอลัมน์ในส่วนชื่อ ($A2):
=VLOOKUP(B$1, INDIRECT($A2&"_Sales"), 2, FALSE)
สูตร 2. VLOOKUP และ IF ที่ซ้อนกันเพื่อค้นหาแผ่นงานหลายแผ่น
ในสถานการณ์เมื่อคุณมี เพียงสองหรือสามแผ่นงานการค้นหา คุณสามารถใช้สูตร VLOOKUP ที่ค่อนข้างง่ายกับฟังก์ชัน IF ที่ซ้อนกันเพื่อเลือกแผ่นงานที่ถูกต้องตามค่าคีย์ในเซลล์เฉพาะ:
=VLOOKUP($A2, IF(B$1="CA", CA_Sales, IF(B$1="FL", FL_Sales, IF(B$1="KS", KS_Sales,""))), 2, FALSE)
ที่ $A2 เป็นค่าการค้นหา (ชื่อรายการ) และ B$1 เป็นค่าคีย์ (สถานะ):
ในกรณีนี้ คุณไม่จำเป็นต้องกำหนดชื่อและสามารถใช้ภายนอกได้ การอ้างอิงเพื่ออ้างถึงชีตหรือสมุดงานอื่น
สำหรับสูตรเพิ่มเติม เช่น mples โปรดดูวิธีการ VLOOKUP ในแผ่นงานหลายแผ่นใน Excel
นั่นคือวิธีการใช้ VLOOKUP ใน Excel ฉันขอขอบคุณสำหรับการอ่านและหวังว่าจะได้พบคุณในบล็อกของเราในสัปดาห์หน้า!
แบบฝึกหัดสำหรับดาวน์โหลดสมุดงาน
ตัวอย่างสูตร VLOOKUP ขั้นสูง (.xlsxไฟล์)
ค่าการค้นหาเดียวที่คุณระบุเพื่อแก้ปัญหานี้ คุณสามารถเพิ่มคอลัมน์ตัวช่วยและเชื่อมค่าจากสองคอลัมน์การค้นหา ( ลูกค้า และ ผลิตภัณฑ์ ) เข้าด้วยกัน สิ่งสำคัญคือคอลัมน์ตัวช่วยควรเป็นคอลัมน์ ซ้ายสุด ในอาร์เรย์ของตาราง เนื่องจากเป็นตำแหน่งที่ Excel VLOOKUP จะค้นหาค่าการค้นหาเสมอ
ดังนั้น เพิ่มคอลัมน์ทางด้านซ้ายของคุณ ตารางและคัดลอกสูตรด้านล่างข้ามคอลัมน์นั้น สิ่งนี้จะเติมข้อมูลในคอลัมน์ตัวช่วยด้วยค่าจากคอลัมน์ B และ C (อักขระช่องว่างเชื่อมระหว่างกันเพื่อให้อ่านง่ายขึ้น):
=B2&" "&C2
จากนั้น ใช้สูตร VLOOKUP มาตรฐานและวาง เกณฑ์ทั้งสองในอาร์กิวเมนต์ lookup_value โดยคั่นด้วยช่องว่าง:
=VLOOKUP("Jeremy Sweets", A2:D11, 4, FALSE)
หรือป้อนเกณฑ์ในเซลล์ที่แยกจากกัน (G1 และ G2 ในกรณีของเรา) และเชื่อมเกณฑ์เหล่านั้นเข้าด้วยกัน เซลล์:
=VLOOKUP(G1&" "&G2, A2:D11, 4, FALSE)
เนื่องจากเราต้องการคืนค่าจากคอลัมน์ D ซึ่งเป็นคอลัมน์ที่สี่ในอาร์เรย์ของตาราง เราจึงใช้ 4 สำหรับ col_index_num อาร์กิวเมนต์ range_lookup ถูกตั้งค่าเป็น FALSE เพื่อให้ Vlookup ตรงกันทุกประการ ภาพหน้าจอด้านล่างแสดงผลลัพธ์:
ในกรณีที่ตารางค้นหาของคุณอยู่ใน แผ่นงานอื่น ให้ใส่ชื่อแผ่นงานในสูตร VLOOKUP ของคุณ ตัวอย่างเช่น:
=VLOOKUP(G1&" "&G2, Orders!A2:D11, 4, FALSE)
อีกวิธีหนึ่ง สร้างช่วงที่มีชื่อสำหรับตารางค้นหา (เช่น คำสั่งซื้อ ) เพื่อทำให้สูตรอ่านง่ายขึ้น:
=VLOOKUP(G1&" "&G2, Orders, 4, FALSE)
สำหรับข้อมูลเพิ่มเติม โปรดดูวิธีการVlookup จากแผ่นงานอื่นใน Excel
หมายเหตุ เพื่อให้สูตรทำงานได้อย่างถูกต้อง ค่าในคอลัมน์ตัวช่วยควรเชื่อมต่อแบบเดียวกับในอาร์กิวเมนต์ lookup_value ตัวอย่างเช่น เราใช้อักขระเว้นวรรคเพื่อแยกเกณฑ์ในคอลัมน์ตัวช่วย (B2&" "&C2) และสูตร VLOOKUP (G1&" "&G2)
สูตรที่ 2 Excel VLOOKUP ที่มีหลายเงื่อนไข
ตามทฤษฎีแล้ว คุณสามารถใช้วิธีการข้างต้นกับ Vlookup ได้มากกว่าสองเกณฑ์ อย่างไรก็ตามมีข้อแม้อยู่สองสามข้อ ประการแรก ค่าตัวค้นหาจำกัดไว้ที่ 255 อักขระ และประการที่สอง การออกแบบเวิร์กชีตอาจไม่อนุญาตให้เพิ่มคอลัมน์ตัวช่วย
โชคดีที่ Microsoft Excel มักจะให้วิธีเดียวกันมากกว่าหนึ่งวิธี หากต้องการ Vlookup หลายเกณฑ์ คุณสามารถใช้ชุดค่าผสม INDEX MATCH หรือฟังก์ชัน XLOOKUP ที่เพิ่งเปิดตัวใน Office 365
ตัวอย่างเช่น หากต้องการค้นหาตามค่าที่แตกต่างกัน 3 ค่า ( วันที่ , ชื่อลูกค้า และ ผลิตภัณฑ์ ) ใช้หนึ่งในสูตรต่อไปนี้:
=INDEX(D2:D11, MATCH(1, (G1=A2:A11) * (G2=B2:B11) * (G3=C2:C11), 0))
=XLOOKUP(1, (G1=A2:A11) * (G2=B2:B11) * (G3=C2:C11), D2:D11)
ที่ไหน:
- G1 คือเกณฑ์ 1 (วันที่)
- G2 คือเกณฑ์ 2 (ชื่อลูกค้า)
- G3 คือเกณฑ์ 3 (ผลิตภัณฑ์)
- A2:A11 คือการค้นหา ช่วง 1 (วันที่)
- B2:B11 คือการค้นหา ช่วง 2 (ชื่อลูกค้า)
- C2:C11 คือการค้นหา ช่วง 3 (ผลิตภัณฑ์)
- D2:D11 คือผลตอบแทน ช่วง (ปริมาณ)
หมายเหตุ ในทุกเวอร์ชัน ยกเว้น Excel 365, INDEXควรป้อน MATCH เป็นสูตรอาร์เรย์ CSE โดยกด Ctrl + Shift + Enter ใน Excel 365 ที่รองรับอาร์เรย์แบบไดนามิก มันยังทำงานเป็นสูตรปกติอีกด้วย
สำหรับคำอธิบายโดยละเอียดของสูตร โปรดดู:
- XLOOKUP ที่มีหลายเกณฑ์
- สูตร INDEX MATCH ที่มีหลายเกณฑ์
วิธีการ ใช้ VLOOKUP เพื่อรับการจับคู่ครั้งที่ 2, 3 หรือ n
ดังที่คุณทราบแล้ว Excel VLOOKUP สามารถดึงค่าที่ตรงกันได้เพียงค่าเดียวเท่านั้น โดยจะส่งกลับค่าที่ตรงกันที่พบครั้งแรก แต่ถ้ามีรายการที่ตรงกันหลายรายการในอาร์เรย์การค้นหาของคุณและคุณต้องการรับอินสแตนซ์ที่ 2 หรือ 3 งานฟังดูค่อนข้างซับซ้อน แต่มีทางออกอยู่!
สูตรที่ 1. Vlookup อินสแตนซ์ที่ N
สมมติว่าคุณมีชื่อลูกค้าในคอลัมน์หนึ่ง สินค้าที่พวกเขาซื้อในอีกคอลัมน์หนึ่ง และคุณกำลังมองหา เพื่อค้นหาผลิตภัณฑ์ชิ้นที่ 2 หรือ 3 ที่ลูกค้าซื้อ
วิธีที่ง่ายที่สุดคือการเพิ่มคอลัมน์ตัวช่วยทางด้านซ้ายของตารางเหมือนที่เราทำในตัวอย่างแรก แต่คราวนี้ เราจะเติมข้อมูลด้วยชื่อลูกค้าและหมายเลขเหตุการณ์ เช่น " John Doe1 ", " John Doe2 " เป็นต้น
หากต้องการทราบเหตุการณ์ ใช้ฟังก์ชัน COUNTIF กับการอ้างอิงช่วงผสม (การอ้างอิงแรกเป็นแบบสัมบูรณ์ และการอ้างอิงที่สองเป็นแบบสัมพัทธ์ เช่น $B$2:B2) เนื่องจากการอ้างอิงสัมพัทธ์เปลี่ยนแปลงตามตำแหน่งของเซลล์ที่มีการคัดลอกสูตร ในแถวที่ 3 จะกลายเป็น $B$2:B3 ในแถวที่ 4 -$B$2:B4 และอื่นๆ
เชื่อมกับชื่อลูกค้า (B2) สูตรจะอยู่ในรูปแบบนี้:
=B2&COUNTIF($B$2:B2, B2)
สูตรด้านบนไปที่ A2 แล้วคัดลอกลงไปตามเซลล์ที่ต้องการ
หลังจากนั้น ให้ป้อนชื่อเป้าหมายและหมายเลขเหตุการณ์ในเซลล์ที่แยกจากกัน (F1 และ F2) และใช้สูตรด้านล่างเพื่อ Vlookup เหตุการณ์เฉพาะ:
=VLOOKUP(F1&F2, A2:C11, 3, FALSE)
สูตรที่ 2 Vlookup เกิดขึ้นครั้งที่ 2
หากคุณกำลังมองหาตัวอย่างที่ 2 ของค่าการค้นหา คุณสามารถ ทำโดยไม่มีคอลัมน์ตัวช่วย ให้สร้างอาร์เรย์ตารางแบบไดนามิกโดยใช้ฟังก์ชัน INDIRECT ร่วมกับ MATCH:
=VLOOKUP(E1, INDIRECT("A"&(MATCH(E1, A2:A11, 0)+2)&":B11"), 2, FALSE)
โดยที่:
- E1 คือค่าการค้นหา
- A2:A11 คือช่วงการค้นหา
- B11 คือเซลล์สุดท้าย (ขวาล่าง) ของตารางการค้นหา
โปรดทราบว่า สูตรข้างต้นเขียนขึ้นสำหรับกรณีเฉพาะที่เซลล์ข้อมูลในตารางค้นหาเริ่มต้นในแถวที่ 2 ถ้าตารางของคุณอยู่ตรงกลางแผ่นงาน ให้ใช้สูตรสากลนี้ โดยที่ A1 คือเซลล์ซ้ายบนสุดของตารางค้นหาที่มี ส่วนหัวของคอลัมน์:
=VLOOKUP(E1, INDIRECT("A"&(MATCH(E1, A2:A11, 0)+1+ROW(A1))&":B11"), 2, FALSE)
สูตรนี้ทำงานอย่างไร
นี่คือส่วนสำคัญของสูตรที่สร้าง ช่วง vlookup ไดนามิก :<3
INDIRECT("A"&(MATCH(E1, A2:A11, 0)+2)&":B11")
ฟังก์ชัน MATCH ที่กำหนดค่าสำหรับการจับคู่แบบตรงทั้งหมด (0 ในอาร์กิวเมนต์สุดท้าย) เปรียบเทียบชื่อเป้าหมาย (E1) กับรายชื่อ (A2:A11) และส่งคืนตำแหน่งที่พบครั้งแรก จับคู่ซึ่งก็คือ 3ในกรณีของเรา ตัวเลขนี้จะใช้เป็นพิกัดแถวเริ่มต้นสำหรับช่วง vlookup ดังนั้นเราจึงเพิ่ม 2 เข้าไป (+1 เพื่อแยกอินสแตนซ์แรก และ +1 เพื่อแยกแถว 1 ที่มีส่วนหัวของคอลัมน์) อีกวิธีหนึ่ง คุณสามารถใช้ 1+ROW(A1) เพื่อคำนวณการปรับที่จำเป็นโดยอัตโนมัติตามตำแหน่งของแถวส่วนหัว (ในกรณีของเราคือ A1)
ผลลัพธ์ที่ได้คือสตริงข้อความต่อไปนี้ ซึ่ง INDIRECT แปลงเป็นการอ้างอิงช่วง:
INDIRECT("A"&5&":B11") -> A5:B11
ช่วงนี้ไปที่อาร์กิวเมนต์ table_array ของ VLOOKUP บังคับให้เริ่มค้นหาในแถวที่ 5 โดยไม่รวมอินสแตนซ์แรกของ ค่าการค้นหา:
VLOOKUP(E1, A5:B11, 2, FALSE)
วิธี Vlookup และส่งคืนค่าหลายค่าใน Excel
ฟังก์ชัน Excel VLOOKUP ออกแบบมาเพื่อส่งคืนค่าที่ตรงกันเพียงค่าเดียว มีวิธี Vlookup หลายอินสแตนซ์หรือไม่? ใช่ มี แม้ว่าจะไม่ใช่เรื่องง่ายก็ตาม ซึ่งต้องใช้หลายฟังก์ชันรวมกัน เช่น INDEX, SMALL และ ROW เป็นสูตรอาร์เรย์
ตัวอย่างเช่น ด้านล่างสามารถค้นหาค่าการค้นหา F2 ทั้งหมดในช่วงการค้นหา B2:B16 และส่งคืนค่าหลายค่า จับคู่จากคอลัมน์ C:
{=IFERROR(INDEX($C$2:$C$11, SMALL(IF($F$1=$B$2:$B$11, ROW($C$2:$C$11)-1,""), ROW()-1)),"")}
มี 2 วิธีในการป้อนสูตรในเวิร์กชีตของคุณ:
- พิมพ์สูตรในเซลล์แรก กด Ctrl + Shift + Enter จากนั้นลากลงไปที่เซลล์อีกสองสามเซลล์
- เลือกเซลล์ที่อยู่ติดกันหลายๆ เซลล์ในคอลัมน์เดียว (F1:F11 ในภาพหน้าจอด้านล่าง) พิมพ์สูตรแล้วกด Ctrl +Shift + Enter เพื่อทำให้เสร็จ
ไม่ว่าจะด้วยวิธีใด จำนวนเซลล์ที่คุณป้อนสูตรควรเท่ากับหรือมากกว่าจำนวนสูงสุดของการจับคู่ที่เป็นไปได้
สำหรับคำอธิบายโดยละเอียดเกี่ยวกับตรรกะของสูตรและตัวอย่างเพิ่มเติม โปรดดูวิธี VLOOKUP หลายค่าใน Excel
วิธี Vlookup ในแถวและคอลัมน์ (การค้นหาสองทาง)
การค้นหาแบบสองทาง (หรือที่เรียกว่า การค้นหาเมทริกซ์ หรือ การค้นหาแบบ 2 มิติ ) เป็นคำที่แปลกใหม่สำหรับการค้นหาค่าที่จุดตัดของ แถวและคอลัมน์ที่กำหนด มีหลายวิธีในการค้นหาแบบสองมิติใน Excel แต่เนื่องจากบทช่วยสอนนี้เน้นไปที่ฟังก์ชัน VLOOKUP เราจึงใช้ฟังก์ชันนี้โดยธรรมชาติ
สำหรับตัวอย่างนี้ เราจะใช้ด้านล่าง ตารางที่มียอดขายรายเดือนและหาสูตร VLOOKUP เพื่อดึงตัวเลขยอดขายสำหรับสินค้าเฉพาะในเดือนที่กำหนด
มีชื่อสินค้าใน A2:A9 ชื่อเดือนใน B1:F1 สินค้าเป้าหมายใน I1 และเดือนเป้าหมายใน I2 สูตรจะเป็นดังนี้:
=VLOOKUP(I1, A2:F9, MATCH(I2, A1:F1, 0), FALSE)
วิธีการทำงานของสูตรนี้
แกนหลักของสูตร เป็นฟังก์ชัน VLOOKUP มาตรฐานที่ค้นหาการจับคู่แบบตรงทั้งหมดกับค่าการค้นหาใน I1 แต่เนื่องจากเราไม่ทราบว่ายอดขายในเดือนใดอยู่ในคอลัมน์ใด เราจึงไม่สามารถระบุหมายเลขคอลัมน์โดยตรงกับอาร์กิวเมนต์ col_index_num ในการหาคอลัมน์นั้น เราใช้ MATCH ต่อไปนี้ฟังก์ชัน:
MATCH(I2, A1:F1, 0)
แปลเป็นภาษาอังกฤษ สูตรระบุว่า ค้นหาค่า I2 ใน A1:F1 และส่งคืนตำแหน่งสัมพัทธ์ในอาร์เรย์ เมื่อใส่ 0 ให้กับอาร์กิวเมนต์ที่ 3 คุณสั่งให้ MATCH ค้นหาค่าที่เท่ากับค่าการค้นหาทุกประการ (เหมือนกับการใช้ FALSE สำหรับอาร์กิวเมนต์ range_lookup ของ VLOOKUP)
ตั้งแต่ Mar อยู่ในคอลัมน์ที่ 4 ในอาร์เรย์การค้นหา ฟังก์ชัน MATCH จะคืนค่า 4 ซึ่งจะไปที่อาร์กิวเมนต์ col_index_num ของ VLOOKUP โดยตรง:
VLOOKUP(I1, A2:F9, 4, FALSE)
Please โปรดทราบว่าแม้ว่าชื่อเดือนจะเริ่มต้นในคอลัมน์ B แต่เราใช้ A1:I1 สำหรับอาร์เรย์การค้นหา สิ่งนี้ทำเพื่อให้หมายเลขที่ส่งกลับโดย MATCH สอดคล้องกับตำแหน่งของคอลัมน์ใน table_array ของ VLOOKUP
หากต้องการเรียนรู้วิธีเพิ่มเติมในการค้นหาเมทริกซ์ใน Excel โปรดดูที่ INDEX MATCH MATCH และสูตรอื่นๆ สำหรับการค้นหา 2 มิติ
วิธีทำ Vlookup หลายรายการใน Excel (Vlookup ที่ซ้อนกัน)
บางครั้งอาจเกิดขึ้นที่ตารางหลักและตารางค้นหาของคุณไม่มีคอลัมน์เดียวใน ทั่วไป ซึ่งจะป้องกันไม่ให้คุณทำ Vlookup ระหว่างสองตาราง อย่างไรก็ตาม มีตารางอีกตารางหนึ่งซึ่งไม่มีข้อมูลที่คุณกำลังมองหา แต่มีคอลัมน์ทั่วไปหนึ่งคอลัมน์ที่มีตารางหลักและอีกคอลัมน์หนึ่งที่มีตารางค้นหา
ในภาพด้านล่างแสดงสถานการณ์:
เป้าหมายคือการคัดลอกราคาไปยังตารางหลักตาม รหัสรายการ ปัญหาคือตารางที่มีราคาไม่มี รหัสรายการ หมายความว่าเราจะต้องทำ Vlookups สองรายการในสูตรเดียว
เพื่อความสะดวก ลองสร้างสองรายการ ตั้งชื่อช่วงก่อน:
- ตารางค้นหา 1 ตั้งชื่อ ผลิตภัณฑ์ (D3:E10)
- ตารางค้นหา 2 ตั้งชื่อ ราคา ( G3:H10 )
ตารางสามารถอยู่ในแผ่นงานเดียวกันหรือต่างกันก็ได้
และตอนนี้ เราจะทำสิ่งที่เรียกว่า double Vlookup หรือที่เรียกว่า Vlookup ที่ซ้อนกัน .
ขั้นแรก สร้างสูตร VLOOKUP เพื่อค้นหาชื่อผลิตภัณฑ์ในตารางการค้นหา 1 (ชื่อ ผลิตภัณฑ์ ) ตามรายการ id (A3):
=VLOOKUP(A3, Products, 2, FALSE)
ถัดไป ใส่สูตรข้างต้นในอาร์กิวเมนต์ lookup_value ของฟังก์ชัน VLOOKUP อื่นเพื่อดึงราคาจากตารางค้นหา 2 (ชื่อ ราคา ) ตามชื่อผลิตภัณฑ์ที่ส่งคืนโดย VLOOKUP ที่ซ้อนกัน:
=VLOOKUP(VLOOKUP(A3, Products, 2, FALSE), Prices, 2, FALSE)
ภาพหน้าจอด้านล่างแสดงการทำงานของสูตร Vlookup ที่ซ้อนกันของเรา:
วิธี Vlookup หลายชีตแบบไดนามิก
บางครั้ง y คุณอาจมีข้อมูลในรูปแบบเดียวกันแยกออกเป็นหลายเวิร์กชีต และเป้าหมายของคุณคือการดึงข้อมูลจากชีตเฉพาะโดยขึ้นอยู่กับค่าคีย์ในเซลล์ที่กำหนด
นี่อาจเข้าใจได้ง่ายกว่าจากตัวอย่าง สมมติว่า คุณมีรายงานการขายระดับภูมิภาคสองสามฉบับในรูปแบบเดียวกัน และคุณกำลังมองหาตัวเลขยอดขายสำหรับผลิตภัณฑ์เฉพาะในบาง