ค้นหาการจับคู่ข้อความบางส่วนใน Excel (5 วิธี)

  • แบ่งปันสิ่งนี้
Hugh West

ใน Microsoft Excel มีวิธีที่มีประโยชน์หลายวิธีในการค้นหาข้อความบางส่วนที่ตรงกัน แล้วแยกข้อมูลตามการจับคู่นั้น ในบทความนี้ คุณจะได้เรียนรู้วิธีการที่เหมาะสมทั้งหมดเพื่อค้นหาข้อความที่ตรงกันบางส่วนใน Excel ด้วยการรวมฟังก์ชันการค้นหาและสูตรต่างๆ เข้าด้วยกัน

ดาวน์โหลดสมุดงานแบบฝึกหัด

คุณสามารถดาวน์โหลดสมุดงาน Excel ที่เราใช้ในการเตรียมบทความนี้

ค้นหาการจับคู่ข้อความบางส่วน.xlsx

5 วิธีการที่เหมาะสมในการ ค้นหาการจับคู่ข้อความบางส่วนใน Excel

1. การจับคู่ข้อความบางส่วนด้วย VLOOKUP ใน Excel

ในภาพต่อไปนี้ มีตารางที่มีคะแนนในวิชาต่างๆ สำหรับนักเรียนบางคนในการสอบ จากการจับคู่บางส่วนของข้อความจาก คอลัมน์ B เราจะแยกเครื่องหมายในหัวข้อสำหรับนักเรียน

ตัวอย่างเช่น เราสามารถค้นหาข้อความ “ติ๊กถูก” ในคอลัมน์ ชื่อ จากการจับคู่บางส่วน เราจะค้นหาชื่อจริงของนักเรียนคนนั้น จากนั้นแยกเครื่องหมายทางคณิตศาสตร์ของนักเรียนที่เกี่ยวข้องออกจากตาราง

ในตัวอย่างนี้ เราจะใช้ ฟังก์ชัน VLOOKUP ที่นี่ เนื่องจากฟังก์ชันนี้ค้นหาค่าในคอลัมน์ซ้ายสุดของตาราง แล้วส่งกลับค่าในแถวเดียวกันจากคอลัมน์ที่ระบุ สูตรทั่วไปของฟังก์ชัน VLOOKUP นี้คือ:

=VLOOKUP(lookup_value, table_array, col_index_number,[range_lookup])

เนื่องจากเราจะดึงคะแนนในวิชาคณิตศาสตร์ของนักเรียนที่ชื่อมีข้อความ “ติ๊ก” ดังนั้นสูตรที่ต้องการในเอาต์พุต เซลล์ D17 จะเป็น:

=VLOOKUP(D16,B5:G14,5,FALSE)

หรือ

=VLOOKUP("*Tick*",B5:G14,5,FALSE)

หลังจากกด Enter คุณจะเห็นเครื่องหมายทางคณิตศาสตร์สำหรับ Tickner ทันที

อ่านเพิ่มเติม: วิธีใช้ VLOOKUP สำหรับการจับคู่บางส่วนใน Excel (4 วิธี)

2. ค้นหาการจับคู่ข้อความบางส่วนด้วยฟังก์ชัน INDEX-MATCH

ตอนนี้เราจะใช้ฟังก์ชัน INDEX และ MATCH ร่วมกัน ฟังก์ชัน INDEX จะส่งกลับค่าหรือการอ้างอิงของเซลล์ที่จุดตัดของแถวและคอลัมน์เฉพาะในช่วงที่กำหนด และฟังก์ชัน MATCH จะส่งกลับตำแหน่งสัมพัทธ์ของรายการในอาร์เรย์ที่ตรงกับค่าที่ระบุในลำดับที่ระบุ

เราจะพบผลลัพธ์ที่คล้ายกันกับวิธีก่อนหน้า ดังนั้น ในส่วนนี้ สูตรที่จำเป็นในเอาต์พุต เซลล์ D18 จะเป็น:

=INDEX(B5:G14,MATCH(D17,B5:B14,0),MATCH(D17,B4:G4,0))

หรือ

=INDEX(B5:G14,MATCH("*Tick*",B5:B14,0),MATCH(D17,B4:G4,0))

ตอนนี้กด Enter และสูตรจะคืนค่า 91- เครื่องหมายที่ Tickner ได้รับในวิชาคณิตศาสตร์

ในสูตรนี้ ฟังก์ชัน MATCH สองฟังก์ชันจะกำหนดหมายเลขแถวและคอลัมน์ของชื่อนักเรียนและชื่อเรื่องตามลำดับ ฟังก์ชัน INDEX จะส่งกลับค่าที่จุดตัดของแถวและหมายเลขคอลัมน์ที่กำหนดไว้จากอาร์เรย์

อ่านเพิ่มเติม: วิธีใช้ INDEX และ Match for Partial Match (2 วิธี)

3. XLOOKUP ที่มีอักขระตัวแทนเพื่อค้นหาการจับคู่ข้อความบางส่วน

ฟังก์ชัน XLOOKUP จะค้นหาช่วงหรืออาร์เรย์สำหรับการจับคู่ และส่งกลับรายการที่เกี่ยวข้องจากช่วงหรืออาร์เรย์ที่สอง สูตรทั่วไปของฟังก์ชันนี้คือ:

=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])

ตอนนี้ เรา' จะใช้ฟังก์ชัน XLOOKUP นี้โดยตรงเพื่อแยกเครื่องหมายในวิชาคณิตศาสตร์ของนักเรียนที่ชื่อมีข้อความ “ติ๊ก” อยู่ข้างใน

ในเอาต์พุต เซลล์ D18 สูตรที่ต้องการจะเป็น:

=XLOOKUP("*"&D16&"*",B5:B14,F5:F14,,2)

หลังจากกด Enter คุณจะแสดงผลคล้ายกับที่พบ ในสองตัวอย่างก่อนหน้านี้

ในฟังก์ชันนี้ เราใช้ 2 เป็นอาร์กิวเมนต์ [match_mode] ที่แสดงถึงการจับคู่อักขระตัวแทน หากคุณไม่ได้ใช้อาร์กิวเมนต์นี้ ฟังก์ชันจะส่งกลับข้อผิดพลาด #N/A ตามค่าเริ่มต้น ฟังก์ชันจะค้นหาการจับคู่แบบตรงทั้งหมดแทนการจับคู่อักขระตัวแทน

4. การรวมฟังก์ชัน XLOOKUP, ISNUMBER และ SEARCH เพื่อค้นหาการจับคู่ข้อความบางส่วน

หากคุณเลือกที่จะหลีกเลี่ยงการใช้อักขระตัวแทนในฟังก์ชันการค้นหา คุณต้องใช้สูตรผสมของ XLOOKUP , ISNUMBER และ SEARCH ฟังก์ชัน

ฟังก์ชัน ISNUMBER จะตรวจสอบว่าค่าเซลล์เป็นค่าตัวเลขหรือไม่ ฟังก์ชัน SEARCH จะส่งคืนจำนวนอักขระที่พบอักขระเฉพาะหรือสตริงข้อความเป็นครั้งแรก โดยอ่านจากซ้ายไปขวา สูตรทั่วไปของฟังก์ชันทั้งสองนี้มีดังต่อไปนี้:

=ISNUMBER(value)

และ

=SEARCH(find_text, within_text , [search_num])

ดังนั้น สูตรที่จำเป็นในเอาต์พุต เซลล์ D18 จะเป็น:

=XLOOKUP(TRUE,ISNUMBER(SEARCH(D16,B5:B14)),F5:F14)

หลังจากกด Enter ค่าผลลัพธ์จะแสดงทันที

🔎 สูตรทำอย่างไร ทำงานหรือไม่

  • ฟังก์ชัน SEARCH ค้นหาข้อความ 'ติ๊ก' ในช่วงของเซลล์ B5:B14 และส่งคืนอาร์เรย์ของ:

{#VALUE !;#VALUE !;1;#VALUE !;#VALUE !;#VALUE !;#VALUE !;#VALUE !;# VALUE!;#VALUE!}

  • จากนั้นฟังก์ชัน ISNUMBER จะค้นหาค่าตัวเลขในอาร์เรย์นั้นและส่งกลับค่าบูลีนอาร์เรย์อื่น:
  • <19

    {FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}

    • ฟังก์ชัน XLOOKUP จากนั้น ค้นหาค่าบูลีนที่ระบุ - จริง ในอาร์เรย์ที่พบในขั้นตอนก่อนหน้า และแยกหมายเลขแถวของค่านั้นในอาร์เรย์ของ B5:B1 4 .
    • สุดท้าย ตามอาร์เรย์ส่งคืนของ F5:F14 ฟังก์ชัน XLOOKUP จะดึงคะแนนทางคณิตศาสตร์ของนักเรียนที่มีชื่อ ข้อความ- 'ติ๊กถูก' ข้างใน

    5. การใช้ฟังก์ชัน FILTER, ISNUMBER และ SEARCH เพื่อค้นหาการจับคู่ข้อความบางส่วน

    ในวิธีสุดท้าย เราจะใช้ฟังก์ชัน FILTER, ISNUMBER และ SEARCH ร่วมกัน ฟังก์ชัน กรอง ที่นี่จะกรองช่วงของเซลล์หรืออาร์เรย์ตามเงื่อนไขที่กำหนด สูตรทั่วไปของฟังก์ชันนี้คือ:

    =FILTER(array, include, [if_empty])

    เนื่องจากเรากำลังจัดการกับชุดข้อมูลที่คล้ายคลึงกัน ดังนั้น สูตรที่มีฟังก์ชัน กรอง ในเอาต์พุต เซลล์ D18 จะเป็น:

    =FILTER(F5:F14,ISNUMBER(SEARCH(D16,B5:B14)))

    ตอนนี้กด Enter และคุณจะได้รับค่าผลลัพธ์ทันที

    ในสูตรนี้ ฟังก์ชัน กรอง จะกรองช่วงของเซลล์ - F5:F14 ขึ้นอยู่กับค่าบูลีน- จริง เท่านั้น การรวมกันของฟังก์ชัน ISNUMBER และ SEARCH ส่งคืนอาร์เรย์ของค่าบูลีน - TRUE และ FALSE และกำหนดอาร์กิวเมนต์ที่สอง ( รวม) ของฟังก์ชัน กรอง

    สรุปคำ

    ฉันหวังว่าวิธีการทั้งหมดที่กล่าวถึงข้างต้นจะช่วยให้คุณสามารถดึงข้อมูลได้ ตามข้อความบางส่วนที่ตรงกันในสเปรดชีต Excel ของคุณ หากคุณมีคำถามหรือข้อเสนอแนะ โปรดแจ้งให้เราทราบในส่วนความคิดเห็น หรือคุณสามารถตรวจสอบบทความอื่น ๆ ของเราเกี่ยวกับฟังก์ชันของ Excel ได้ในเว็บไซต์นี้

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