สารบัญ
ในบทความนี้ ฉันจะแสดงวิธีที่คุณสามารถค้นหาค่าที่ไม่ซ้ำกันจากหลายคอลัมน์ใน Microsoft Excel
ดาวน์โหลดสมุดงานแบบฝึกหัด
ดาวน์โหลดไฟล์ Excel ต่อไปนี้ เพื่อให้คุณฝึกฝนในขณะอ่านบทความนี้ได้
ค้นหาค่าที่ไม่ซ้ำหลายคอลัมน์.xlsm
5 วิธีในการค้นหาค่าที่ไม่ซ้ำจากหลายคอลัมน์ ใน Excel
ให้เราดูที่ชุดข้อมูลนี้ เรามีบันทึกของนักเรียนของโรงเรียนชื่อ Glory Kindergarten
เรามีรหัสนักเรียน ชื่อ และนามสกุลของนักเรียนในคอลัมน์ B , C, และ D ตามลำดับ
ตอนนี้เราต้องการเรียงลำดับชื่อเฉพาะของนักเรียน
วิธีที่ 1: แยก ค่าที่ไม่ซ้ำจากหลายคอลัมน์ด้วยสูตรอาร์เรย์
การใช้ฟังก์ชัน UNIQUE
ข้อควรระวัง: ฟังก์ชัน UNIQUE มีเฉพาะใน Office 365
ไวยากรณ์ของฟังก์ชัน UNIQUE:
=UNIQUE(อาร์เรย์,[by_col],[exactly_once])
- รับอาร์กิวเมนต์ 3 รายการ ช่วงเซลล์หนึ่งเรียกว่า อาร์เรย์ และค่าบูลีน 2 ค่าเรียกว่า by_col และ exactly_once
- ส่งกลับค่าเฉพาะ จาก อาร์เรย์ .
- หากตั้งค่า by_col เป็น TRUE ระบบจะค้นหาค่าที่ไม่ซ้ำกันตามคอลัมน์ของอาร์กิวเมนต์นี้หรือไม่ก็ได้ . ค่าเริ่มต้นคือ TRUE .
- ถ้า exactly_once ถูกตั้งค่าเป็น TRUE จะส่งกลับค่าซึ่งปรากฏเพียงครั้งเดียวใน อาร์เรย์ อาร์กิวเมนต์นี้เป็นทางเลือก ค่าเริ่มต้นคือ FALSE .
ตอนนี้เราต้องการแยกค่าที่ไม่ซ้ำออกจากทั้ง ชื่อแรก (คอลัมน์ C ) และ นามสกุล (คอลัมน์ D )
- ก่อนอื่น เลือกเซลล์และใส่สูตรนี้ที่นั่น ฉันเลือกเซลล์ E5 และป้อนเซลล์ที่นั่น
=UNIQUE(C5:D16,FALSE,TRUE)
ดูว่าเรามีชื่อที่ไม่ซ้ำในสองคอลัมน์ที่แตกต่างกัน
- ที่นี่ เราได้แทรก by_col เป็น FALSE ดังนั้นจึงไม่ได้ค้นหาตาม คอลัมน์
- ที่นี่เราได้แทรก exactly_once เป็น TRUE ดังนั้นจึงส่งคืนค่าที่ปรากฏเพียงครั้งเดียว
แน่นอน ถ้าคุณต้องการ คุณสามารถเปลี่ยนค่าบูลีนที่เรียกว่า by_col และ exactly_once และดูว่าเกิดอะไรขึ้น
อ่านเพิ่มเติม: Excel VBA เพื่อรับค่าที่ไม่ซ้ำจากคอลัมน์ (4 ตัวอย่าง)
ii. การรวมฟังก์ชัน CONCATENATE และ UNIQUE
ก่อนหน้านี้ เราได้ชื่อในเซลล์เดียว และนามสกุลในเซลล์ที่อยู่ติดกัน แต่ถ้าใครถามชื่อเต็มคือเซลล์หนึ่ง เช่น Jack Morris แล้ว? ใช้สูตรใดก็ได้เหล่านี้ ซึ่งสร้างจากฟังก์ชัน UNIQUE และ CONCATENATE
สูตรแรก:
=UNIQUE(CONCATENATE(C5:C16," ",D5:D16),FALSE,TRUE)
สูตรทางเลือก:
หรือคุณสามารถใช้ -
=UNIQUE(C5:C16&" "&D5:D16,FALSE,TRUE)
ดูสิ เราได้แยกชื่อเต็มที่ไม่ซ้ำกันในคอลัมน์เดียวคั่นด้วยช่องว่าง ( )
อ่านเพิ่มเติม: ค้นหาค่าที่ไม่ซ้ำในคอลัมน์ใน Excel (6 วิธี)
iii. การใช้ฟังก์ชัน UNIQUE, CONCATENATE และ FILTER เพื่อแยกค่าที่ไม่ซ้ำตามเกณฑ์
ลองสมมติสักครู่ มีใครต้องการแยกชื่อเฉพาะของนักเรียนที่มีรหัสมากกว่า 150 ทำอย่างไร
เราจะดำเนินการดังกล่าวโดยใช้ฟังก์ชัน UNIQUE และ FILTER
ข้อควรระวัง: ฟังก์ชัน FILTER มีเฉพาะใน Office 365 เท่านั้น
ไวยากรณ์ของฟังก์ชัน FILTER:
=FILTER(array,include,[if_empty])
- รับอาร์กิวเมนต์สามรายการ ช่วงของเซลล์หนึ่งเรียกว่า อาร์เรย์ เงื่อนไขบูลีนหนึ่งรายการเรียกว่า รวม และหนึ่งค่าเรียกว่า
- ส่งกลับค่าจาก อาร์เรย์ ซึ่งตรงกับ เงื่อนไขที่ระบุโดย
- หากค่าใดๆ ของ อาร์เรย์ ไม่ตรงตามเงื่อนไขที่ระบุโดย include ระบบจะส่งกลับค่า if_empty สำหรับมัน. การตั้งค่า if_empty เป็นทางเลือก เป็น "ไม่มีผลลัพธ์" ตามค่าเริ่มต้น
ตอนนี้เราต้องการแยกชื่อเฉพาะของนักเรียนที่มี ID มากกว่า 150
- ดังนั้น สูตรของเราจะ be
=UNIQUE(FILTER(C5:D16,B5:B16>150,"no result"),FALSE,TRUE)
ดูว่าเราได้แยกชื่อและนามสกุลของชื่อเฉพาะ ชื่อ
- และถ้าคุณต้องการแยกชื่อเต็มที่ไม่ซ้ำกันในเซลล์เดียว ให้ใช้สิ่งนี้สูตร-
=UNIQUE(FILTER(CONCATENATE(C5:C16," ",D5:D16),B5:B16>150,"no result"),FALSE,TRUE)
อ่านเพิ่มเติม: วิธีแยกค่าที่ไม่ซ้ำตามเกณฑ์ใน Excel
วิธีที่ 2: เน้นค่าที่ซ้ำกันโดยใช้การจัดรูปแบบตามเงื่อนไข
ให้เราดูชุดข้อมูลใหม่นี้ เรามีสามคอลัมน์ แต่ทั้งหมดมีข้อมูลประเภทเดียวกัน
เรามีชื่อเล่นของนักเรียนบางคนในโรงเรียนอนุบาลกลอรี่ ตอนนี้เราต้องการค้นหาชื่อเฉพาะของนักเรียนเหล่านี้
เราจะทำได้อย่างไร
เราสามารถเน้นค่าที่ซ้ำกันโดยใช้การจัดรูปแบบตามเงื่อนไขเพื่อความสะดวก
📌 ขั้นตอน:
- ก่อนอื่น เลือกช่วงของเซลล์
- จากนั้นไปที่ หน้าแรก > การจัดรูปแบบตามเงื่อนไข > เน้นกฎของเซลล์ > ค่าที่ซ้ำกัน
- คุณจะได้รับกล่องเล็กๆ ชื่อ ค่าที่ซ้ำกัน
- เลือก สีใดก็ได้จากที่นั่นเพื่อเน้นค่าที่ซ้ำกัน ฉันกำลังเลือกสีเขียว
วิธีที่ 3: แยกค่าที่ไม่ซ้ำจากคอลัมน์ Excel โดยใช้สูตรที่ไม่มีอาร์เรย์
หากต้องการใช้สูตรที่ไม่ใช่อาร์เรย์ คุณต้องรวมฟังก์ชัน IFERROR , LOOKUP, และ COUNTIF หากต้องการใช้สูตร ให้ทำตามขั้นตอนต่อไปนี้
📌 ขั้นตอน:
- เลือกเซลล์ใดก็ได้
- จากนั้นใส่สูตรต่อไปนี้-
=IFERROR(IFERROR(LOOKUP(2, 1/(COUNTIF($F$4:F4,$B$5:$B$11)=0), $B$5:$B$11), LOOKUP(2, 1/(COUNTIF($F$4:F4, $C$5:$C$9)=0), $C$5:$C$9)),LOOKUP(2, 1/(COUNTIF($F$4:F4, $D$5:$D$12)=0), $D$5:$D$12))
- ที่นี่ฉันแทรกใน เซลล์ F5 .
- จากนั้นลากที่จับเติมแล้วคุณจะพบชื่อเฉพาะ
หมายเหตุ:
ในที่นี้ แทนคอลัมน์ B C, และ D คุณสามารถใช้รายการที่คุณต้องการได้
วิธีที่ 4: แยกรายการความแตกต่างที่ไม่ซ้ำจากสองคอลัมน์ขึ้นไปโดยใช้ Pivot Table
คุณยังสามารถสร้างรายการเฉพาะจากสองคอลัมน์ขึ้นไปโดยใช้เครื่องมือตารางเดือย ทำตามขั้นตอนต่อไปนี้
📌 ขั้นตอน:
- กด Alt + D .
- จากนั้น กด P ทันที คุณจะได้รับ ตัวช่วยสร้าง PivotTable และ PivotChart เปิดอยู่
- เลือก ช่วงการรวมหลายรายการ และ ตาราง Pivot ปุ่ม
- จากนั้นคลิก ถัดไป คุณจะย้ายไปที่ ขั้นตอนที่ 2a จาก 3 .
- เลือก ปุ่มสร้างฟิลด์หน้าเดียวให้ฉัน
- จากนั้นคลิก ถัดไป คุณจะไปที่ ขั้นตอนที่ 2b .
- ในช่อง ช่วง เลือกช่วงของเซลล์ของคุณโดยมีคอลัมน์ว่างทางด้านซ้าย
- ที่นี่ฉันได้เลือกเซลล์ B5 ถึง D12 .
- จากนั้นคลิก เพิ่ม เซลล์ที่คุณเลือกจะถูกเพิ่มลงในช่อง ทุกช่วง 15>
- จากนั้นคลิก ถัดไป คุณจะย้ายไปที่ ขั้นตอน 3 .
- ในกล่อง แผ่นงานที่มีอยู่ เขียนเซลล์ที่คุณต้องการให้ ตาราง Pivot . ฉันเขียน $F$4.
- จากนั้นคลิก เสร็จสิ้น คุณจะได้รับ Pivot Table ที่สร้างขึ้น
- ในช่อง เลือกฟิลด์ที่จะเพิ่มรายงาน ส่วน ยกเลิกการทำเครื่องหมาย แถว , คอลัมน์ , ค่า , หน้า 1 .
- จากนั้นทำเครื่องหมายที่ ค่า คุณจะได้รับชื่อเฉพาะใน Pivot Table
วิธีที่ 5: ใช้โค้ด VBA เพื่อค้นหาค่าที่ไม่ซ้ำ
สุดท้าย คุณยังสามารถใช้โค้ด VBA เพื่อแยกชื่อเฉพาะจากชุดข้อมูล ทำดังต่อไปนี้
📌 ขั้นตอน:
- กด Alt + F11 บนสมุดงานของคุณเพื่อเปิด VBA หน้าต่าง
- จากนั้นไปที่แท็บ แทรก ในแถบเครื่องมือ VBA คลิกที่มัน
- จากสี่ตัวเลือก เลือก โมดูล
คุณจะได้รับ ใหม่ โมดูล หน้าต่าง
- เขียนโค้ดต่อไปนี้ที่นั่น
2148
ไซต์นี้ ไซต์ ช่วยเรา ทำความเข้าใจและพัฒนาโค้ด
- บันทึกเป็น Excel Macros Enabled Workbook
- จากนั้นกลับมาที่เวิร์กชีตเดิมของคุณ กด Alt + F8 .
- คุณจะเปิดกล่อง มาโคร ขึ้นมา
- เลือกชื่อของ มาโคร และ จากนั้นคลิกที่ เรียกใช้ .
- ชื่อของ มาโคร นี้คือ Uniquedata .
- ป้อนช่วงของข้อมูลของคุณ ในช่อง ช่วง
- คลิกที่ ตกลง คุณจะได้รับช่องป้อนข้อมูลอื่น
- ป้อนเซลล์แรกที่คุณต้องการชื่อเฉพาะ ฉันป้อนเซลล์ F5 .
- จากนั้นคลิก ตกลง คุณจะได้รับชื่อเฉพาะจากข้อมูลของคุณset.
อ่านเพิ่มเติม: วิธีรับค่าที่ไม่ซ้ำจากช่วงใน Excel (8 วิธี) <1
บทสรุป
เมื่อใช้วิธีการเหล่านี้ คุณสามารถค้นหาค่าที่ไม่ซ้ำกันใน Excel จากหลายคอลัมน์ที่มีข้อมูลทั้งประเภทเดียวกันหรือต่างกัน หากคุณมีข้อสงสัยเพิ่มเติม โปรดแสดงความคิดเห็น คุณยังสามารถเยี่ยมชม บล็อก ของเราเพื่อเรียนรู้เพิ่มเติมเกี่ยวกับหัวข้อต่างๆ ของ MS Excel