สารบัญ
ทุกสิ่งที่คุณจำเป็นต้องรู้เกี่ยวกับไวด์การ์ดในหน้าเดียว: คืออะไร วิธีที่ดีที่สุดในการใช้ไวลด์การ์ดใน Excel และเหตุใดไวลด์การ์ดจึงไม่ทำงานกับตัวเลข
เมื่อคุณ กำลังมองหาบางอย่างแต่ไม่แน่ใจว่าอะไรกันแน่ ไวลด์การ์ดเป็นโซลูชั่นที่สมบูรณ์แบบ คุณสามารถคิดว่าตัวแทนเป็นตัวตลกที่สามารถรับค่าใด ๆ มีอักขระตัวแทนเพียง 3 ตัวใน Excel (เครื่องหมายดอกจัน เครื่องหมายคำถาม และเครื่องหมายตัวหนอน) แต่พวกมันสามารถทำสิ่งที่มีประโยชน์มากมาย!
อักขระตัวแทนของ Excel
ใน Microsoft Excel ไวด์การ์ดเป็นอักขระชนิดพิเศษที่ใช้แทนอักขระอื่นได้ กล่าวอีกนัยหนึ่ง เมื่อคุณไม่ทราบอักขระที่แน่นอน คุณสามารถใช้อักขระตัวแทนในตำแหน่งนั้นได้
อักขระตัวแทนทั่วไปสองตัวที่ Excel รู้จักคือเครื่องหมายดอกจัน (*) และเครื่องหมายคำถาม (?) เครื่องหมายตัวหนอน (~) บังคับให้ Excel ปฏิบัติต่อสิ่งเหล่านี้เป็นอักขระปกติ ไม่ใช่สัญลักษณ์แทน
สัญลักษณ์แทนมีประโยชน์ในทุกสถานการณ์เมื่อคุณต้องการการจับคู่บางส่วน คุณสามารถใช้เป็นเกณฑ์การเปรียบเทียบสำหรับการกรองข้อมูล เพื่อค้นหารายการที่มีบางส่วนเหมือนกัน หรือเพื่อจับคู่แบบคลุมเครือในสูตร
เครื่องหมายดอกจันเป็นสัญลักษณ์แทน
เครื่องหมายดอกจัน (*) คือ อักขระตัวแทนทั่วไปที่สุดที่สามารถแทน อักขระจำนวนเท่าใดก็ได้ ตัวอย่างเช่น:
- ch* - จับคู่คำใดๆ ที่ขึ้นต้นด้วย "ch" เช่น Charles , check , หมากรุก ฯลฯ
- *ch -สูตรที่คล้ายกันในเวิร์กชีตของคุณ ไม่ควรใส่ "$" หรือสัญลักษณ์สกุลเงินอื่นใดในฟังก์ชัน SEARCH ไม่ว่าในกรณีใด โปรดทราบว่านี่เป็นเพียงรูปแบบสกุลเงิน "ภาพ" ที่ใช้กับเซลล์ ค่าพื้นฐานเป็นเพียงตัวเลขเท่านั้น
ตัวอย่างที่ 2 สูตรไวด์การ์ดสำหรับวันที่
สูตร SUMPRODUCT ที่กล่าวถึงข้างต้นใช้งานได้อย่างสวยงามสำหรับตัวเลข แต่จะล้มเหลวสำหรับวันที่ ทำไม เนื่องจากภายใน Excel จะจัดเก็บวันที่เป็นหมายเลขซีเรียล และสูตรจะประมวลผลตัวเลขเหล่านั้น ไม่ใช่วันที่ที่แสดงในเซลล์
หากต้องการเอาชนะอุปสรรคนี้ ให้ใช้ฟังก์ชัน TEXT เพื่อแปลงวันที่เป็นสตริงข้อความ จากนั้นป้อน สตริงไปยังฟังก์ชัน SEARCH
ขึ้นอยู่กับสิ่งที่คุณต้องการนับ รูปแบบข้อความอาจแตกต่างกันไป
ในการนับวันที่ทั้งหมดใน C2:C12 ที่มี "4" อยู่ในวัน , เดือนหรือปี ให้ใช้ " mmddyyyy" :
=SUMPRODUCT(--(ISNUMBER(SEARCH("4",TEXT(C2:C12, "mmddyyyy")))))
นับเฉพาะ วัน ที่ มี "4" โดยไม่สนใจเดือนและปี ใช้รูปแบบข้อความ " dd" :
=SUMPRODUCT(--(ISNUMBER(SEARCH("4",TEXT(C2:C12, "dd")))))
นั่นคือวิธีการใช้สัญลักษณ์แทน ในเอ็กเซล ฉันหวังว่าข้อมูลนี้จะเป็นประโยชน์ในการทำงานของคุณ อย่างไรก็ตาม ฉันขอขอบคุณที่อ่านและหวังว่าจะได้พบคุณในบล็อกของเราในสัปดาห์หน้า!
คู่มือฝึกปฏิบัติสำหรับการดาวน์โหลด
สัญลักษณ์แทนในสูตร Excel (ไฟล์ .xlsx)
แทนที่สตริงข้อความที่ลงท้ายด้วย "ch" เช่น มีนาคม , นิ้ว , ดึงข้อมูล เป็นต้น - *ch* - แทนคำที่มี "ch" ในตำแหน่งใดก็ได้ เช่น ชาด , ปวดหัว , โค้ง เป็นต้น
เครื่องหมายคำถามเป็นไวด์การ์ด
เครื่องหมายคำถาม (?) หมายถึง อักขระเดี่ยวใดๆ สามารถช่วยให้คุณเจาะจงมากขึ้นเมื่อค้นหาการจับคู่บางส่วน ตัวอย่างเช่น:
- ? - จับคู่รายการใด ๆ ที่มีอักขระหนึ่งตัว เช่น "a", "1", "-" ฯลฯ
- ?? - ใช้แทนอักขระสองตัว เช่น "ab", "11", "a*" ฯลฯ
- ???-??? - แทนสตริงที่มีอักขระ 3 กลุ่ม 2 กลุ่มคั่นด้วยเครื่องหมายยัติภังค์ เช่น ABC-DEF , ABC-123 , 111-222 เป็นต้น<13
- pri?e - ตรงกับ ราคา , ความภาคภูมิใจ , รางวัล และอื่นๆ ในทำนองเดียวกัน
ตัวหนอนเป็นอักขระตัวแทน
ตัวหนอน (~) วางไว้หน้าอักขระตัวแทน ยกเลิกเอฟเฟกต์ของอักขระตัวแทน และเปลี่ยนเป็นเครื่องหมายดอกจันตามตัวอักษร (~*) ซึ่งเป็นคำถามตามตัวอักษร เครื่องหมาย (~?) หรือเครื่องหมายตัวหนอน (~~) ตัวอย่างเช่น:
- *~? - ค้นหารายการที่ลงท้ายด้วยเครื่องหมายคำถาม เช่น อะไรนะ , มีใครอยู่ไหม ฯลฯ
- *~** - ค้นหาข้อมูลใดๆ ที่มีเครื่องหมายดอกจัน เช่น *1 , *11* , 1-มี.ค.-2020* เป็นต้น ในกรณีนี้ เครื่องหมายดอกจันตัวที่ 1 และ 3 เป็นไวด์การ์ด ในขณะที่ดอกจันตัวที่สอง หมายถึงเครื่องหมายดอกจันตามตัวอักษร
ค้นหาและแทนที่อักขระตัวแทนใน Excel
การใช้อักขระตัวแทนด้วยคุณลักษณะการค้นหาและแทนที่ของ Excel นั้นค่อนข้างหลากหลาย ตัวอย่างต่อไปนี้จะกล่าวถึงสถานการณ์ทั่วไปบางสถานการณ์และเตือนคุณเกี่ยวกับข้อควรระวังสองสามข้อ
วิธีค้นหาด้วยไวด์การ์ด
ตามค่าเริ่มต้น กล่องโต้ตอบ ค้นหาและแทนที่ คือ กำหนดค่าให้ค้นหาเกณฑ์ที่ระบุที่ใดก็ได้ในเซลล์ ไม่ให้ตรงกับเนื้อหาของเซลล์ทั้งหมด ตัวอย่างเช่น หากคุณใช้ "AA" เป็นเกณฑ์การค้นหา Excel จะส่งกลับรายการทั้งหมดที่มีรายการดังกล่าว เช่น AA-01 , 01-AA , 01-AA -02 และอื่นๆ วิธีนี้ใช้ได้ดีในสถานการณ์ส่วนใหญ่ แต่ภายใต้สถานการณ์บางอย่างอาจทำให้เกิดความยุ่งยากได้
ในชุดข้อมูลด้านล่าง สมมติว่าคุณต้องการค้นหา ID ที่ประกอบด้วยอักขระ 4 ตัวคั่นด้วยยัติภังค์ ดังนั้น คุณเปิดกล่องโต้ตอบ ค้นหาและแทนที่ (Ctrl + F) พิมพ์ ??-?? ในช่อง ค้นหาอะไร แล้วกด ค้นหาทั้งหมด ผลลัพธ์ที่ได้ดูค่อนข้างน่างงใช่ไหม
ในทางเทคนิคแล้ว สตริงเช่น AAB-01 หรือ BB-002 ตรงกับเกณฑ์เพราะมีเครื่องหมาย ??-?? สตริงย่อย หากต้องการแยกสิ่งเหล่านี้ออกจากผลลัพธ์ คลิกปุ่ม ตัวเลือก และทำเครื่องหมายที่ช่อง จับคู่เนื้อหาทั้งเซลล์ ตอนนี้ Excel จะจำกัดผลลัพธ์ไว้ที่ ??-?? สตริง:
วิธีแทนที่ด้วยไวด์การ์ด
ในกรณีที่ข้อมูลของคุณมีการจับคู่ที่ไม่ชัดเจน ไวด์การ์ดสามารถช่วยคุณได้ค้นหาและรวมเข้าด้วยกันอย่างรวดเร็ว
ในภาพหน้าจอด้านล่าง คุณจะเห็นรูปแบบการสะกดสองแบบของเมืองเดียวกัน Homel และ Gomel เราต้องการแทนที่ทั้งคู่ด้วยเวอร์ชันอื่น - Homyel (และใช่ การสะกดคำทั้งสามของเมืองแม่ของฉันถูกต้องและเป็นที่ยอมรับโดยทั่วไป :)
หากต้องการแทนที่คำที่ตรงกันบางส่วน คุณต้องทำดังนี้:
- กด Ctrl + H เพื่อเปิดแท็บ แทนที่ ของกล่องโต้ตอบ ค้นหาและแทนที่
- ในกล่อง ค้นหาอะไร ให้พิมพ์นิพจน์ตัวแทน: ?omel
- ในช่อง แทนที่ด้วย ให้พิมพ์ข้อความแทนที่: Homyel
- คลิกปุ่ม แทนที่ทั้งหมด ปุ่ม
และสังเกตผลลัพธ์:
วิธีค้นหาและแทนที่อักขระตัวแทน
หากต้องการค้นหาอักขระที่ Excel รู้จักว่าเป็นไวด์การ์ด เช่น เครื่องหมายดอกจันตามตัวอักษรหรือเครื่องหมายคำถาม ให้ใส่เครื่องหมายตัวหนอน (~) ในเกณฑ์การค้นหาของคุณ ตัวอย่างเช่น หากต้องการค้นหารายการทั้งหมดที่มีเครื่องหมายดอกจัน ให้พิมพ์ ~* ในช่องค้นหาอะไร:
หากคุณต้องการแทนที่เครื่องหมายดอกจันด้วยสิ่งอื่น ให้เปลี่ยนไปใช้ แท็บ แทนที่ และพิมพ์อักขระที่สนใจในช่อง แทนที่ด้วย หากต้องการลบเครื่องหมายดอกจันที่พบทั้งหมด ให้เว้นช่อง แทนที่ด้วย แล้วคลิก แทนที่ทั้งหมด
กรองข้อมูลด้วย สัญลักษณ์แทนใน Excel
สัญลักษณ์แทนของ Excel ยังมีประโยชน์อย่างมากเมื่อคุณมีคอลัมน์ขนาดใหญ่ของข้อมูลและต้องการกรองข้อมูลตามเงื่อนไข
ในชุดข้อมูลตัวอย่างของเรา สมมติว่าคุณต้องการกรองรหัสที่ขึ้นต้นด้วย "B" สำหรับสิ่งนี้ ให้ทำดังต่อไปนี้:
- เพิ่มตัวกรองในเซลล์ส่วนหัว วิธีที่เร็วที่สุดคือกดแป้นพิมพ์ลัด Ctrl + Shift + L
- ในคอลัมน์เป้าหมาย ให้คลิกลูกศรแบบเลื่อนลงของตัวกรอง
- ในช่อง ค้นหา พิมพ์เกณฑ์ของคุณ B* ในกรณีของเรา
- คลิก ตกลง
การดำเนินการนี้จะกรองข้อมูลตามไวลด์การ์ดของคุณทันที เกณฑ์เช่นที่แสดงด้านล่าง:
สัญลักษณ์ตัวแทนยังสามารถใช้กับตัวกรองขั้นสูง ซึ่งอาจทำให้เป็นทางเลือกที่ดีสำหรับนิพจน์ทั่วไป (เรียกอีกอย่างว่า regexes โดย กูรูด้านเทคโนโลยี) ที่ Excel ไม่รองรับ สำหรับข้อมูลเพิ่มเติม โปรดดูตัวกรองขั้นสูงของ Excel ที่มีไวด์การ์ด
สูตร Excel ที่มีไวด์การ์ด
ก่อนอื่น ควรสังเกตว่าฟังก์ชัน Excel จำนวนจำกัดรองรับไวลด์การ์ด นี่คือรายการของฟังก์ชันยอดนิยมที่ทำกับตัวอย่างสูตร:
AVERAGEIF with wildcards - ค้นหาค่าเฉลี่ย (ค่าเฉลี่ยเลขคณิต) ของเซลล์ที่ตรงตามเงื่อนไขที่ระบุ
AVERAGEIFS - ส่งกลับ ค่าเฉลี่ยของเซลล์ที่ตรงตามเกณฑ์หลายข้อ เช่นเดียวกับ AVERAGEIF ในตัวอย่างข้างต้น อนุญาตให้ใช้สัญลักษณ์แทน
COUNTIF ที่มีอักขระตัวแทน - นับจำนวนเซลล์ตามเกณฑ์หนึ่งข้อ
COUNTIFS ที่มีอักขระตัวแทน - นับจำนวนของเซลล์ตามเกณฑ์หลายเกณฑ์
SUMIF ที่มีสัญลักษณ์แทน- ผลรวมเซลล์ที่มีเงื่อนไข
SUMIFS - เพิ่มเซลล์ที่มีหลายเกณฑ์ เช่นเดียวกับ SUMIF ในตัวอย่างข้างต้น ยอมรับอักขระตัวแทน
VLOOKUP ที่มีอักขระตัวแทน - ทำการค้นหาในแนวตั้งโดยจับคู่บางส่วน
HLOOKUP โดยใช้อักขระตัวแทน - ทำการค้นหาในแนวนอนโดยจับคู่บางส่วน
XLOOKUP ที่มีอักขระตัวแทน - ดำเนินการค้นหาการจับคู่บางส่วนทั้งในคอลัมน์และแถว
จับคู่สูตรด้วยอักขระตัวแทน - ค้นหาการจับคู่บางส่วนและส่งคืนตำแหน่งสัมพัทธ์
XMATCH ด้วยอักขระตัวแทน - ผู้สืบทอดสมัยใหม่ของฟังก์ชัน MATCH ที่รองรับการจับคู่สัญลักษณ์แทน
ค้นหาด้วยสัญลักษณ์ตัวแทน - ไม่เหมือนกับฟังก์ชัน FIND ที่คำนึงถึงตัวพิมพ์เล็กและใหญ่ SEARCH ที่คำนึงถึงตัวพิมพ์เล็กและใหญ่จะเข้าใจอักขระตัวแทน
หากคุณต้องการ ทำการจับคู่บางส่วนกับฟังก์ชันอื่นๆ ที่ไม่รองรับไวลด์การ์ด คุณจะต้องหาวิธีแก้ไข เช่น สูตรไวลด์การ์ดของ Excel IF
ตัวอย่างต่อไปนี้แสดงแนวทางทั่วไปบางประการในการใช้ไวด์การ์ดในสูตร Excel
สูตรสัญลักษณ์ตัวแทนของ Excel COUNTIF
สมมติว่าคุณต้องการนับจำนวนเซลล์ต่อ กำหนดข้อความ "AA" ในช่วง A2:A12 มีสามวิธีในการดำเนินการนี้
วิธีที่ง่ายที่สุดคือการรวมอักขระตัวแทนโดยตรงในอาร์กิวเมนต์ เกณฑ์ :
=COUNTIF(A2:A12, "*AA*")
ในทางปฏิบัติ "ฮาร์ดโค้ด" ดังกล่าวไม่ใช่ทางออกที่ดีที่สุด ถ้าการเปลี่ยนแปลงเกณฑ์ในภายหลัง คุณจะต้องแก้ไขสูตรของคุณทุกครั้ง
แทนที่จะพิมพ์เกณฑ์ในสูตร คุณสามารถป้อนลงในเซลล์บางเซลล์ เช่น E1 และต่อการอ้างอิงเซลล์ด้วย อักขระตัวแทน สูตรที่สมบูรณ์ของคุณจะเป็น:
=COUNTIF(A2:A12,"*"&E1&"*")
หรืออีกทางหนึ่ง คุณสามารถป้อนสตริงอักขระตัวแทน (*AA* ในตัวอย่างของเรา) ในเซลล์เกณฑ์ (E1 ) และใส่เฉพาะการอ้างอิงเซลล์ในสูตร:
=COUNTIF(A2:A12, E1)
ทั้งสามสูตรจะให้ผลลัพธ์เหมือนกัน ดังนั้นจะใช้สูตรใดก็เป็นเรื่อง ตามความชอบส่วนตัวของคุณ
หมายเหตุ การค้นหาสัญลักษณ์ตัวแทน ไม่พิจารณาตัวพิมพ์เล็กและใหญ่ ดังนั้นสูตรจึงนับทั้งตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก เช่น AA-01 และ aa-01
สูตร Excel wildcard VLOOKUP
เมื่อคุณต้องการหาค่าที่ไม่ตรงกันทุกประการในแหล่งข้อมูล คุณสามารถใช้อักขระตัวแทนเพื่อค้นหาค่าที่ตรงกันบางส่วน
ในตัวอย่างนี้ เราจะค้นหารหัสที่ขึ้นต้นด้วยอักขระเฉพาะ และส่งคืนราคาจากคอลัมน์ B หากต้องการดำเนินการ ให้ป้อน ส่วนที่ไม่ซ้ำกัน ของรหัสเป้าหมายในเซลล์ D2, D3 และ D4 และใช้สูตรนี้เพื่อให้ได้ผลลัพธ์:
=VLOOKUP(D2&"*", $A$2:$B$12, 2, FALSE)
สูตรด้านบนไปที่ E1 และเนื่องจากการใช้เซลล์สัมพัทธ์และเซลล์สัมบูรณ์อย่างชาญฉลาด จึงคัดลอกไปยังเซลล์ด้านล่างอย่างถูกต้อง .
หมายเหตุ เมื่อฟังก์ชัน Excel VLOOKUP ส่งคืนค่าพบการจับคู่ครั้งแรก คุณควรระมัดระวังให้มากเมื่อค้นหาด้วยสัญลักษณ์แทน หากค่าการค้นหาของคุณตรงกับค่ามากกว่าหนึ่งค่าในช่วงการค้นหา คุณอาจได้รับผลลัพธ์ที่ทำให้เข้าใจผิด
ไวด์การ์ดของ Excel สำหรับตัวเลข
บางครั้งมีการระบุไว้ว่าไวด์การ์ดใน Excel ใช้ได้กับค่าข้อความเท่านั้น ไม่ใช่ตัวเลข อย่างไรก็ตาม นี่ไม่เป็นความจริงทุกประการ ด้วยคุณลักษณะ ค้นหาและแทนที่ เช่นเดียวกับ ตัวกรอง สัญลักษณ์แทนจะทำงานได้ดีทั้งกับข้อความและตัวเลข
ค้นหาและแทนที่ด้วยหมายเลขสัญลักษณ์
ในภาพหน้าจอด้านล่าง เราใช้ *4* สำหรับเกณฑ์การค้นหาเพื่อค้นหาเซลล์ที่มีตัวเลข 4 และ Excel ค้นหาทั้งสตริงข้อความและตัวเลข:
ตัวกรอง ด้วยหมายเลขไวด์การ์ด
ในทำนองเดียวกัน ตัวกรองอัตโนมัติของ Excel ไม่มีปัญหาในการกรองตัวเลขที่มี "4":
เหตุใดไวด์การ์ดของ Excel จึงไม่ทำงานกับตัวเลขในสูตร
ไวลด์การ์ดที่มีตัวเลขในสูตรเป็นคนละเรื่องกัน การใช้อักขระตัวแทนร่วมกับตัวเลข (ไม่ว่าคุณจะล้อมรอบตัวเลขด้วยอักขระตัวแทนหรือเชื่อมโยงการอ้างอิงเซลล์เข้าด้วยกัน) จะแปลงค่าตัวเลขเป็นสตริงข้อความ ผลลัพธ์ที่ได้คือ Excel จำสตริงในช่วงของตัวเลขไม่ได้
ตัวอย่างเช่น ทั้งสองสูตรด้านล่างจะนับจำนวนสตริงที่มี "4" อย่างสมบูรณ์:
=COUNTIF(A2:A12, "*4*" )
=COUNTIF(A2:A12, "*"&E1&"*" )
แต่ไม่สามารถระบุเลข 4 ภายในจำนวนได้:
วิธีทำสัญลักษณ์แทนใช้ได้กับตัวเลข
วิธีแก้ปัญหาที่ง่ายที่สุดคือการแปลงตัวเลขเป็นข้อความ (เช่น โดยใช้คุณลักษณะข้อความเป็นคอลัมน์) จากนั้นทำ VLOOKUP, COUNTIF, MATCH เป็นต้น
ตัวอย่างเช่น ในการรับจำนวนเซลล์ที่ ขึ้นต้นด้วย ตัวเลขใน E1 สูตรคือ:
=COUNTIF(B2:B12, E1&"*" )
ใน สถานการณ์ที่วิธีนี้ไม่เป็นที่ยอมรับในทางปฏิบัติ คุณจะต้องคิดสูตรของคุณเองสำหรับแต่ละกรณี อนิจจา ไม่มีโซลูชันทั่วไป :( ด้านล่าง คุณจะพบตัวอย่างสองสามตัวอย่าง
ตัวอย่างที่ 1 สูตรสัญลักษณ์ตัวแทนของ Excel สำหรับตัวเลข
ตัวอย่างนี้แสดงวิธีการนับตัวเลขที่มี หลักเฉพาะ ในตารางตัวอย่างด้านล่าง สมมติว่าคุณต้องการคำนวณจำนวนตัวเลขในช่วง B2:B12 ที่มี "4" สูตรที่จะใช้คือ
=SUMPRODUCT(--(ISNUMBER(SEARCH("4", B2:B12))))
สูตรนี้ทำงานอย่างไร
สูตรนี้ทำงานจากภายในสู่ภายนอก:
ฟังก์ชัน SEARCH จะค้นหาตัวเลขที่ระบุในทุกๆ เซลล์ของช่วงและส่งกลับตำแหน่ง หากไม่พบข้อผิดพลาด #VALUE เอาต์พุตเป็นอาร์เรย์ต่อไปนี้:
{#VALUE!;1;#VALUE!;#VALUE!;3;#VALUE!;#VALUE!;1;#VALUE!;#VALUE!;#VALUE!}
ฟังก์ชัน ISNUMBER รับค่าจากตรงนั้นและเปลี่ยนตัวเลขใดๆ เป็น TRUE และข้อผิดพลาดเป็น FALSE:
{FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE}
ตัวดำเนินการอูนารีคู่ (--) บังคับให้ TRUE และ FALSE เป็น 1 และ 0 ตามลำดับ:
{0;1;0;0;1;0;0;1;0;0;0}
สุดท้าย ฟังก์ชัน SUMPRODUCT จะบวกเลข 1 และส่งคืนค่านับ
หมายเหตุ เมื่อใช้