İki hücrede virgülle ayrılmış değerler nasıl karşılaştırılır ve Excel'de yinelenen veya benzersiz değerler nasıl döndürülür?
Aşağıdaki ekran görüntüsünde gösterildiği gibi, iki sütun vardır - Sütun1 ve Sütun2, sütundaki her hücre virgülle ayrılmış sayılar içerir. Sütun1'deki virgülle ayrılmış sayıları Sütun2'nin aynı satırındaki hücre içerikleriyle karşılaştırmak ve tüm yinelenen veya benzersiz değerleri döndürmek için ne yapabilirdiniz?
Bu öğretici, bu görevi gerçekleştirmenize yardımcı olacak iki yöntem sağlar.
İki hücrede virgülle ayrılmış değerleri karşılaştırın ve yinelenen veya benzersiz değerleri formüllerle döndürün
Bu bölüm, iki hücredeki virgülle ayrılmış değerleri karşılaştırmaya ve aralarında yinelenen veya benzersiz değerleri döndürmeye yardımcı olacak iki formül sağlar.
not: Aşağıdaki formüller yalnızca 365 için Excel. Excel'in diğer sürümlerini kullanıyorsanız, aşağıdaki VBA yöntemini kullanmayı deneyin.
Yukarıdaki iki sütunu örnek olarak alın, Sütun1'deki virgülle ayrılmış sayıları Sütun2'nin aynı satırındaki virgülle ayrılmış sayılarla karşılaştırmak ve yinelenen veya benzersiz değerler döndürmek için lütfen aşağıdakileri yapın.
Yinelenen değerleri döndür
1. Belirtilen iki hücre arasındaki yinelenen sayıları virgülle ayrılmış sayılarla çıkarmak için bir hücre seçin, bu durumda D2 hücresini seçiyorum, ardından aşağıdaki formülü girip Keşfet anahtar. Formül hücresini seçin ve sürükleyin Otomatik Doldurma Kolu diğer satırlardaki hücreler arasında yinelenen sayıları almak için aşağı.
=LET(x, TRANSPOSE(TEXTSPLIT(TEXTJOIN(", ",TRUE,A2:B2), ", ")),y,UNIQUE(x),z,UNIQUE(x,,1), TEXTJOIN(", ",TRUE,IF(ISERROR(MATCH(y,z,0)),y, "")))
Benzersiz değerler döndür
Aynı satırda virgülle ayrılmış sayılarla belirtilen iki hücre arasındaki benzersiz sayıları döndürmek için aşağıdaki formül yardımcı olabilir.
1. Benzersiz sayıların çıktısını almak için bir hücre seçin, bu durumda E2 hücresini seçiyorum, ardından aşağıdaki formülü girip Keşfet anahtar. Formül hücresini seçin ve sürükleyin Otomatik Doldurma Kolu diğer satırlardaki hücreler arasındaki benzersiz sayıları elde etmek için aşağı
=TEXTJOIN(", ",TRUE,UNIQUE(TRANSPOSE(TEXTSPLIT(TEXTJOIN(", ",TRUE,A2:B2), ", ")),,1))
notlar:
İki sütunu virgülle ayrılmış değerlerle karşılaştırın ve yinelenen veya benzersiz değerleri VBA ile döndürün
Bu bölümde sağlanan kullanıcı tanımlı işlev, belirtilen iki hücredeki virgülle ayrılmış değerleri karşılaştırmaya ve aralarında yinelenen değerleri veya benzersiz değerleri döndürmeye yardımcı olur. Lütfen aşağıdaki gibi yapın.
Yukarıdaki aynı örneği alın, Sütun1'deki virgülle ayrılmış sayıları Sütun2'nin aynı satırındaki virgülle ayrılmış sayılarla karşılaştırmak ve yinelenen veya benzersiz değerler döndürmek için lütfen bu bölümdeki kullanıcı tanımlı işlevi deneyin.
1. Açılış çalışma kitabında, Ara Toplam + F11 tuşlarını açmak için Uygulamalar için Microsoft Visual Basic pencere.
2. içinde Uygulamalar için Microsoft Visual Basic Pencere, tıklayın Ekle > modül, ve aşağıdaki VBA kodunu kopyalayın Modül (Kod) pencere.
VBA kodu: İki hücrede virgülle ayrılmış değerleri karşılaştırın ve yinelenen/benzersiz değerler döndürün
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. Kodu yapıştırdıktan sonra Modül (Kod) pencere, tıklayın Tools > Referanslar açmak için Referanslar - VBAProject pencere, kontrol edin Microsoft Komut Dosyası Çalışma Zamanı kutusunu işaretleyin ve ardından OK düğmesine basın.
4. Tuşuna basın. Ara Toplam + Q kapatmak için anahtarlar Uygulamalar için Microsoft Visual Basic pencere.
5. Şimdi, virgülle ayrılmış iki değer hücresinden yinelenen ve benzersiz değerleri döndürmek için iki işlevi ayrı ayrı uygulamanız gerekir.
Yinelenen değeri döndür
Yinelenen sayıların çıktısını almak için bir hücre seçin, bu örnekte D2 hücresini seçiyorum, ardından aşağıdaki formülü girip Keşfet tuşu, A2 ve B2 hücresi arasındaki yinelenen sayıları almak için.
Diğer satırlardaki hücreler arasında yinelenen sayıları elde etmek için formül hücresini seçin ve Otomatik Doldurma Kolunu aşağı sürükleyin.
=COMPARE(A2,B2,TRUE)
Benzersiz değerler döndür
Benzersiz sayıların çıktısını almak için bir hücre seçin, bu örnekte E2 hücresini seçiyorum, ardından aşağıdaki formülü girip Keşfet tuşu, A2 ve B2 hücresi arasındaki benzersiz sayıları almak için.
Diğer satırlardaki hücreler arasındaki benzersiz sayıları elde etmek için formül hücresini seçin ve Otomatik Doldurma Kolunu aşağı sürükleyin.
=COMPARE(A2,B2,FALSE)
En İyi Ofis Üretkenlik Araçları
Kutools for Excel ile Excel Becerilerinizi Güçlendirin ve Daha Önce Hiç Olmadığı Gibi Verimliliği Deneyimleyin. Kutools for Excel, Üretkenliği Artırmak ve Zamandan Tasarruf Etmek için 300'den Fazla Gelişmiş Özellik Sunar. En Çok İhtiyacınız Olan Özelliği Almak İçin Buraya Tıklayın...
Office Tab, Office'e Sekmeli Arayüz Getirir ve İşinizi Çok Daha Kolay Hale Getirir
- Word, Excel, PowerPoint'te sekmeli düzenlemeyi ve okumayı etkinleştirin, Publisher, Access, Visio ve Project.
- Yeni pencereler yerine aynı pencerenin yeni sekmelerinde birden çok belge açın ve oluşturun.
- Üretkenliğinizi% 50 artırır ve her gün sizin için yüzlerce fare tıklamasını azaltır!