วิธีเปรียบเทียบค่าที่คั่นด้วยเครื่องหมายจุลภาคในสองเซลล์และส่งคืนค่าที่ซ้ำกันหรือไม่ซ้ำใน Excel
ดังที่แสดงในภาพหน้าจอด้านล่าง มีสองคอลัมน์ - คอลัมน์ 1 และคอลัมน์ 2 แต่ละเซลล์ในคอลัมน์ประกอบด้วยตัวเลขที่คั่นด้วยเครื่องหมายจุลภาค หากต้องการเปรียบเทียบตัวเลขที่คั่นด้วยเครื่องหมายจุลภาคใน Column1 กับเนื้อหาเซลล์ในแถวเดียวกันของ Column2 และส่งกลับค่าที่ซ้ำหรือไม่ซ้ำทั้งหมด คุณจะทำอย่างไร
บทช่วยสอนนี้มีสองวิธีที่จะช่วยให้คุณทำงานนี้ได้สำเร็จ
เปรียบเทียบค่าที่คั่นด้วยเครื่องหมายจุลภาคในสองเซลล์และส่งคืนค่าที่ซ้ำกันหรือไม่ซ้ำกับสูตร
ส่วนนี้มีสูตรสองสูตรเพื่อช่วยเปรียบเทียบค่าที่คั่นด้วยเครื่องหมายจุลภาคในเซลล์สองเซลล์ และส่งกลับค่าที่ซ้ำกันหรือไม่ซ้ำกันระหว่างค่าเหล่านั้น
หมายเหตุ: สูตรต่อไปนี้ใช้ได้เฉพาะใน เอ็กเซลสำหรับ 365. หากคุณใช้ Excel เวอร์ชันอื่น ลองใช้วิธี VBA ด้านล่าง.
ใช้สองคอลัมน์ข้างต้นเป็นตัวอย่าง เพื่อเปรียบเทียบตัวเลขที่คั่นด้วยเครื่องหมายจุลภาคในคอลัมน์ 1 กับตัวเลขที่คั่นด้วยเครื่องหมายจุลภาคในแถวเดียวกันของคอลัมน์ 2 และส่งคืนค่าที่ซ้ำกันหรือไม่ซ้ำ โปรดทำดังนี้
ส่งกลับค่าที่ซ้ำกัน
1. เลือกเซลล์ที่จะให้ผลลัพธ์เป็นตัวเลขที่ซ้ำกันระหว่างเซลล์ที่ระบุสองเซลล์ที่มีตัวเลขคั่นด้วยเครื่องหมายจุลภาค ในกรณีนี้ ฉันเลือกเซลล์ D2 จากนั้นป้อนสูตรด้านล่างแล้วกดปุ่ม เข้าสู่ กุญแจ. เลือกเซลล์สูตรแล้วลาก ที่จับการป้อนอัตโนมัติ ลงเพื่อรับตัวเลขที่ซ้ำกันระหว่างเซลล์ในแถวอื่นๆ
=LET(x, TRANSPOSE(TEXTSPLIT(TEXTJOIN(", ",TRUE,A2:B2), ", ")),y,UNIQUE(x),z,UNIQUE(x,,1), TEXTJOIN(", ",TRUE,IF(ISERROR(MATCH(y,z,0)),y, "")))
ส่งกลับค่าที่ไม่ซ้ำ
หากต้องการส่งกลับตัวเลขที่ไม่ซ้ำกันระหว่างสองเซลล์ที่ระบุด้วยตัวเลขที่คั่นด้วยเครื่องหมายจุลภาคในแถวเดียวกัน สูตรต่อไปนี้สามารถช่วยได้
1. เลือกเซลล์ที่จะแสดงตัวเลขเฉพาะ ในกรณีนี้ ผมเลือกเซลล์ E2 จากนั้นป้อนสูตรด้านล่างแล้วกดปุ่ม เข้าสู่ กุญแจ. เลือกเซลล์สูตรแล้วลาก ที่จับการป้อนอัตโนมัติ ลงเพื่อรับตัวเลขเฉพาะระหว่างเซลล์ในแถวอื่นๆ
=TEXTJOIN(", ",TRUE,UNIQUE(TRANSPOSE(TEXTSPLIT(TEXTJOIN(", ",TRUE,A2:B2), ", ")),,1))
หมายเหตุ / รายละเอียดเพิ่มเติม:
เปรียบเทียบสองคอลัมน์ด้วยค่าที่คั่นด้วยเครื่องหมายจุลภาค และส่งคืนค่าที่ซ้ำกันหรือไม่ซ้ำกับ VBA
ฟังก์ชันที่ผู้ใช้กำหนดในส่วนนี้ช่วยในการเปรียบเทียบค่าที่คั่นด้วยเครื่องหมายจุลภาคในเซลล์ที่ระบุสองเซลล์ และส่งกลับค่าที่ซ้ำกันหรือค่าที่ไม่ซ้ำระหว่างเซลล์เหล่านั้น กรุณาทำดังนี้
ทำตามตัวอย่างเดียวกับด้านบน เพื่อเปรียบเทียบตัวเลขที่คั่นด้วยเครื่องหมายจุลภาคใน Column1 กับตัวเลขที่คั่นด้วยเครื่องหมายจุลภาคในแถวเดียวกันของ Column2 และส่งคืนค่าที่ซ้ำกันหรือไม่ซ้ำ โปรดลองใช้ฟังก์ชันที่ผู้ใช้กำหนดเองในส่วนนี้
1. ในสมุดงานเปิด ให้กดปุ่ม อื่น ๆ + F11 คีย์เพื่อเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง
2 ใน Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่างคลิก สิ่งที่ใส่เข้าไป > โมดูลและคัดลอกโค้ด VBA ต่อไปนี้ในไฟล์ โมดูล (รหัส) หน้าต่าง
รหัส VBA: เปรียบเทียบค่าที่คั่นด้วยเครื่องหมายจุลภาคในสองเซลล์และส่งคืนค่าที่ซ้ำกัน/ไม่ซ้ำกัน
Private Function COMPARE(Rng1, Rng2 As Range, Op As Boolean)
'Updated by Extendoffice 20221019
Dim R1Arr As Variant
Dim R2Arr As Variant
Dim Ans1 As String
Dim Ans2 As String
Dim Separator As String
Dim d1 As New Dictionary
Dim d2 As New Dictionary
Dim d3 As New Dictionary
Application.Volatile
Separator = ", "
R1Arr = Split(Rng1.Value, Separator)
R2Arr = Split(Rng2.Value, Separator)
Ans1 = ""
Ans2 = ""
For Each ch In R2Arr
If Not d2.Exists(ch) Then
d2.Add ch, "1"
End If
Next
If Op Then
For Each ch In R1Arr
If d2.Exists(ch) Then
If Not d3.Exists(ch) Then
d3.Add ch, "1"
Ans1 = Ans1 & ch & Separator
End If
End If
Next
If Ans1 <> "" Then
Ans1 = Mid(Ans1, 1, Len(Ans1) - Len(Separator))
End If
COMPARE = Ans1
Else
For Each ch In R1Arr
If Not d1.Exists(ch) Then
d1.Add ch, "1"
End If
Next
For Each ch In R1Arr
If Not d2.Exists(ch) Then
If Not d3.Exists(ch) Then
d3.Add ch, "1"
Ans2 = Ans2 & ch & Separator
End If
End If
Next
For Each ch In R2Arr
If Not d1.Exists(ch) Then
If Not d3.Exists(ch) Then
d3.Add ch, "1"
Ans2 = Ans2 & ch & Separator
End If
End If
Next
If Ans2 <> "" Then
Ans2 = Mid(Ans2, 1, Len(Ans2) - Len(Separator))
End If
COMPARE = Ans2
End If
End Function
3. หลังจากวางโค้ดในส่วน โมดูล (รหัส) หน้าต่างไปคลิก เครื่องมือ > อ้างอิง เพื่อเปิด เอกสารอ้างอิง - VBAProject ตรวจสอบหน้าต่าง รันไทม์การเขียนสคริปต์ของ Microsoft แลวคลิกปุ the ม OK ปุ่ม
4 กด อื่น ๆ + Q ปุ่มเพื่อปิดไฟล์ Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง
5. ตอนนี้คุณต้องใช้สองฟังก์ชันแยกกันเพื่อส่งคืนค่าที่ซ้ำกันและไม่ซ้ำกันจากเซลล์ค่าที่คั่นด้วยเครื่องหมายจุลภาคสองเซลล์
คืนค่าที่ซ้ำกัน
เลือกเซลล์ที่จะออกตัวเลขซ้ำ ในตัวอย่างนี้ ผมเลือกเซลล์ D2 จากนั้นป้อนสูตรด้านล่างแล้วกดปุ่ม เข้าสู่ คีย์เพื่อรับตัวเลขที่ซ้ำกันระหว่างเซลล์ A2 และ B2
เลือกเซลล์สูตรแล้วลาก AutoFill Handle ลงเพื่อรับตัวเลขที่ซ้ำกันระหว่างเซลล์ในแถวอื่นๆ
=COMPARE(A2,B2,TRUE)
ส่งกลับค่าที่ไม่ซ้ำ
เลือกเซลล์เพื่อแสดงตัวเลขเฉพาะ ในตัวอย่างนี้ ฉันเลือกเซลล์ E2 จากนั้นป้อนสูตรด้านล่างแล้วกดปุ่ม เข้าสู่ คีย์เพื่อรับตัวเลขเฉพาะระหว่างเซลล์ A2 และ B2
เลือกเซลล์สูตรแล้วลาก AutoFill Handle ลงเพื่อรับตัวเลขที่ไม่ซ้ำกันระหว่างเซลล์ในแถวอื่นๆ
=COMPARE(A2,B2,FALSE)
สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน
เพิ่มพูนทักษะ Excel ของคุณด้วย Kutools สำหรับ Excel และสัมผัสประสิทธิภาพอย่างที่ไม่เคยมีมาก่อน Kutools สำหรับ Excel เสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อเพิ่มประสิทธิภาพและประหยัดเวลา คลิกที่นี่เพื่อรับคุณสมบัติที่คุณต้องการมากที่สุด...
แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก
- เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
- เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
- เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!