วิธีทำ Vlookup ที่คำนึงถึงตัวพิมพ์เล็กและใหญ่ใน Excel - ตัวอย่างสูตร

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

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

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

ต่อไปนี้คือตัวอย่างสั้นๆ ที่แสดงให้เห็นว่า VLOOKUP ไม่สามารถแยกแยะตัวพิมพ์ใหญ่หรือเล็กได้ สมมติว่าคุณมี "บิล" ในเซลล์ A2 และ "บิล" ใน A4 สูตรด้านล่างจะจับ "บิล" เพราะมันมาก่อนในอาร์เรย์การค้นหา และส่งกลับค่าที่ตรงกันจาก B2

=VLOOKUP("Bill", A2:B4, 2, FALSE)

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

    สูตร VLOOKUP ที่คำนึงถึงตัวพิมพ์เล็กและใหญ่

    ตามที่กล่าวไว้ข้างต้น สูตร VLOOKUP ปกติ ไม่รู้จักตัวอักษรตัวพิมพ์ อย่างไรก็ตาม มีวิธีทำให้ Excel VLOOKUP คำนึงถึงตัวพิมพ์เล็กและใหญ่ตามที่แสดงในตัวอย่างด้านล่าง

    สมมติว่าคุณมี รหัสรายการ ในคอลัมน์ A และต้องการดึงราคาและความคิดเห็นของรายการ จากคอลัมน์ B และ C ปัญหาคือ ID มีทั้งตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ตัวอย่างเช่น ค่าใน A4 (001Tvci3u) และ A5 (001Tvci3U) แตกต่างกันเฉพาะในอักขระตัวสุดท้าย "u" และ "U" ตามลำดับ

    เมื่อค้นหา "001Tvci3 U " สูตร VLOOKUP มาตรฐานจะแสดงผล $90 ซึ่งเชื่อมโยงกับ "001Tvci3 u " เพราะมันมาก่อน "001Tvci3 U " ในอาร์เรย์การค้นหา แต่นี่ไม่ใช่สิ่งที่คุณต้องการใช่ไหม

    =VLOOKUP(F2, A2:C7, 2, FALSE)

    หากต้องการค้นหาแบบคำนึงถึงตัวพิมพ์เล็กและใหญ่ใน Excel เราจะรวม VLOOKUP, CHOOSE และ EXACT ฟังก์ชัน:

    VLOOKUP(TRUE, CHOOSE({1,2}, EXACT( lookup_value, lookup_array), return_array), 2, 0)

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

    ในกรณีของเรา สูตรจริงจะเป็นดังนี้

    ในการดึงราคาใน F3:

    =VLOOKUP(TRUE, CHOOSE({1,2}, EXACT(F2, A2:A7), B2:B7), 2, FALSE) <3

    หากต้องการดึงความคิดเห็น F4:

    =VLOOKUP(TRUE, CHOOSE({1,2}, EXACT(F2, A2:A7), C2:C7), 2, FALSE)

    หมายเหตุ ใน Excel เวอร์ชันอื่นที่ไม่ใช่ Excel 365 การทำงานนี้เป็นสูตรอาร์เรย์เท่านั้น ดังนั้นอย่าลืมกด Ctrl + Shift + Enter เพื่อทำให้ถูกต้อง ใน Excel 365 เนื่องจากรองรับอาร์เรย์แบบไดนามิก จึงทำงานเป็นสูตรปกติได้ด้วย

    สูตรนี้ทำงานอย่างไร:

    ส่วนหลักที่ใช้เคล็ดลับคือสูตร CHOOSE ที่มี EXACT ซ้อนกัน:

    CHOOSE({1,2}, EXACT(F2, A2:A7), C2:C7)

    ที่นี่ ฟังก์ชัน EXACT จะเปรียบเทียบค่าใน F2 กับแต่ละค่าใน A2:A7 และส่งกลับค่า TRUE หากค่าเหล่านั้นเหมือนกันทุกประการ รวมทั้งตัวพิมพ์เล็กและใหญ่FALSE มิฉะนั้น:

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

    สำหรับอาร์กิวเมนต์ index_num ของ CHOOSE เราใช้ค่าคงที่อาร์เรย์ {1,2} ผลที่ได้คือ ฟังก์ชันจะรวมค่าตรรกะจากอาร์เรย์ด้านบนและค่าจาก C2:C7 เป็นอาร์เรย์สองมิติดังนี้:

    {FALSE,155;FALSE,186;FALSE,90;TRUE,54;FALSE,159;FALSE,28}

    ฟังก์ชัน VLOOKUP จะดึงค่าจากตรงนั้น และค้นหาค่าการค้นหา (ซึ่งเป็น TRUE) ในคอลัมน์ที่ 1 ของอาร์เรย์ 2 มิติ (แสดงด้วยค่าตรรกะ) และส่งกลับค่าที่ตรงกันจากคอลัมน์ที่ 2 ซึ่งเป็นราคาที่เรากำลังมองหา:

    VLOOKUP(TRUE, {FALSE,155;FALSE,186;FALSE,90;TRUE,54;FALSE,159;FALSE,28}, 2, 0)

    สูตร XLOOKUP ที่คำนึงถึงตัวพิมพ์เล็กและใหญ่

    สมาชิก Microsoft 365 สามารถทำการค้นหาที่คำนึงถึงตัวพิมพ์เล็กและใหญ่ใน Excel ด้วยสูตรที่ง่ายกว่า อย่างที่คุณเดาได้ ฉันกำลังพูดถึงตัวตายตัวแทนที่มีประสิทธิภาพมากกว่าของ VLOOKUP นั่นคือฟังก์ชัน XLOOKUP

    เนื่องจาก XLOOKUP ดำเนินการค้นหาและส่งคืนอาร์เรย์แยกกัน เราจึงไม่ต้องการเคล็ดลับอาร์เรย์สองมิติจากก่อนหน้านี้ ตัวอย่าง. เพียงใช้ EXACT สำหรับอาร์กิวเมนต์ lookup_array :

    XLOOKUP(TRUE, EXACT( lookup_value , lookup_array ), return_array , " ไม่พบ") ​​

    อาร์กิวเมนต์สุดท้าย ("ไม่พบ") ​​เป็นทางเลือก เป็นเพียงการกำหนดค่าที่จะส่งคืนหากไม่พบรายการที่ตรงกัน หากคุณละเว้น ข้อผิดพลาด #N/A มาตรฐานจะถูกส่งกลับในกรณีที่สูตรไม่พบอะไรเลย

    สำหรับตารางตัวอย่างของเรา สูตรเหล่านี้เป็นสูตร XLOOKUP ที่คำนึงถึงตัวพิมพ์เล็กและใหญ่ที่จะใช้

    หากต้องการรับราคาใน F3:

    =XLOOKUP(TRUE, EXACT(F2, A2:A7), B2:B7, "Not found")

    หากต้องการแยกไฟล์ความคิดเห็น F4:

    =XLOOKUP(TRUE, EXACT(F2, A2:A7), C2:C7, "Not found")

    สูตรนี้ทำงานอย่างไร:

    เหมือนในตัวอย่างก่อนหน้า ส่งคืนค่า EXACT อาร์เรย์ของค่า TRUE และ FALSE โดยที่ TRUE แสดงถึงการจับคู่ที่คำนึงถึงตัวพิมพ์เล็กและใหญ่ XLOOKUP ค้นหาอาร์เรย์ด้านบนเพื่อหาค่า TRUE และส่งกลับค่าที่ตรงกันจาก return_array โปรดทราบว่าหากมีค่าเหมือนกันทุกประการ 2 ค่าขึ้นไปในคอลัมน์การค้นหา (รวมถึงตัวพิมพ์ใหญ่และเล็ก) สูตรจะแสดงค่าที่ตรงกันครั้งแรก

    ข้อจำกัดของ XLOOKUP : ใช้ได้เท่านั้น ใน Excel 365 และ Excel 2021

    SUMPRODUCT - การค้นหาที่คำนึงถึงตัวพิมพ์เล็กและใหญ่เพื่อส่งคืนตัวเลขที่ตรงกัน

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

    อย่างที่คุณคงทราบแล้วว่า SUMPRODUCT ของ Excel จะคูณส่วนประกอบในอาร์เรย์ที่ระบุและส่งคืนผลรวมของผลิตภัณฑ์ เนื่องจากเราต้องการค้นหาตามตัวพิมพ์เล็กและใหญ่ เราจึงใช้ฟังก์ชัน EXACT เพื่อรับอาร์เรย์แรก:

    =SUMPRODUCT((EXACT(A2:A7,F2) * (B2:B7)))

    ขออภัย ฟังก์ชัน SUMPRODUCT ไม่สามารถส่งคืนข้อความที่ตรงกันเนื่องจากไม่สามารถคูณค่าข้อความได้ ในกรณีนี้ คุณจะได้รับ #VALUE! ข้อผิดพลาดเช่นในเซลล์ F4 ในภาพหน้าจอด้านล่าง:

    สูตรนี้ทำงานอย่างไร:

    เช่นเดียวกับในตัวอย่าง VLOOKUP ตรง ตรวจสอบฟังก์ชั่นค่าใน F2 เทียบกับค่าทั้งหมดใน A2:A7 และส่งกลับ TRUE สำหรับการจับคู่ที่ตรงตามตัวพิมพ์เล็กและใหญ่ FALSE มิฉะนั้น:

    SUMPRODUCT(({FALSE;FALSE;FALSE;TRUE;FALSE;FALSE}*{155;186;90;54;159;28}))

    ในสูตรส่วนใหญ่ Excel จะประเมิน TRUE เป็น 1 และ FALSE เป็น 0 ดังนั้น เมื่อ SUMPRODUCT คูณองค์ประกอบของสองอาร์เรย์ในตำแหน่งเดียวกัน ค่าที่ไม่ตรงกัน (FALSE) ทั้งหมดจะกลายเป็นศูนย์:

    SUMPRODUCT({0;0;0;54;0;0})

    ผลลัพธ์ที่ได้คือสูตรจะส่งกลับตัวเลขจาก คอลัมน์ B ที่สอดคล้องกับการจับคู่ที่ตรงตามตัวพิมพ์เล็กและใหญ่ในคอลัมน์ A

    ข้อจำกัดของ SUMPRODUCT : สามารถส่งคืนค่าตัวเลขเท่านั้น

    INDEX MATCH - การค้นหาที่คำนึงถึงตัวพิมพ์เล็กและใหญ่สำหรับ ข้อมูลทุกประเภท

    ในที่สุด เราใกล้จะได้สูตรการค้นหาที่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่แบบไร้ข้อจำกัด ซึ่งใช้ได้กับ Excel ทุกรุ่นและชุดข้อมูลทั้งหมด

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

    มักใช้ฟังก์ชัน INDEX และ MATCH ร่วมกัน ในตัวอย่าง cel เป็นทางเลือกที่ยืดหยุ่นและหลากหลายกว่าสำหรับ VLOOKUP บทความต่อไปนี้ทำงานได้ดี (หวังว่า :) จะอธิบายว่าทั้งสองฟังก์ชันทำงานร่วมกันอย่างไร - การใช้ INDEX MATCH แทน VLOOKUP

    ฉันจะเตือนคุณถึงประเด็นสำคัญดังนี้:

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

    สำหรับสูตรในการจดจำตัวพิมพ์เล็กและใหญ่ คุณเพียงแค่ จำเป็นต้องเพิ่มอีกหนึ่งฟังก์ชันให้กับชุดค่าผสม INDEX MATCH แบบคลาสสิก แน่นอน คุณต้องใช้ฟังก์ชัน EXACT อีกครั้ง:

    INDEX( return_array , MATCH(TRUE, EXACT( lookup_value , lookup_array ), 0))

    สูตรจริงใน F3 คือ:

    =INDEX(B2:B7, MATCH(TRUE, EXACT(A2:A7, F2), 0))

    ใน F4 เราใช้สูตรนี้:

    =INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0))

    โปรดจำไว้ว่าจะใช้ได้เฉพาะใน สูตรอาร์เรย์ในทุกเวอร์ชันที่ไม่ใช่ Excel 365 ดังนั้นโปรดป้อนโดยกดแป้น Ctrl + Shift + Enter พร้อมกัน หากทำถูกต้อง สูตรจะอยู่ในวงเล็บปีกกาตามที่แสดงในภาพด้านล่าง:

    วิธีการทำงานของสูตรนี้:

    เช่นเดียวกับในตัวอย่างก่อนหน้านี้ EXACT ส่งกลับ TRUE สำหรับแต่ละค่าใน A2:A7 ที่ตรงกับค่าใน F2 ทุกประการ เนื่องจากเราใช้ TRUE สำหรับ lookup_value ของ MATCH จึงส่งคืนตำแหน่งสัมพัทธ์ของการจับคู่ที่ตรงตามตัวพิมพ์เล็กและใหญ่ ซึ่งเป็นสิ่งที่ INDEX ต้องการเพื่อส่งคืนการจับคู่จาก B2:B7

    สูตรการค้นหาแบบคำนึงถึงตัวพิมพ์เล็กและใหญ่

    สูตร INDEX MATCH ที่กล่าวถึงข้างต้นดูสมบูรณ์แบบใช่ไหม แต่ในความเป็นจริงมันไม่ใช่ ให้ฉันแสดงสาเหตุ

    สมมติว่าเซลล์ในคอลัมน์ส่งกลับที่ตรงกับค่าการค้นหาว่างเปล่า อะไรจะกลับสูตร? ไม่มีอะไร.และตอนนี้ มาดูกันว่ามันคืนค่าอะไร:

    =INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0))

    อ๊ะ สูตรคืนค่าศูนย์! อาจไม่ใช่เรื่องสำคัญนักเมื่อต้องจัดการกับค่าข้อความเพียงอย่างเดียว อย่างไรก็ตาม หากเวิร์กชีตของคุณมีตัวเลขและบางค่าเป็นศูนย์จริง นั่นเป็นปัญหา

    อันที่จริง สูตรการค้นหาอื่นๆ ทั้งหมดที่กล่าวถึงก่อนหน้านี้จะทำงานในลักษณะเดียวกัน แต่ตอนนี้คุณต้องการสูตรที่ไร้ที่ติใช่ไหม

    ในการทำให้สูตร INDEX MATCH ที่ตรงตามตัวพิมพ์ใหญ่-เล็กสมบูรณ์แบบที่สุด ให้รวมไว้ในฟังก์ชัน IF ที่ตรวจสอบว่าเซลล์ที่ส่งกลับว่างเปล่าหรือไม่และไม่ส่งคืนสิ่งใดใน กรณีนี้:

    =IF(INDIRECT("C"&(1+MATCH(TRUE,EXACT(A2:A7, F2), 0)))"", INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0)), "")

    ในสูตรด้านบน:

    • "C" คือคอลัมน์ส่งคืน
    • "1" คือตัวเลข ที่เปลี่ยน ตำแหน่งสัมพัทธ์ ของเซลล์ที่ส่งกลับโดยฟังก์ชัน MATCH เป็น ที่อยู่เซลล์จริง .

    ตัวอย่างเช่น อาร์เรย์การค้นหาในฟังก์ชัน MATCH ของเรา คือ A2:A7 หมายความว่าตำแหน่งสัมพัทธ์ของเซลล์ A2 คือ "1" เนื่องจากเป็นเซลล์แรกในอาร์เรย์ แต่ในความเป็นจริง อาร์เรย์การค้นหาเริ่มต้นในแถวที่ 2 เพื่อชดเชยความแตกต่าง เราเพิ่ม 1 ดังนั้นฟังก์ชัน INDIRECT จะส่งกลับค่าจากเซลล์ด้านขวา

    ภาพหน้าจอด้านล่างแสดงการปรับปรุง INDEX ที่พิจารณาตัวพิมพ์เล็กและใหญ่ จับคู่สูตรที่ใช้งานจริง

    หากเซลล์ส่งกลับว่างเปล่า สูตรจะไม่แสดงผลอะไรเลย (สตริงว่าง):

    หากเซลล์ส่งกลับมีศูนย์ สูตรจะส่งกลับ 0:

    ถ้าคุณต้องการแสดงข้อความเมื่อเซลล์ส่งคืนว่างเปล่า แทนที่สตริงว่าง ("") ในอาร์กิวเมนต์สุดท้ายของ IF ด้วยข้อความ:

    =IF(INDIRECT("C"&(1+MATCH(TRUE, EXACT(A2:A7, F2), 0)))"", INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0)), "There is nothing to return, sorry.")

    ทำ VLOOKUP ที่คำนึงถึงตัวพิมพ์เล็กและใหญ่ด้วยวิธีง่ายๆ

    ผู้ใช้ Ultimate Suite for Excel ของเรามีเครื่องมือพิเศษที่ทำให้การค้นหาในตารางขนาดใหญ่และซับซ้อนง่ายขึ้นและไร้กังวล สิ่งที่ดีที่สุดคือ Merge Two Tables มีตัวเลือกที่พิจารณาตัวพิมพ์เล็กและใหญ่ และตัวอย่างด้านล่างแสดงให้เห็นการทำงานจริง

    สมมติว่าคุณต้องการดึงจำนวน จากตาราง ค้นหา ไปยังตาราง หลัก ตามรหัสรายการที่ไม่ซ้ำกัน:

    สิ่งที่คุณทำคือการเรียกใช้ตารางผสาน ตัวช่วยสร้างและทำตามขั้นตอนเหล่านี้:

    1. เลือกตารางหลักที่จะดึงข้อมูลใหม่
    2. เลือกตารางค้นหาที่จะค้นหาข้อมูลใหม่
    3. เลือกหนึ่งหรือหลายคอลัมน์หลัก (รหัสรายการในกรณีของเรา) และอย่าลืมทำเครื่องหมายในช่อง การจับคู่ตามตัวพิมพ์เล็กและใหญ่

  • วิซาร์ดจะนำคุณไปสู่อีกสามขั้นตอนที่เหลือโดยที่ คุณระบุว่าจะอัปเดตคอลัมน์ใด เพิ่มคอลัมน์ใด และเลือกตัวเลือกเพิ่มเติมหากจำเป็น
  • อีกสักครู่ คุณจะได้ผลลัพธ์ที่ต้องการ :)

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

    คู่มือฝึกปฏิบัติสำหรับการดาวน์โหลด

    ตัวอย่าง VLOOKUP ที่พิจารณาตัวพิมพ์เล็กและใหญ่ (ไฟล์ .xlsx)

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