Excel - sütun hücrelerini karşılaştırın ve kısmen aynı değeri içeriyorlarsa satırı silin


0

İki sütunun kısmen aynı değeri içerdiği bir CSV dosyasının satırlarını silmeye çalışıyorum, bunun gibi:

ColA                     ColB                 ColC       ColD
mydom/users/michael      mydom2\michael       blabla     false
mydom/users/julia        mydom2\sandra        blabla     true
mydom/users/charlie      mydom2\charlie       blabla     false
mydom/users/max          mydom2\albert        blabla     false

ColA, son eğik çizgiden sonra (ör. Michael) ters eğik çizgiden sonraki ColB ile aynı adı içeriyorsa (satır 1 ve 3'teki gibi), tüm satır silinmelidir.

Kaldır kopyalarını özel ölçütlere göre kullanmanın bir yolu var mı? Bu konuda yardıma ihtiyacım var, teşekkürler.


Süper Kullanana Hoşgeldiniz. Senaryo yazma hizmeti değiliz. Kullanıcıların bize şu ana kadar neler denediklerini (kullandıkları tüm komut dosyaları dahil) ve nerede olduklarını, belirli sorunlarda yardımcı olabilmemiz için nerede olduklarını söylemelerini bekliyoruz. Yalnızca komut dosyaları isteyen sorular çok geniştir ve büyük olasılıkla bekletilmekte veya kapatılmaktadır . Lütfen okuyun Nasıl iyi bir soru sorabilirim? .
DavidPostill

Hey, üzgünüm, biliyorum, aslında kendi başıma bir senaryo üzerinde çalışıyordum, ancak bunu Excel’de yapabilir miyim diye merak ettim, bu yüzden soruyu gönderdim. Ve excel'de sadece yinelenenleri kaldır seçeneğini biliyorum.
istiridye

Yanıtlar:


0

Powershell ile,

Select-String -n -path file.csv -Pattern "/([^/,]+).*\\\1" | select -exp Line

-neşleşmeyen değeri döndürür, kalıp istediğiniz şartlardır (CSV dosyasının sınırlayıcısını kontrol ederek). Test edildikten sonra > new_file.csv, satırın sonuna ekleyebilirsiniz .


1
Çok teşekkür ederim! Regex ile sorunu çözmeye çalışıyordum ama bu konuda yeniyim, bu yüzden çok yardımcı oldu! Csv sınırlayıcı olarak bir semikolon kullanıyorum, bu yüzden [^ /,] bölümünü bu [^ /;] olarak değiştirmeliyim? ". * \\\ 1" kısmı ne yapıyor? Çok teşekkürler!
istiridye

Doğru ;yerine kullanın. .*0 veya daha fazla ( *) karakter arar ( ., herhangi biri). \\ kaçmak için bir ters eğik çizgi gerektiren bir ters eğik çizgidir. \1parantezler tarafından yakalanan içeriğe karşı bir cevaptır: eğik çizgiden sonra "michael" varsa, ters eğik çizgiden sonra "michael" a ihtiyacınız vardır.
SΛLVΘ
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.