Note: The other languages of the website are Google-translated. Back to English

วิธีเปรียบเทียบค่าที่คั่นด้วยเครื่องหมายจุลภาคในสองเซลล์และส่งคืนค่าที่ซ้ำกันหรือไม่ซ้ำใน 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 สำหรับ Excel แก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%

  • นำมาใช้ใหม่: ใส่อย่างรวดเร็ว สูตรที่ซับซ้อนแผนภูมิ และสิ่งที่คุณเคยใช้มาก่อน เข้ารหัสเซลล์ ด้วยรหัสผ่าน; สร้างรายชื่อผู้รับจดหมาย และส่งอีเมล ...
  • ซุปเปอร์ฟอร์มูล่าบาร์ (แก้ไขข้อความและสูตรหลายบรรทัดได้อย่างง่ายดาย); การอ่านเค้าโครง (อ่านและแก้ไขเซลล์จำนวนมากได้อย่างง่ายดาย); วางลงในช่วงที่กรองแล้ว...
  • ผสานเซลล์ / แถว / คอลัมน์ โดยไม่สูญเสียข้อมูล แยกเนื้อหาของเซลล์ รวมแถว / คอลัมน์ที่ซ้ำกัน... ป้องกันเซลล์ซ้ำ; เปรียบเทียบช่วง...
  • เลือกซ้ำหรือไม่ซ้ำ แถว; เลือกแถวว่าง (เซลล์ทั้งหมดว่างเปล่า); Super Find และ Fuzzy Find ในสมุดงานจำนวนมาก สุ่มเลือก ...
  • สำเนาถูกต้อง หลายเซลล์โดยไม่เปลี่ยนการอ้างอิงสูตร สร้างการอ้างอิงอัตโนมัติ ถึงหลายแผ่น ใส่สัญลักษณ์แสดงหัวข้อย่อย, กล่องกาเครื่องหมายและอื่น ๆ ...
  • แยกข้อความ, เพิ่มข้อความ, ลบตามตำแหน่ง, ลบ Space; สร้างและพิมพ์ผลรวมย่อยของเพจ แปลงระหว่างเนื้อหาของเซลล์และความคิดเห็น...
  • ซุปเปอร์ฟิลเตอร์ (บันทึกและใช้โครงร่างตัวกรองกับแผ่นงานอื่น ๆ ); การเรียงลำดับขั้นสูง ตามเดือน / สัปดาห์ / วันความถี่และอื่น ๆ ตัวกรองพิเศษ โดยตัวหนาตัวเอียง ...
  • รวมสมุดงานและแผ่นงาน; ผสานตารางตามคอลัมน์สำคัญ แยกข้อมูลออกเป็นหลายแผ่น; Batch แปลง xls, xlsx และ PDF...
  • คุณสมบัติที่ทรงพลังมากกว่า 300 รายการ. รองรับ Office/Excel 2007-2021 และ 365 รองรับทุกภาษา ง่ายต่อการปรับใช้ในองค์กรหรือองค์กรของคุณ คุณสมบัติเต็มรูปแบบ ทดลองใช้ฟรี 30 วัน รับประกันคืนเงินภายใน 60 วัน
kte แท็บ 201905

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

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
ด้านล่าง officetab
จัดเรียงความคิดเห็นโดย
ความคิดเห็น (0)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ

ช่องทางอื่นๆ

ลิขสิทธิ์© 2009 - wwwextendoffice.com | สงวนลิขสิทธิ์. ขับเคลื่อนโดย ExtendOffice. | แผนผังเว็บไซต์
Microsoft และโลโก้ Office เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Microsoft Corporation ในสหรัฐอเมริกาและ / หรือประเทศอื่น ๆ
ได้รับการปกป้องโดย Sectigo SSL