ไปยังเนื้อหาหลัก

วิธีเปรียบเทียบค่าที่คั่นด้วยเครื่องหมายจุลภาคในสองเซลล์และส่งคืนค่าที่ซ้ำกันหรือไม่ซ้ำใน 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))

หมายเหตุ / รายละเอียดเพิ่มเติม:

1) สูตรสองสูตรข้างต้นสามารถใช้ได้ใน Excel for 365 เท่านั้น หากคุณใช้ Excel เวอร์ชันอื่นที่ไม่ใช่ Excel for 365 โปรดลองใช้วิธี VBA ต่อไปนี้
2) เซลล์ที่จะเปรียบเทียบต้องอยู่ติดกันในแถวหรือคอลัมน์เดียวกัน

เปรียบเทียบสองคอลัมน์ด้วยค่าที่คั่นด้วยเครื่องหมายจุลภาค และส่งคืนค่าที่ซ้ำกันหรือไม่ซ้ำกับ 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)

สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน

🤖 Kutools AI ผู้ช่วย: ปฏิวัติการวิเคราะห์ข้อมูลโดยยึดตาม: การดำเนินการที่ชาญฉลาด   |  สร้างรหัส  |  สร้างสูตรที่กำหนดเอง  |  วิเคราะห์ข้อมูลและสร้างแผนภูมิ  |  เรียกใช้ฟังก์ชัน Kutools...
คุณสมบัติยอดนิยม: ค้นหา เน้น หรือระบุรายการที่ซ้ำกัน   |  ลบแถวว่าง   |  รวมคอลัมน์หรือเซลล์โดยไม่สูญเสียข้อมูล   |   รอบโดยไม่มีสูตร ...
การค้นหาขั้นสูง: VLookup หลายเกณฑ์    VLookup หลายค่า  |   VLookup ข้ามหลายแผ่น   |   การค้นหาที่ไม่ชัดเจน ....
รายการแบบเลื่อนลงขั้นสูง: สร้างรายการแบบหล่นลงอย่างรวดเร็ว   |  รายการแบบหล่นลงขึ้นอยู่กับ   |  เลือกหลายรายการแบบหล่นลง ....
ผู้จัดการคอลัมน์: เพิ่มจำนวนคอลัมน์เฉพาะ  |  ย้ายคอลัมน์  |  สลับสถานะการมองเห็นของคอลัมน์ที่ซ่อนอยู่  |  เปรียบเทียบช่วงและคอลัมน์ ...
คุณสมบัติเด่น: กริดโฟกัส   |  มุมมองการออกแบบ   |   บาร์สูตรใหญ่    สมุดงานและตัวจัดการชีต   |  ห้องสมุดทรัพยากร (ข้อความอัตโนมัติ)   |  เลือกวันที่   |  รวมแผ่นงาน   |  เข้ารหัส/ถอดรหัสเซลล์    ส่งอีเมลตามรายการ   |  ซุปเปอร์ฟิลเตอร์   |   ตัวกรองพิเศษ (กรองตัวหนา/ตัวเอียง/ขีดทับ...) ...
ชุดเครื่องมือ 15 อันดับแรก12 ข้อความ เครื่องมือ (เพิ่มข้อความ, ลบอักขระ, ... )   |   50 + แผนภูมิ ประเภท (แผนภูมิ Gantt, ... )   |   40+ ใช้งานได้จริง สูตร (คำนวณอายุตามวันเกิด, ... )   |   19 การแทรก เครื่องมือ (ใส่ QR Code, แทรกรูปภาพจากเส้นทาง, ... )   |   12 การแปลง เครื่องมือ (ตัวเลขเป็นคำ, การแปลงสกุลเงิน, ... )   |   7 ผสานและแยก เครื่องมือ (แถวรวมขั้นสูง, แยกเซลล์, ... )   |   ... และอื่น ๆ

เพิ่มพูนทักษะ Excel ของคุณด้วย Kutools สำหรับ Excel และสัมผัสประสิทธิภาพอย่างที่ไม่เคยมีมาก่อน Kutools สำหรับ Excel เสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อเพิ่มประสิทธิภาพและประหยัดเวลา  คลิกที่นี่เพื่อรับคุณสมบัติที่คุณต้องการมากที่สุด...

รายละเอียด


แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations