VLOOKUP ขั้นสูงใน Excel: หลายรายการ ซ้อนกัน ซ้อนกัน

  • แบ่งปันสิ่งนี้
Michael Brown

ตัวอย่างเหล่านี้จะสอนคุณเกี่ยวกับ 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 วิธีในการป้อนสูตรในเวิร์กชีตของคุณ:

    1. พิมพ์สูตรในเซลล์แรก กด Ctrl + Shift + Enter จากนั้นลากลงไปที่เซลล์อีกสองสามเซลล์
    2. เลือกเซลล์ที่อยู่ติดกันหลายๆ เซลล์ในคอลัมน์เดียว (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 คุณอาจมีข้อมูลในรูปแบบเดียวกันแยกออกเป็นหลายเวิร์กชีต และเป้าหมายของคุณคือการดึงข้อมูลจากชีตเฉพาะโดยขึ้นอยู่กับค่าคีย์ในเซลล์ที่กำหนด

    นี่อาจเข้าใจได้ง่ายกว่าจากตัวอย่าง สมมติว่า คุณมีรายงานการขายระดับภูมิภาคสองสามฉบับในรูปแบบเดียวกัน และคุณกำลังมองหาตัวเลขยอดขายสำหรับผลิตภัณฑ์เฉพาะในบาง

    Michael Brown เป็นผู้ที่ชื่นชอบเทคโนโลยีโดยเฉพาะและมีความหลงใหลในการทำให้กระบวนการที่ซับซ้อนง่ายขึ้นโดยใช้เครื่องมือซอฟต์แวร์ ด้วยประสบการณ์กว่าทศวรรษในอุตสาหกรรมเทคโนโลยี เขาได้ฝึกฝนทักษะของเขาใน Microsoft Excel และ Outlook รวมถึง Google ชีตและเอกสาร บล็อกของ Michael ทุ่มเทให้กับการแบ่งปันความรู้และความเชี่ยวชาญของเขากับผู้อื่น โดยให้คำแนะนำและแบบฝึกหัดที่ทำตามได้ง่ายเพื่อปรับปรุงผลิตภาพและประสิทธิภาพ ไม่ว่าคุณจะเป็นมืออาชีพที่ช่ำชองหรือมือใหม่ บล็อกของ Michael นำเสนอข้อมูลเชิงลึกอันมีค่าและคำแนะนำที่เป็นประโยชน์สำหรับการใช้ประโยชน์สูงสุดจากเครื่องมือซอฟต์แวร์ที่จำเป็นเหล่านี้