สารบัญ
เมื่อคุณต้องการหาข้อมูลในแผ่นงานของคุณที่ตรงกับบันทึกสำคัญๆ ก็มักจะเป็น VLOOKUP ของ Google ชีต แต่คุณไปแล้ว: VLOOKUP ตบคุณด้วยข้อจำกัดแทบจะในทันที นั่นเป็นเหตุผลที่คุณควรเพิ่มทรัพยากรสำหรับงานโดยการเรียนรู้ INDEX MATCH
INDEX MATCH ใน Google ชีตคือการรวมกันของสองฟังก์ชัน: INDEX และ MATCH เมื่อใช้ควบคู่กัน จะทำหน้าที่เป็นทางเลือกที่ดีกว่าสำหรับ Google ชีต VLOOKUP มาดูความสามารถของพวกเขาด้วยกันในบล็อกโพสต์นี้ แต่ก่อนอื่น ฉันอยากจะแนะนำคุณคร่าวๆ เกี่ยวกับบทบาทของตนเองในสเปรดชีต
ฟังก์ชัน MATCH ของ Google ชีต
ฉันอยากจะเริ่มต้นด้วย Google Sheets MATCH เพราะมันง่ายมาก โดยจะสแกนข้อมูลของคุณเพื่อหาค่าเฉพาะและส่งกลับตำแหน่ง:
=MATCH(search_key, range, [search_type])- search_key คือบันทึกที่คุณกำลังมองหา จำเป็น
- ช่วง คือแถวหรือคอลัมน์ที่ต้องการค้นหา จำเป็น
หมายเหตุ MATCH ยอมรับอาร์เรย์หนึ่งมิติเท่านั้น: แถวหรือคอลัมน์
- search_type เป็นตัวเลือกและกำหนดว่าการจับคู่ควรเป็นแบบตรงทั้งหมดหรือเป็นค่าประมาณ หากละเว้น ค่านี้จะเป็น 1 โดยค่าเริ่มต้น:
- 1 หมายถึงช่วงนั้นจัดเรียงจากน้อยไปหามาก ฟังก์ชันได้รับค่ามากที่สุดน้อยกว่าหรือเท่ากับ search_key ของคุณ
- 0 จะทำให้ฟังก์ชันค้นหาค่าที่ตรงกันในกรณีที่ช่วงของคุณไม่ใช่เรียงลำดับ
- -1 คำแนะนำว่าเรกคอร์ดได้รับการจัดอันดับโดยใช้การเรียงลำดับจากมากไปน้อย ในกรณีนี้ ฟังก์ชันจะได้รับค่าที่น้อยที่สุดซึ่งมากกว่าหรือเท่ากับ คีย์การค้นหา ของคุณ
ตัวอย่างต่อไปนี้: เพื่อให้ได้ตำแหน่งของค่าหนึ่ง berry ในรายการผลเบอร์รี่ทั้งหมด ฉันต้องการสูตร MATCH ต่อไปนี้ใน Google ชีตของฉัน:
=MATCH("Blueberry", A1:A10, 0)
ฟังก์ชัน INDEX ของ Google ชีต
ในขณะที่ MATCH แสดงตำแหน่งที่จะค้นหาค่าของคุณ (ตำแหน่งในช่วง) ฟังก์ชัน INDEX ของ Google ชีตจะดึงค่าเองตามการชดเชยแถวและคอลัมน์:
=INDEX(reference, [row], [column])- reference คือช่วงที่ต้องการค้นหา
- แถว คือจำนวนแถวที่จะชดเชยจากเซลล์แรกของช่วงของคุณ . ระบุหรือไม่ใส่ก็ได้ 0 หากละไว้
- คอลัมน์ เช่นเดียวกับ แถว คือจำนวนคอลัมน์ออฟเซ็ต นอกจากนี้ ยังระบุหรือไม่ใส่ก็ได้ 0 หากละเว้น
หากคุณระบุทั้งอาร์กิวเมนต์ที่ไม่บังคับ (แถวและคอลัมน์) Google ชีต INDEX จะส่งคืนบันทึกจากเซลล์ปลายทาง:
=INDEX(A1:C10, 7, 1)
<3
ข้ามหนึ่งในอาร์กิวเมนต์เหล่านั้นและฟังก์ชันจะให้ทั้งแถวหรือคอลัมน์ตามนั้น:
=INDEX(A1:C10, 7)
วิธีใช้ INDEX MATCH ใน Google ชีต — ตัวอย่างสูตร
เมื่อใช้ INDEX และ MATCH ร่วมกันในสเปรดชีต จะใช้ได้อย่างมีประสิทธิภาพที่สุด พวกเขาสามารถแทนที่ VLOOKUP ของ Google ชีตได้อย่างสมบูรณ์และดึงข้อมูลที่จำเป็นจากตารางตามค่าคีย์ของคุณ
สร้างสูตร INDEX MATCH แรกของคุณสำหรับ Google ชีต
สมมติว่าคุณต้องการรับข้อมูลสต็อกของแครนเบอร์รี่จากตารางเดียวกันกับที่ฉันใช้ด้านบน ฉันสลับเฉพาะคอลัมน์ B และ C เท่านั้น (คุณจะพบว่าทำไมในภายหลัง)
- ตอนนี้ผลเบอร์รี่ทั้งหมดแสดงอยู่ในคอลัมน์ C ฟังก์ชัน MATCH ของ Google ชีตจะช่วยคุณค้นหาแถวที่ถูกต้องของ แครนเบอร์รี่: 8
=MATCH("Cranberry", C1:C10, 0)
- ใส่สูตร MATCH ทั้งหมดลงในอาร์กิวเมนต์ แถว ในฟังก์ชัน INDEX:
=INDEX(A1:C10, MATCH("Cranberry", C1:C10, 0))
อันนี้จะส่งกลับทั้งแถวด้วยแครนเบอร์รี่ในนั้น
- แต่เนื่องจากสิ่งที่คุณต้องมีก็แค่ข้อมูลหุ้น ระบุหมายเลขของคอลัมน์ค้นหาด้วย: 3
=INDEX(A1:C10, MATCH("Cranberry", C1:C10,0), 2)
- Voila !
- คุณสามารถไปต่อและเลิกใช้ตัวบ่งชี้คอลัมน์สุดท้าย ( 2 ) คุณไม่จำเป็นต้องใช้เลยหากคุณใช้เฉพาะคอลัมน์การค้นหา ( B1:B10 ) แทนที่จะใช้ทั้งตาราง ( A1:C10 ) เป็นอาร์กิวเมนต์แรก:
=INDEX(B1:B10, MATCH("Cranberry", C1:C10, 0))
เคล็ดลับ วิธีที่สะดวกกว่าในการตรวจสอบความพร้อมของผลเบอร์รี่ต่างๆ คือวางไว้ในรายการแบบเลื่อนลง ( E2 ) และอ้างอิงฟังก์ชัน MATCH ของคุณไปยังเซลล์ที่มีรายการดังกล่าว:
=INDEX(B1:B10, MATCH(E2, C1:C10, 0))
เมื่อคุณเลือกผลเบอร์รี่ ค่าที่เกี่ยวข้องจะเปลี่ยนตาม:
ทำไม INDEX MATCH ใน Google ชีตจึงดีกว่า VLOOKUP
คุณรู้อยู่แล้วว่า Google ชีต INDEX MATCH จะค้นหาค่าของคุณในตารางและส่งคืนบันทึกอื่นที่เกี่ยวข้องจากรายการเดียวกันแถว. และคุณรู้ไหมว่า Google ชีต VLOOKUP ก็ทำเช่นเดียวกัน แล้วทำไมต้องกังวล
ประเด็นก็คือ INDEX MATCH มี ข้อดีที่สำคัญบางประการ เหนือ VLOOKUP:
- ด้านซ้าย การค้นหาเป็นไปได้ . ฉันเปลี่ยนตำแหน่งคอลัมน์ก่อนหน้านี้เพื่อแสดงสิ่งนี้: ฟังก์ชัน INDEX MATCH ใน Google ชีตสามารถและดูทางด้านซ้ายของคอลัมน์ค้นหาได้ VLOOKUP จะค้นหาคอลัมน์แรกของช่วงเสมอและมองหารายการที่ตรงกันทางด้านขวา มิฉะนั้นจะได้รับเฉพาะข้อผิดพลาด #N/A: ดูสิ่งนี้ด้วย: IF ที่ซ้อนกันใน Excel – สูตรที่มีหลายเงื่อนไข
- ไม่มีปัญหา อ้างอิงเมื่อเพิ่มคอลัมน์ใหม่และย้ายคอลัมน์ที่มีอยู่ หากคุณเพิ่มหรือย้ายคอลัมน์ INDEX MATCH จะแสดงการเปลี่ยนแปลงโดยอัตโนมัติโดยไม่เข้าไปยุ่งกับผลลัพธ์ เนื่องจากคุณใช้การอ้างอิงคอลัมน์ Google ชีตจึงปรับเปลี่ยนทันที:
ดำเนินการต่อและลองทำสิ่งนี้ด้วย VLOOKUP: ต้องใช้หมายเลขคำสั่งซื้อแทนการอ้างอิงเซลล์สำหรับคอลัมน์ค้นหา ดังนั้น คุณจะได้ค่าที่ผิดเพราะคอลัมน์อื่นอยู่ในตำแหน่งเดียวกัน — คอลัมน์ 2 ในตัวอย่างของฉัน:
- พิจารณาตัวพิมพ์ข้อความ เมื่อจำเป็น (เพิ่มเติมด้านล่าง)
- สามารถใช้สำหรับการค้นหาในแนวตั้งโดยอิงจากหลายเกณฑ์
ขอเชิญคุณดู ในรายละเอียดสองจุดสุดท้ายด้านล่าง
V-lookup ที่คำนึงถึงตัวพิมพ์เล็กและใหญ่ด้วย INDEX MATCH ใน Google ชีต
INDEX MATCH เป็นวิธีที่ใช้เมื่อพูดถึงตัวพิมพ์เล็กและใหญ่ความไว
สมมติว่าผลเบอร์รี่ทั้งหมดถูกขายในสองวิธี — แบบหลวม (ชั่งน้ำหนักที่เคาน์เตอร์) และบรรจุในกล่อง ดังนั้นจึงมีเหตุการณ์ 2 ครั้งของผลเบอร์รี่แต่ละรายการที่เขียนในกรณีต่างๆ กันในรายการ โดยแต่ละรายการจะมี ID ของตัวเองที่แตกต่างกันไปในแต่ละกรณี:
แล้วคุณจะค้นหาได้อย่างไร ข้อมูลสต็อกเกี่ยวกับผลไม้เล็ก ๆ ที่ขายด้วยวิธีใดวิธีหนึ่ง? VLOOKUP จะส่งคืนชื่อที่พบไม่ว่าจะกรณีใดก็ตาม
โชคดีที่ INDEX MATCH สำหรับ Google ชีตสามารถทำได้อย่างถูกต้อง คุณจะต้องใช้ฟังก์ชันเพิ่มเติมเพียงฟังก์ชันเดียว — FIND หรือ EXACT
ตัวอย่างที่ 1. FIND สำหรับ Vlookup ที่คำนึงถึงตัวพิมพ์เล็กและใหญ่
FIND เป็นฟังก์ชันที่คำนึงถึงตัวพิมพ์เล็กและใหญ่ใน Google ชีต ซึ่งทำให้มันยอดเยี่ยม สำหรับการค้นหาแนวตั้งที่คำนึงถึงตัวพิมพ์เล็กและใหญ่:
=ArrayFormula(INDEX(B2:B19, MATCH(1, FIND(E2, C2:C19)), 0))
มาดูกันว่าเกิดอะไรขึ้นในสูตรนี้:
- FIND สแกนคอลัมน์ C ( C2:C19 ) สำหรับบันทึกจาก E2 ( cherry ) โดยพิจารณาจากตัวอักษร เมื่อพบแล้ว สูตรจะ "ทำเครื่องหมาย" เซลล์นั้นด้วยตัวเลข — 1 .
- MATCH ค้นหาเครื่องหมายนี้ — 1 — ในคอลัมน์เดียวกัน ( C ) และส่งจำนวนแถวให้กับ INDEX
- INDEX ลงมาที่แถวนั้นในคอลัมน์ B ( B2:B19 ) และดึงข้อมูลที่จำเป็นมาให้คุณ
- เมื่อคุณสร้างสูตรเสร็จแล้ว ให้กด Ctrl+Shift+Enter เพื่อเพิ่ม ArrayFormula ที่จุดเริ่มต้น จำเป็นเพราะหากไม่มี FIND จะไม่สามารถค้นหาในอาร์เรย์ (ในเซลล์มากกว่าหนึ่งเซลล์) หรือคุณสามารถพิมพ์' ArrayFormula ' จากแป้นพิมพ์ของคุณ
ตัวอย่างที่ 2. EXACT สำหรับ Vlookup ที่คำนึงถึงตัวพิมพ์เล็กและใหญ่
หากคุณแทนที่ FIND ด้วย EXACT ตัวหลังจะค้นหาระเบียน ด้วยอักขระเดียวกันทุกประการ รวมถึงตัวพิมพ์ด้วย
ข้อแตกต่างเพียงอย่างเดียวคือ EXACT "ทำเครื่องหมาย" ที่ตรงกับ TRUE แทนที่จะเป็นตัวเลข 1 ดังนั้น อาร์กิวเมนต์แรกสำหรับ MATCH ควรเป็น TRUE :
=ArrayFormula(INDEX(B2:B19, MATCH(TRUE, EXACT(E2, C2:C19), 0)))
Google ชีต INDEX MATCH ที่มีหลายเกณฑ์
จะเกิดอะไรขึ้นหากมีหลายเงื่อนไขตามที่คุณต้องการดึงบันทึก
มาตรวจสอบราคาของ เชอร์รี่ ที่ขายใน ถัง PP และ ใกล้จะหมดแล้ว :
ฉันจัดเรียงเกณฑ์ทั้งหมดในรายการแบบเลื่อนลงในคอลัมน์ F และมันคือ Google ชีต INDEX MATCH ที่รองรับหลายเกณฑ์ ไม่ใช่ VLOOKUP นี่คือสูตรที่คุณต้องใช้:
=ArrayFormula(INDEX(B2:B24, MATCH(CONCATENATE(F2:F4), A2:A24&C2:C24&D2:D24, 0),))
อย่าตกใจ! :) ตรรกะของมันค่อนข้างง่ายจริงๆ:
- CONCATENATE(F2:F4) รวมระเบียนทั้งสามจากเซลล์ที่มีเกณฑ์เป็นสตริงเดียวดังนี้:
CherryPP bucket กำลังจะหมด
นี่คือ search_key สำหรับ MATCH หรืออีกนัยหนึ่งคือสิ่งที่คุณกำลังมองหาในตาราง
- A2:A24&C2:C24&D2:D24 เป็น ช่วง สำหรับฟังก์ชัน MATCH ที่จะพิจารณา เนื่องจากเกณฑ์ทั้งสามนี้เกิดขึ้นใน สามคอลัมน์ที่แยกจากกัน วิธีที่คุณจะรวมเข้าด้วยกัน:
CherryCardboard trayIn stock
CherryFilm packagingOut of stock
CherryPP bucketRunning out
etc .
- อาร์กิวเมนต์สุดท้ายใน MATCH — 0 — ทำให้สามารถค้นหาค่าที่ตรงกันทั้งหมดสำหรับ CherryPP bucketRunning out จากแถวทั้งหมดของคอลัมน์ที่รวมกัน อย่างที่คุณเห็น มันอยู่ในแถวที่ 3
- จากนั้น INDEX ก็ทำสิ่งนั้น: ดึงข้อมูลระเบียนจากแถวที่ 3 ของคอลัมน์ B
- ArrayFormula ใช้เพื่ออนุญาตให้ฟังก์ชันอื่นๆ ทำงานกับอาร์เรย์
เคล็ดลับ หากสูตรของคุณไม่พบข้อมูลที่ตรงกัน ระบบจะส่งกลับข้อผิดพลาด เพื่อหลีกเลี่ยงปัญหานี้ คุณสามารถรวมสูตรทั้งหมดนี้ใน IFERROR (กำหนดให้เป็นอาร์กิวเมนต์แรก) และป้อนสิ่งที่คุณต้องการดูในเซลล์แทนข้อผิดพลาดเป็นอาร์กิวเมนต์ที่สอง:
=IFERROR(ArrayFormula(INDEX(B2:B27, MATCH(CONCATENATE(F2:F4), A2:A27&C2:C27&D2:D27, 0),)), "Not found")
ทางเลือกที่ดีกว่าสำหรับ INDEX MATCH ใน Google ชีต — การจับคู่ VLOOKUP หลายรายการ
ไม่ว่าคุณต้องการฟังก์ชันการค้นหาแบบใด VLOOKUP หรือ INDEX MATCH ก็มีทางเลือกอื่นที่ดีกว่าสำหรับทั้งคู่
หลายรายการ VLOOKUP Matches เป็นส่วนเสริมพิเศษสำหรับ Google ชีตที่ออกแบบมาเพื่อ:
- ค้นหาโดยไม่มีสูตร
- ค้นหาในทุกทิศทาง
- ค้นหาตามเงื่อนไขที่หลากหลายสำหรับประเภทข้อมูลที่แตกต่างกัน : ข้อความ ตัวเลข วันที่ เวลา ฯลฯ
- ดึงข้อมูลที่ตรงกันหลายรายการ มากเท่าที่คุณต้องการ (หากมีจำนวนมากในตารางของคุณ)
อินเทอร์เฟซตรงไปตรงมา คุณจึงไม่ต้องสงสัยว่าคุณกำลังทำอยู่หรือไม่ทุกอย่างถูกต้อง:
- เลือกช่วงแหล่งที่มา
- กำหนดจำนวนการจับคู่และคอลัมน์ที่จะส่งคืน
- ปรับแต่งเงื่อนไขอย่างละเอียดโดยใช้ตัวดำเนินการที่กำหนดไว้ล่วงหน้า ( มี, =, ไม่ว่าง , ระหว่าง เป็นต้น)
คุณยังสามารถ:
- ดูตัวอย่างผลลัพธ์
- ตัดสินใจว่าจะวางที่ใด
- และอย่างไร: เป็นสูตรหรือเพียงแค่ค่า
อย่าพลาดโอกาสในการตรวจสอบส่วนเสริมนี้ ดำเนินการต่อและติดตั้งจาก Google Workspace Marketplace หน้าบทช่วยสอนจะอธิบายรายละเอียดทุกตัวเลือก
เรายังเตรียมวิดีโอแนะนำพิเศษ:
แล้วพบกันในความคิดเห็นด้านล่างหรือในบทความหน้า ;)