ค้นหาแบบสองทางด้วย INDEX-MATCH-MATCH
ค้นหาค่าที่จุดตัดของแถวและคอลัมน์ที่ตรงกัน
ค้นหาแบบสองทางด้วย INDEX-MATCH-MATCH เป็นบทเรียน Excel Formulas Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Excel Formulas Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Excel Formulas Academy มีบทเรียนทั้งหมด 4 บทเรียน
ปัญหาการค้นหาแบบสองทิศทาง
ลองนึกภาพตารางยอดขายรายเดือนที่มีภูมิภาคเรียงลงมาตามด้านซ้าย และมีเดือนเรียงไปตามด้านบน คุณต้องการตัวเลข ณ จุดที่ภูมิภาคที่เลือกตัดกับเดือนที่เลือก
การค้นหาทั่วไปจะค้นหาค่าตามทิศทางเดียว การค้นหาแบบสองทิศทางจะค้นหาทั้งสองทิศทางพร้อมกัน โดยค้นหาแถวและคอลัมน์ที่ถูกต้อง แล้วส่งคืนค่าที่อยู่ตรงจุดตัด
เครื่องมือคลาสสิกสำหรับงานนี้คือ INDEX ที่ใช้ร่วมกับการเรียก MATCH สองครั้ง ซึ่งมักเขียนเป็น INDEX-MATCH-MATCH
สรุป: INDEX ทำอะไรได้บ้าง
INDEX ส่งคืนค่าจากช่วงตามตำแหน่ง รูปแบบเต็มคือ INDEX(array, row_num, column_num)
ระบุบล็อกเซลล์ หมายเลขแถว และหมายเลขคอลัมน์ แล้วฟังก์ชันจะส่งคืนค่าที่ตำแหน่งนั้น ตัวอย่างเช่น ในตารางที่เริ่มต้นที่ B2 การขอแถวที่ 3 และคอลัมน์ที่ 2 จะส่งคืนค่าที่อยู่ลงไป 3 แถวและข้ามไป 2 คอลัมน์ภายในบล็อกนั้น
แนวคิดสำคัญคือ INDEX ต้องการตำแหน่ง ไม่ใช่ป้ายกำกับ และ MATCH มีหน้าที่ให้ตำแหน่งดังกล่าว
=INDEX(B2:E5, 3, 2)สรุป: MATCH ทำอะไรได้บ้าง
MATCH ค้นหาตำแหน่งของค่าภายในแถวหรือคอลัมน์เดียว รูปแบบคือ MATCH(lookup_value, lookup_array, match_type)
ใช้ 0 เป็นประเภทการจับคู่เพื่อค้นหาค่าที่ตรงกันทุกประการ ผลลัพธ์เป็นตัวเลขที่บอกว่าค่านั้นอยู่ตำแหน่งใด โดยเริ่มนับจาก 1
หาก "East" เป็นรายการที่สองในช่วง A2:A5 MATCH จะส่งคืน 2 และเลข 2 นี้สามารถใช้เป็นหมายเลขแถวสำหรับ INDEX ได้
=MATCH("East", A2:A5, 0)แนวคิดการใช้ MATCH สองครั้ง
สำหรับการค้นหาแบบสองทิศทาง ให้เรียกใช้ MATCH สองครั้ง:
- MATCH หนึ่งครั้งเพื่อค้นหาว่าภูมิภาคอยู่ในแถวใด
- MATCH อีกครั้งเพื่อค้นหาว่าเดือนอยู่ในคอลัมน์ใด
จากนั้นส่งตัวเลขทั้งสองให้ INDEX MATCH สำหรับแถวจะค้นหาช่วงป้ายกำกับแนวตั้ง ส่วน MATCH สำหรับคอลัมน์จะค้นหาแถวหัวตารางแนวนอน
ผลลัพธ์คือเซลล์เดียวที่อยู่ตรงจุดตัดของแถวและคอลัมน์นั้น
การจัดเตรียมตาราง
ลองนึกภาพเค้าโครงนี้ ป้ายกำกับภูมิภาคอยู่ใน A2:A5 (East, West, North, South) หัวตารางเดือนอยู่ใน B1:D1 (Jan, Feb, Mar) และตัวเลขยอดขายจริงอยู่ใน B2:D5
เซลล์ข้อมูลเข้าสองเซลล์ใช้ควบคุมการค้นหา: G1 มีภูมิภาคที่คุณต้องการ และ G2 มีเดือนที่คุณต้องการ
เป้าหมายของเราคือสูตรเดียวที่อ่านค่า G1 และ G2 แล้วส่งคืนตัวเลขยอดขายที่ตรงกันจาก B2:D5
การสร้าง MATCH สำหรับแถว
ขั้นแรกให้ค้นหาภูมิภาค MATCH จะค้นหาค่าที่พิมพ์ใน G1 จากรายการป้ายกำกับแนวตั้ง A2:A5
หาก G1 มีค่า "North" และ North เป็นป้ายกำกับลำดับที่สาม MATCH นี้จะส่งคืน 3
ตัวเลขนี้จะบอก INDEX ว่าต้องอ่านแถวใดของบล็อกข้อมูล โปรดสังเกตว่าเราค้นหา A2:A5 ซึ่งมีเฉพาะป้ายกำกับ ไม่ใช่ข้อมูล ดังนั้นตำแหน่งที่ 3 จึงตรงกับแถวข้อมูลที่สาม
=MATCH(G1, A2:A5, 0)การสร้าง MATCH สำหรับคอลัมน์
ถัดไปให้ค้นหาเดือน MATCH นี้จะค้นหาค่าใน G2 จากแถวหัวตารางแนวนอน B1:D1
หาก G2 มีค่า "Feb" และ Feb เป็นหัวตารางลำดับที่สอง MATCH จะส่งคืน 2
ตัวเลขนี้จะกลายเป็นตำแหน่งคอลัมน์สำหรับ INDEX เช่นเดียวกับกรณีแถว เราค้นหาเฉพาะหัวตาราง B1:D1 เพื่อให้ตำแหน่งตรงกับคอลัมน์ข้อมูลใน B2:D5
=MATCH(G2, B1:D1, 0)รวมทุกส่วนเข้าด้วยกัน
ตอนนี้ให้ครอบการเรียก MATCH ทั้งสองครั้งไว้ภายใน INDEX บล็อกข้อมูล B2:D5 คืออาร์เรย์ MATCH สำหรับแถวจะระบุหมายเลขแถว และ MATCH สำหรับคอลัมน์จะระบุหมายเลขคอลัมน์
เมื่อ G1 เป็น "North" และ G2 เป็น "Feb" MATCH สำหรับแถวจะให้ค่า 3 และ MATCH สำหรับคอลัมน์จะให้ค่า 2 ดังนั้น INDEX จะส่งคืนค่าที่แถว 3 คอลัมน์ 2 ของ B2:D5
สูตรเดียวนี้คือการค้นหาแบบสองทิศทางที่สมบูรณ์
=INDEX(B2:D5, MATCH(G1, A2:A5, 0), MATCH(G2, B1:D1, 0))ดูขั้นตอนการคำนวณ
สมมติว่า B2:D5 มีข้อมูลดังนี้: แถวของ North คือ ม.ค. 50 ก.พ. 80 มี.ค. 65
- MATCH("North", A2:A5, 0) ส่งคืนค่า 3
- MATCH("Feb", B1:D1, 0) ส่งคืนค่า 2
- INDEX(B2:D5, 3, 2) อ่านแถวที่ 3 คอลัมน์ที่ 2 และส่งคืนค่า 80
เปลี่ยน G1 เป็น "East" หรือ G2 เป็น "Mar" แล้วสูตรทั้งหมดจะคำนวณใหม่ทันที นี่คือพลังของการใช้ MATCH สองครั้งเพื่อกำหนดค่าให้ INDEX
ทำไมไม่ใช้ VLOOKUP อย่างเดียว
VLOOKUP ค้นหาได้เฉพาะคอลัมน์แรก และส่งคืนค่าที่อยู่ถัดไปทางขวาเป็นจำนวนคอลัมน์ที่กำหนดตายตัว หากต้องการเปลี่ยนเดือน คุณจะต้องเขียนดัชนีคอลัมน์แบบตายตัวหรือคำนวณเอง
INDEX-MATCH-MATCH เปิดให้เลือกทั้งแถวและคอลัมน์แบบไดนามิกตามป้ายกำกับ คุณสามารถสลับลำดับคอลัมน์หรือเพิ่มเดือนใหม่ได้ และสูตรยังคงทำงาน เพราะสูตรจับคู่จากข้อความหัวตาราง ไม่ใช่จากจำนวนคอลัมน์ที่ตายตัว
หลีกเลี่ยงช่วงข้อมูลที่ไม่ตรงกัน
ข้อผิดพลาดที่พบบ่อยที่สุดคือการใช้ช่วงข้อมูลที่มีขนาดไม่ตรงกัน ช่วงข้อมูลของ MATCH สำหรับแถวต้องมี ความสูงเท่ากันกับบล็อกข้อมูลของ INDEX และช่วงข้อมูลของ MATCH สำหรับคอลัมน์ต้องมี ความกว้างเท่ากัน
ในที่นี้ A2:A5 มีความสูง 4 แถว และ B2:D5 ก็มีความสูง 4 แถวเช่นกัน ดังนั้นผลลัพธ์ MATCH ที่เป็น 3 จึงหมายถึงแถวข้อมูลที่สามจริง ๆ หากเผลอค้นหาใน A1:A5 ซึ่งรวมแถวหัวตารางด้วย ตำแหน่งจะเลื่อนไปหนึ่งแถวและได้เซลล์ที่ไม่ถูกต้อง
=INDEX(B2:D5, MATCH(G1, A2:A5, 0), MATCH(G2, B1:D1, 0))ตรวจสอบความเข้าใจอย่างรวดเร็ว
ทดสอบความเข้าใจเกี่ยวกับรูปแบบการค้นหาแบบสองทาง
สรุปบทเรียน
คุณได้เรียนรู้รูปแบบการค้นหาแบบสองทาง:
- INDEX ส่งคืนค่าตามตำแหน่งแถวและคอลัมน์ภายในบล็อก
- MATCH ครั้งแรกค้นหาแถวจากป้ายกำกับแนวตั้ง
- MATCH ครั้งที่สองค้นหาคอลัมน์จากหัวตารางแนวนอน
สูตรรวม =INDEX(data, MATCH(row), MATCH(col)) อ่านอินพุตสองค่าและส่งคืนค่าที่จุดตัดของทั้งสองค่า โปรดใช้ช่วง MATCH ที่มีขนาดเท่ากับบล็อกข้อมูล เพื่อหลีกเลี่ยงตำแหน่งที่ไม่ตรงกัน
=INDEX(B2:D5, MATCH(G1, A2:A5, 0), MATCH(G2, B1:D1, 0))คำถามที่พบบ่อย
บทเรียน “ค้นหาแบบสองทางด้วย INDEX-MATCH-MATCH” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ค้นหาแบบสองทางด้วย INDEX-MATCH-MATCH” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Excel Formulas Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Excel Formulas Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ค้นหาแบบสองทางด้วย INDEX-MATCH-MATCH”
ค้นหาค่าที่จุดตัดของแถวและคอลัมน์ที่ตรงกัน คุณปฏิบัติ Excel Formulas Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Excel Formulas Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Excel Formulas Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “ค้นหาแบบสองทางด้วย INDEX-MATCH-MATCH” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Excel Formulas Academy นี้ได้ไหม
ได้ บทเรียน Excel Formulas Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ค้นหาแบบสองทางด้วย INDEX-MATCH-MATCH
- ค้นหาค่าที่ตรงกันรายการสุดท้าย
- ค้นหาหลายเงื่อนไขด้วย INDEX-MATCH
- การจับคู่โดยประมาณสำหรับตารางแบ่งระดับ