Excel'de İki Listeyi Karşılaştırma: Aynı ve Farklı Olanları Bulma
Yayın: · Son güncelleme:
Kısaca
Excel'de iki listeyi karşılaştırmak için birinci listenin yanına =EĞER(EĞERSAY(B:B;A2)>0;"Var";"Yok") yazmak yeterlidir. Ortak kayıt sayısını TOPLA.ÇARPIM, yalnız bir listede olanları FİLTRE verir; formülsüz yol koşullu biçimlendirmedir.
Adım adım
- 1
Listeleri yan yana koyun
Birinci listeyi A sütununa, ikinci listeyi B sütununa yerleştirin; başlıkları ilk satırda bırakın.
- 2
Boşlukları temizleyin
Sonunda boşluk kalmış isimler eşleşmez. Gerekirse =KIRP(A2) ile temiz bir yardımcı sütun oluşturun.
- 3
Eşleşme sütununu ekleyin
C2'ye =EĞER(EĞERSAY($B$2:$B$7;A2)>0;"Var";"Yok") yazıp formülü listenin sonuna kadar çekin.
- 4
Ortak kayıtları sayın
Tek hücrede =TOPLA.ÇARPIM(--(EĞERSAY(B2:B7;A2:A7)>0)) yazarak iki listede de olan kayıt sayısını bulun.
- 5
Farklı olanları listeleyin
Microsoft 365 ya da Excel 2021'de =FİLTRE(A2:A7;EĞERSAY(B2:B7;A2:A7)=0) ile yalnız birinci listede olanları ayrı bir alana çıkarın.
İçindekiler
İki liste karşılaştırılırken önce ne sorulmalı?
İlk soru, karşılaştırmanın satır satır mı yoksa liste genelinde mi yapılacağıdır. Satır satır karşılaştırmada A2 ile B2, A3 ile B3 eşleşir. Bu durum için aşağıda ayrı bir bölüm var.
Ocak ve şubat ayında sipariş veren müşterileri karşılaştırmak ise farklı bir iştir. Bir isim ilk listenin 2. satırında, ikinci listenin 5. satırında olabilir. Sıra tutmaz, yalnız varlık önemlidir.
Örneklerde A sütununda ocak, B sütununda şubat müşterileri var. İki listede de altışar firma bulunuyor. Üçü ortak.
EĞERSAY ile ortak kayıtları işaretleme
Her ismin öbür listede geçip geçmediğini bulmanın en kısa yolu EĞERSAY'dır. Fonksiyon, A2'deki ismin B sütununda kaç kez geçtiğini sayar. Sonuç sıfırdan büyükse isim iki listede de vardır.
| A | B | C | |
|---|---|---|---|
| 1 | Ocak listesi | Şubat listesi | |
| 2 | Akın Gıda | Deniz Market | Var |
| 3 | Deniz Market | Ege Yapı | |
| 4 | Ova Tarım | Mavi Tekstil | |
| 5 | Yıldız Ltd. | Akın Gıda | |
| 6 | Kuzey Kırtasiye | Sarı Lojistik | |
| 7 | Ege Yapı | Doğa Kozmetik |
=EĞER(EĞERSAY($B$2:$B$7;A2)>0;"Var";"Yok")=IF(COUNTIF($B$2:$B$7,A2)>0,"Var","Yok")Türkçe Excel'de bağımsız değişkenler noktalı virgülle (;), İngilizce Excel'de virgülle (,) ayrılır.
C2 hücresinin sonucu: Var
Akın Gıda, şubat listesinin dördüncü satırında geçiyor. EĞERSAY 1 döndürür ve sonuç "Var" olur.
Formülü C2'ye yazıp aşağı doğru çektiğinizde her satırda "Var" ya da "Yok" görürsünüz. B aralığını $B$2:$B$7 biçiminde mutlak yazmak burada şarttır. Dolar işareti olmazsa aralık her satırda bir aşağı kayar ve son satırlarda yanlış "Yok" sonuçları çıkar.
Aynı kontrolü KAÇINCI ile de yapabilirsiniz: =ESAYIYSA(KAÇINCI(A2;$B$2:$B$7;0)) isim bulunursa DOĞRU döndürür. DÜŞEYARA alışkanlığınız varsa =EĞERHATA(DÜŞEYARA(A2;$B$2:$B$7;1;YANLIŞ);"Yok") de çalışır, ama EĞERSAY'lı formül okunması en kolay olanıdır.
Kaç kayıt iki listede de var?
Ortak kayıt sayısını tek hücrede görmek için yardımcı sütun açmanıza gerek yoktur. TOPLA.ÇARPIM, EĞERSAY'ın her isim için verdiği sonuçları tek seferde değerlendirir. Başındaki iki eksi işareti DOĞRU ve YANLIŞ değerlerini 1 ve 0'a çevirir.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Ocak listesi | Şubat listesi | ||
| 2 | Akın Gıda | Deniz Market | 3 | |
| 3 | Deniz Market | Ege Yapı | ||
| 4 | Ova Tarım | Mavi Tekstil | ||
| 5 | Yıldız Ltd. | Akın Gıda | ||
| 6 | Kuzey Kırtasiye | Sarı Lojistik | ||
| 7 | Ege Yapı | Doğa Kozmetik |
=TOPLA.ÇARPIM(--(EĞERSAY(B2:B7;A2:A7)>0))=SUMPRODUCT(--(COUNTIF(B2:B7,A2:A7)>0))Türkçe Excel'de bağımsız değişkenler noktalı virgülle (;), İngilizce Excel'de virgülle (,) ayrılır.
D2 hücresinin sonucu: 3
Akın Gıda, Deniz Market ve Ege Yapı iki listede de var. Diğer üç ocak müşterisi şubatta sipariş vermemiş.
Bu sayı, iki dönem arasında kaç müşterinin tekrar sipariş verdiğini raporlamak için kullanışlıdır. Ocakta 6 müşteriden 3'ü şubatta da geldiyse tekrar oranı yüzde 50'dir. Hepsi bu.
Oranı formülle almak isterseniz aynı ifadeyi ocak listesinin dolu hücre sayısına bölersiniz: =TOPLA.ÇARPIM(--(EĞERSAY(B2:B7;A2:A7)>0))/BAĞ_DEĞ_DOLU_SAY(A2:A7). Hücreyi yüzde biçimine aldığınızda %50 görünür. Listeler her ay uzuyorsa aralıkları baştan geniş tutun, ama boş hücreleri bölene katmamak için BAĞ_DEĞ_DOLU_SAY kullanmaya devam edin.
Yalnız bir listede olanları FİLTRE ile çıkarma
Farklı olanları ayrı bir liste hâlinde görmek istiyorsanız Microsoft 365 ve Excel 2021'deki FİLTRE fonksiyonu işinizi görür. Koşul olarak EĞERSAY sonucunun sıfır olmasını verirsiniz. Sonuç, formülü yazdığınız hücreden aşağı doğru kendiliğinden yayılır.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Ocak listesi | Şubat listesi | ||
| 2 | Akın Gıda | Deniz Market | Ova Tarım | |
| 3 | Deniz Market | Ege Yapı | ||
| 4 | Ova Tarım | Mavi Tekstil | ||
| 5 | Yıldız Ltd. | Akın Gıda | ||
| 6 | Kuzey Kırtasiye | Sarı Lojistik | ||
| 7 | Ege Yapı | Doğa Kozmetik |
=FİLTRE(A2:A7;EĞERSAY(B2:B7;A2:A7)=0)=FILTER(A2:A7,COUNTIF(B2:B7,A2:A7)=0)Türkçe Excel'de bağımsız değişkenler noktalı virgülle (;), İngilizce Excel'de virgülle (,) ayrılır.
D2 hücresinin sonucu: Ova Tarım
Ova Tarım, Yıldız Ltd. ve Kuzey Kırtasiye şubat listesinde yok. Liste D2'den aşağı yayılır, D2'de Ova Tarım görünür.
Şubatta olup ocakta olmayan yeni müşterileri bulmak için sütunları yer değiştirmeniz yeter: =FİLTRE(B2:B7;EĞERSAY(A2:A7;B2:B7)=0). Altındaki hücreler doluysa formül #YAYILMA! hatası verir; sonuç alanını boş bırakın.
Satır satır karşılaştırma: aynı satırdaki değerler
Sipariş ile fatura tutarlarını ya da sayım ile sistem stokunu karşılaştırırken değerler aynı satırdadır. Bu durumda en kısa formül =A2=B2 olur ve DOĞRU ya da YANLIŞ döndürür. Daha okunur bir çıktı için =EĞER(A2=B2;"Aynı";"Farklı") yazabilirsiniz.
Eşittir işareti büyük ve küçük harfi ayırt etmez. "ABC-10" ile "abc-10" kodlarının farklı sayılması gerekiyorsa ÖZDEŞ kullanılır. =ÖZDEŞ(A2;B2) yalnız harfler birebir aynıysa DOĞRU döndürür.
Sütunlar sayı içeriyorsa farkın kendisi de gerekir. Sistemde 120, sayımda 114 adet görünen bir ürün için =B2-A2 sonucu -6'dır. Yüzde fark için =(B2-A2)/A2 yazıp hücreyi yüzde biçimine alırsınız; sonuç %-5 olur.
Formülsüz yol: yinelenenleri renklendirme
Yalnızca göz atmak istiyorsanız formül yazmadan da karşılaştırma yapılabilir. İki listeyi birlikte seçin, Giriş sekmesinde Koşullu Biçimlendirme, Hücre Kurallarını Vurgula ve Yinelenen Değerler adımlarını izleyin. İki listede de geçen isimler renklenir.
Bu yöntemin bir sınırı vardır: aynı listede iki kez yazılmış bir isim de renklenir. Liste içi tekrarlar varsa EĞERSAY'lı sütun daha güvenilir sonuç verir.
Eşleşmeyi bozan görünmez farklar
İki liste aynı görünüp eşleşme çıkmıyorsa sorun çoğu zaman verinin kendisindedir. İsmin sonunda kalan bir boşluk, "Akın Gıda " ile "Akın Gıda" değerlerini farklı kılar. KIRP fonksiyonuyla temizlenmiş bir yardımcı sütun bu sorunu çözer.
Büyük ve küçük harf ise EĞERSAY ve KAÇINCI için fark etmez. Harf duyarlı karşılaştırma gerekirse =ÖZDEŞ(A2;B2) kullanılır. Sayı gibi görünen ama metin olarak kaydedilmiş kodlar da eşleşmeyi bozar.
Sıradaki adım
Kendi dosyanızda önce iki listedeki boşlukları KIRP ile temizleyin, sonra EĞERSAY'lı sütunu ekleyin. "Yok" çıkan satırlara filtre uygulayarak eksik kayıtları tek bakışta görebilirsiniz.
Bu rehberde kullanılan fonksiyonlar
Aynı konudaki diğer rehberler: Excel'de Arama ve Başvuru
Sıkça Sorulan Sorular
Excel'de iki listeyi karşılaştırma formülü nedir?
En kısa formül =EĞER(EĞERSAY($B$2:$B$7;A2)>0;"Var";"Yok") biçimindedir. A2'deki değer B listesinde geçiyorsa "Var", geçmiyorsa "Yok" yazar.
DÜŞEYARA ile iki liste karşılaştırılabilir mi?
Evet. =EĞERHATA(DÜŞEYARA(A2;$B$2:$B$7;1;YANLIŞ);"Yok") bulunan değeri, bulunamayan için "Yok" yazar. EĞERSAY'lı formül aynı işi daha sade yapar.
Aynı görünen isimler neden eşleşmiyor?
Genellikle hücrelerden birinde baştaki ya da sondaki boşluk, ya da metin olarak kaydedilmiş bir sayı vardır. KIRP ile temizlemek ve sayıları sayıya çevirmek sorunu çözer.