İki sayfa içeren bir Excel dosyası var. Her ikisi de bazı veriler içerir. İki sayfanın ortak kayıtlarını bulmalıyım (yani her iki sayfada da bulunan kayıtlar). Manuel olarak yapabilirim, ancak bunun için mevcut olan herhangi bir araç / işlev var mı?
İki sayfa içeren bir Excel dosyası var. Her ikisi de bazı veriler içerir. İki sayfanın ortak kayıtlarını bulmalıyım (yani her iki sayfada da bulunan kayıtlar). Manuel olarak yapabilirim, ancak bunun için mevcut olan herhangi bir araç / işlev var mı?
Yanıtlar:
Anahtar yapınızın ne kadar karmaşık olduğuna bağlı olarak VLOOKUP'ı kullanabilirsiniz.
(VLOOKUP için Microsoft Office Destek web sitesinde bir arama yapın.)
Bunu gizleyebilirsiniz. Csv ve birçok seçenek var
Eğer Unix erişiminiz varsa çalıştırabileceğiniz diff <file1> <file2>
yasdiff <file1> <file2>
Eğer erişiminiz varsa TortoiseSVN
ya TortoiseGit
ya Eclipse
, o iki dosya diff edebilir ve farklılıklar ekranda yapılacaktır. İçin Tortoise
iki dosyayı seçip Diff
. İçin eclipse
sürükle gui'ye içine bu iki dosya seçmek ve seçimdiff
Dosyalar çok büyük değilse deneyin: http://neil.fraser.name/software/diff_match_patch/svn/trunk/demos/demo_diff.html Metninizi iki kutuya koyabilir ve kanıtlanmış bir fark algoritması kullanarak bir fark çalıştırabilirsiniz [Myer's diff]
Eğer Windows iseniz WinDiff veya WinMerge - http://winmerge.org/ kullanabilirsiniz . Kişisel olarak WinMerge'i dizinleri değiştirebileceği için kullanıyorum.
Bu yardımcı olur umarım.
diff
/ sdiff
birkaç dosya farklı olmak üzere, büyük ölçüde aynı olan iki dosyanız olduğunda. Aynı şekilde birkaç satırla büyük ölçüde farklı olan dosyalar için çok kullanışlı değillerdir.
Hücreler her sayfada aynı yerde olacaksa, üçüncü bir sayfa kullanabilir, ardından aşağıdaki formülü doldurabilirsiniz:
=IF('Sheet1'!A1<>'Sheet2'!A1,"Different", "-")
değişiklikleri karşılaştırmak için, "Sayfa1" ve "Sayfa2" sayfa adınızdır.
Ne yapmak istediğinize bağlı olarak Excel'de kullanabileceğiniz birkaç formül vardır. Formüllerin tümü, her iki tabloda da satırları eşleştirmek için kullandıkları tek bir sütun anahtarı gerektirir. Tek sütunlu bir anahtarınız yoksa, bir tane oluşturmanız gerekir. Örneğin, verileriniz B2 ile H500 arasındaysa ve anahtar ilk üç sütundursa, A2 sütununda tek sütun anahtarınızı oluşturun =B2&"-"&C2"-"&D2
ve diğer satırlara kopyalayın. Bunu her iki tabloda da yapın ve şimdi kullanmak için bir anahtar sütununuz var.
Excel'de kullanacağım ana iki formül =COUNTIF(range, criteria)
ve =VLOOKUP(lookup_value, table_array, col_index_num, FALSE)
. tablo1'de tablo2'de COUNTIF
kaç kez criteria
bulunduğunu sayar range
. Sonuç sıfırdan büyükse, satır her iki tabloda dadır. table1 içinde table2'yi VLOOKUP
arar ve değeri sütuna döndürür . Eğer bir eşleşme bulamazsa, o döner .lookup_value
table_array
col_index_num
VLOOKUP
NA()
Tablo 1'deki bilgileri tablo 1'den görmek isterseniz, kullanın VLOOKUP
. Yalnızca bir satırın her iki tabloda da olup olmadığını bilmek istiyorsanız, kullanın COUNTIF
.
Herhangi bir şey eklemek istemiyorsanız veya mevcut Excel tablolarını değiştirmek istemiyorsanız, bunlara Access'te bağlanıp orada temel bir sorgu çalıştırabilirsiniz. (Bunun nasıl yapılacağına ilişkin detaylar istiyorsan bana haber ver.)
Ücretsiz değildir ve ihtiyaçlarınız için aşırı düşük olabilir, ancak Beyond Compare benim için Excel sayfalarını karşılaştırmak için harika bir iş çıkardı.
Özel bir araç var. Excel Diff görsel olarak sonuç çıktı gibi görünüyor. http://www.suntrap-systems.com/ExcelDiff/
Deneme sürümü olduğu için düşünmeye çalışın.
HTH
Sadece iki kuruşum, şimdiye kadar kimse burada bahsetmediyse, Excel Karşılaştırma Formülü Yazılımını da deneyebilirsiniz (ücretli bir yazılımdır ancak ücretsiz bir deneme süresine sahiptir).
Her neyse, bence en iyi çözüm, belki de sorunuzun yorumunda çoktan dile getirilmiştir: CSV'ye dışa aktarın ve sonra karşılaştırmak istediğiniz herhangi bir diff-tool kullanın , basit! ( burada diff-tools listesi )