Excel'de iki hücrede virgülle ayrılmış değerleri karşılaştırıp yinelenen veya benzersiz değerleri nasıl döndürebilirsiniz?
Aşağıdaki ekran görüntüsünde gösterildiği gibi, her bir sütunun hücresinde virgülle ayrılmış sayılar bulunan iki sütun - Sütun1 ve Sütun2 bulunmaktadır. Sütun1'deki virgülle ayrılmış sayıları aynı satırdaki Sütun2 hücresi içerikleriyle karşılaştırıp tüm yinelenen veya benzersiz değerleri döndürmek için ne yapabilirsiniz?
Bu öğretici, bu görevi yerine getirmenize yardımcı olmak için iki yöntem sunar.
Formüllerle iki hücrede virgülle ayrılmış değerleri karşılaştırın ve yinelenen veya benzersiz değerleri döndürün
Bu bölüm, iki hücrede virgülle ayrılmış değerleri karşılaştırmak ve aralarındaki yinelenen veya benzersiz değerleri döndürmek için size yardımcı olacak iki formül sunar.
Not: Aşağıdaki formüller yalnızca Excel 365'te çalışır. Eğer başka bir Excel sürümünü kullanıyorsanız, aşağıdaki VBA yöntemini deneyin.
Yukarıdaki iki sütunu örnek alarak, Sütun1'deki virgülle ayrılmış sayıları aynı satırdaki Sütun2'deki virgülle ayrılmış sayılarla karşılaştırıp yinelenen veya benzersiz değerleri döndürmek için lütfen şu adımları izleyin.
Yinelenen değerleri döndür
1. İki belirlenmiş hücre arasında virgülle ayrılmış sayılardan yinelenenleri çıkarmak için bir hücre seçin; bu durumda D2 hücresini seçiyorum, ardından aşağıdaki formülü girip Enter tuşuna basın. Formül hücresini seçin ve diğer satırlardaki hücreler arasındaki yinelenen sayıları elde etmek için Otomatik Doldurma Tutamağını aşağı doğru sürükleyin.
=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ğerleri döndür
Aynı satırdaki virgülle ayrılmış sayılara sahip iki belirlenmiş hücre arasındaki benzersiz sayıları döndürmek için aşağıdaki formül yardımcı olacaktır.
1. Benzersiz sayıları çıkarmak için bir hücre seçin; bu durumda E2 hücresini seçiyorum, ardından aşağıdaki formülü girip Enter tuşuna basın. Formül hücresini seçin ve diğer satırlardaki hücreler arasındaki benzersiz sayıları elde etmek için Otomatik Doldurma Tutamağını aşağı doğru sürükleyin.
=TEXTJOIN(", ",TRUE,UNIQUE(TRANSPOSE(TEXTSPLIT(TEXTJOIN(", ",TRUE,A2:B2), ", ")),,1))
Notlar:

Kutools AI ile Excel Sihirini Keşfedin
- Akıllı Yürütme: Hücre işlemleri gerçekleştirin, verileri analiz edin ve grafikler oluşturun—tümü basit komutlarla sürülür.
- Özel Formüller: İş akışlarınızı hızlandırmak için özel formüller oluşturun.
- VBA Kodlama: VBA kodunu kolayca yazın ve uygulayın.
- Formül Yorumlama: Karmaşık formülleri kolayca anlayın.
- Metin Çevirisi: Elektronik tablolarınız içindeki dil engellerini aşın.
VBA ile virgülle ayrılmış değerlere sahip iki sütunu karşılaştırın ve yinelenen veya benzersiz değerleri döndürün
Bu bölümde sağlanan kullanıcı tanımlı işlev, iki belirlenmiş hücredeki virgülle ayrılmış değerleri karşılaştırmanıza ve aralarındaki yinelenen veya benzersiz değerleri döndürmenize yardımcı olur. Lütfen şu adımları izleyin.
Yukarıdaki örneği ele alarak, Sütun1'deki virgülle ayrılmış sayıları aynı satırdaki Sütun2'deki virgülle ayrılmış sayılarla karşılaştırıp yinelenen veya benzersiz değerleri döndürmek için bu bölümdeki kullanıcı tanımlı işlevi deneyin.
1. Açık olan çalışma kitabında, Microsoft Visual Basic for Applications penceresini açmak için Alt + F11 tuşlarına basın.
2. Microsoft Visual Basic for Applications penceresinde, Ekle > Modül'e tıklayın ve aşağıdaki VBA kodunu Modül (Kod) penceresine kopyalayın.
VBA Kodu: İki hücrede virgülle ayrılmış değerleri karşılaştırın ve yinelenen/benzersiz değerleri 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 Modül (Kod) penceresine yapıştırdıktan sonra, Araçlar > Referanslar'a tıklayarak Referanslar – VBAProject penceresini açın, Microsoft Scripting Runtime kutusunu işaretleyin ve Tamam düğmesine tıklayın.
4. Microsoft Visual Basic for Applications penceresini kapatmak için Alt + Q tuşlarına basın.
5. Şimdi yinelenen ve benzersiz değerleri döndürmek için iki işlevi ayrı ayrı uygulamanız gerekiyor.
Yinelenen değeri döndür
Yinelenen sayıları çıkarmak için bir hücre seçin; bu örnekte D2 hücresini seçiyorum, ardından aşağıdaki formülü girip Enter tuşuna basarak A2 ve B2 hücreleri arasındaki yinelenen sayıları elde edin.
Formül hücresini seçin ve diğer satırlardaki hücreler arasındaki yinelenen sayıları elde etmek için Otomatik Doldurma Tutamağını aşağı doğru sürükleyin.
=COMPARE(A2,B2,TRUE)
Benzersiz değerleri döndür
Benzersiz sayıları çıkarmak için bir hücre seçin; bu örnekte E2 hücresini seçiyorum, ardından aşağıdaki formülü girip Enter tuşuna basarak A2 ve B2 hücreleri arasındaki benzersiz sayıları elde edin.
Formül hücresini seçin ve diğer satırlardaki hücreler arasındaki benzersiz sayıları elde etmek için Otomatik Doldurma Tutamağını aşağı doğru sürükleyin.
=COMPARE(A2,B2,FALSE)
En İyi Ofis Verimlilik Araçları
Kutools for Excel ile Excel becerilerinizi geliştirin ve daha önce hiç olmadığı kadar verimli olun. Kutools for Excel, üretkenliğinizi artırmak ve zamanınızı kaydetmek için300'den fazla gelişmiş özellik sunar. En çok ihtiyacınız olan özelliği almak için buraya tıklayın...
Office Tab, Office'e sekmeli arayüz getirir ve işinizi çok daha kolaylaştırır
- Word, Excel, PowerPoint'te sekmeli düzenleme ve okuma özelliğini etkinleştirin.
- Aynı pencerenin yeni sekmelerinde birden fazla belge açın ve oluşturun, yeni pencerelerde değil.
- Verimliliğinizi %50 artırır ve her gün yüzlerce fare tıklamasını azaltır!