Eksik veri içeren bir listeyi, eksik veri içeren hücreler olmadan yeni bir listeye nasıl yoğunlaştırabilirim?


0
Column A    to     Column B
0.83               0.83
0.6                0.6
#N/A               0.99
#N/A               0.93
0.99    
#N/A    
0.93    

Eksik veri içeren bir listeyi, eksik veri içeren hücreler olmadan yeni bir listeye nasıl yoğunlaştırabilirim?


2
Neden "eşit değil # # N / A" için otomatik filtre ve filtre kullanmıyorsunuz? excel otomatik filtresi # N / A, # DIV / 0 veya #NAME gibi hataları biliyor.
nixda

Yanıtlar:


1

Sorunuz, bunu ne sıklıkta yapmak istediğinize ya da bunun için kaç sütun yapmanız gerektiği konusunda net değildi. İşte hızlı ve kirli yöntem. Çok fazla sütun için bir şeye ihtiyacınız olursa, vba kullanmak daha iyi olabilir.

  1. Verileri içeren sütunu seçin. Bir filtre ekleyin (veri menüsü-> filtre).
  2. liste için açılır menüyü seçin ve hatanın onay kutusundaki işareti kaldırın.
  3. Sütundaki ilk hücreyi seçin.
  4. Diğer görünür hücreleri seçmek için CTRL + ÜST KRKT + AŞAĞI tuşlarına basın.
  5. Kopyalamak için CTRL + C tuşlarına basın.
  6. Çalışma kitabındaki yeni bir sayfaya git (veya yeni bir tane oluşturmak için ÜST KRKT + F11 tuşlarına basın)
  7. Verileri hatasız yapıştırmak için CTRL + V tuşlarına basın.

Not: excel'in eski sürümleri için, filtrenin aşağı açılır menüsünden bir "özel filtre" kullanmanız gerekir ("eşit değil" hatası). Burada hızlıca bulabilirsiniz ("Excel Custom AutoFilters" başlığının altına bakın).

@Nixda: yikes .. Cevap verdikten sonra sayfayı yenileyene kadar yorumunuzda temelde aynı cevabı verdiğinizi fark etmedim.


1

Tiktok'un Otomatik Filtre çözümüne (ki kesinlikle daha esnek) ek olarak, bu biraz daha kısa olan başka bir "hızlı ve kirli" düzeltmesidir:

  1. A sütununu seçin ( Ctrl- Space)
  2. Ev -> Bul ve Seç -> Git ( Ctrl- G) -> Özel ( Alt- S)
  3. Formüllerinin ( Alt- F) veya sabitlerinin ( Alt- O) olmasına bağlı olarak , seçeneklerden birini seçin ve Hataların ( Alt- E) işaretini kaldırın.
  4. Kopyala ( Ctrl- C) - bu, hata olmayan her hücreyi seçer.
  5. Hedefi seçin (örn. Hücre B1) ve yapıştırın ( Ctrl- V)

Bitti!

Verilerin bir kopyasını istiyorum ziyade sadece hataları silmek yoksa, alternatif olarak adımın 3 değiştirebilir sadece (hatalarını seçip sadece onları (silme Ctrl- -)


1

Veya bir formülle (ihtiyaçlarınıza göre ayarlayın). B1'den başlayın ve kopyalayın.

=IFERROR(INDEX($A$1:$A$10,SMALL(IF(ISNUMBER($A$1:$A$10),ROW($A$1:$A$10)),ROW(A1))),"")

Bu bir dizi formülüdür ve Ctrl+ Shift+ ile onaylanmalıdırEnter

görüntü tanımını buraya girin

Veriler A1 ila A10’da değilse, ancak H25 ila H34’e

=IFERROR(INDEX($H$25:$H$34,SMALL(IF(ISNUMBER($H$25:$H$34),ROW($A$1:$A$10)),ROW(A1))),"")

Formülün hala nasıl Row ($ A $ 1: $ A $ 10) gösterdiğini unutmayın. Bu bölüm geçerli girişler için 1 ile 10 arasında bir sayı döndürür ve bu, INDEX'in doğru satırı çekmesi için gereken sayıdır.

Ayrıca, son Satır (A1) aynı kalır, çünkü bir yukarıdan sayıları döndürür ve en küçük (1), ikinci en küçük (2), üçüncü en küçük (3) vb. Değeri bulmak için kullanılır.


Bu aradığım şey gibi bir şey (kopyalamak / yapıştırmaktan kaçınmak için bir formüle ihtiyacım var), ancak bu özel formül çalışmıyor. Birincisi, IF ifadesi yazıldığı gibi eksik. Value_if_false nedir? Ayrıca, eğer A1: A10'daki ilgili hücre bir hata ise boş bir hücreye ("") dönecek şekilde ayarlanmış gibi görünüyor, ancak yeni listenin bir sonraki sayıya devam etmesini ve tüm hataları kaldırmasını istiyorum.
user197426

Yukarıda söylediğim gibi, formülün gereksinimlerinize uyacak şekilde ince ayarlara ihtiyacı olabilir. False parametresi isteğe bağlı olduğundan, IF ifadesi dahil değildir. Ve evet, bir hata durumunda boş bir hücre döndürür, böylece bu formülü içeren son satırlar hata değerleri göstermez. Kaç tane N / A değeri olduğunu bilmiyorsanız, formülün tüm değerlerin iyi olma olasılığını karşılamak için orijinal verilerdeki değerler kadar kopyalanması gerekir. ...
teylyn

... Hata tuzağı, yalnızca formülün son birkaç satırı için gösterilen hiçbir hata olmayacağından emin olur, orijinalden hiçbir değer döndürülmez. Veri kümeniz hakkında biraz daha net olun, sonra cevabımı daha belirgin bir formülle güncelleyebilirim.
teylyn

Formülü tamamen yanlış anlamış gibisin. Orijinal verilerdeki her hata değeri için boş bırakmaz. Hiç denedin mi? A1'den A10'a ayarlanmış bir veri oluşturun, formülü B1'e koyun (Ctrl-Shift-Enter'ı kullanarak) ve sonra B10'a kopyalayın.
teylyn

Formülle oynuyordum ve eğer listem A1'de başlıyorsa, ancak farklı bir sütunda başlamazsa çalışmasını sağlayabildim (tabii ki A1: A10'u uygun hücrelere değiştirdim). H25'te başlayan bir listem var. Formüle sütunlarla ilgili bir şey eklememe gerek var mı? Dizi formülleri hakkında pek bir fikrim yok ve indeks ve satır fonksiyonları da kafamı karıştırıyor gibi görünüyor. Formülü iyi anlayamadan, ihtiyaçlarıma uyacak şekilde değiştiremiyorum.
user197426

1

@Teylyn'in cevabındaki bir şeyi açıklığa kavuşturmam gerekiyor. Dizi formülü yukarıdaki örnekte (veya formülün çıktısı için istediğiniz veri konumunun ilk hücresi) B1'e kopyalanmalıdır ... sonra C + S + E tuşlarına basın, sonra bu hücreyi alın ve aşağı sürükleyin İstenilen sayıda çıkış hücresi - örneğin yukarıdaki örnekte - 4. Bu biraz kafa karıştırıcıdır ve Microsoft'un kendi yardım sitesi bu konuda herhangi bir kullanıcıya yardımcı olmaz, çünkü kullanıcıları herhangi bir dizi formülü için çıktı hücrelerini vurgulamaya yönlendirir, ardından formülünüzü ilk hücreye yazıp C + S + E tuşlarına basın. . Bunu anlamaya çalışırken bir süre harcadım ve ilk adımımın yanlış olduğunu anlayana kadar oldukça kızgınım oldu.

C + S + E formülünü vurgulayıp yapıştırırsanız çalışmaz. Yalnızca C + S + E yapıştırırsanız, formülü aşağı veya hedef hücrelerinizin üzerine sürüklerseniz çalışır.

yani böyle bir şey de işe yarayacak:

= IFERROR (INDEX (A A, KÜÇÜK (IF (ISNUMBER (A: A), SIRA (A: A)) SIRA (A1))), "")

Verileriniz D sütunundaysa veya bunun gibi:

= IFERROR (INDEX ($ D: $ D KÜÇÜK (IF (ISNUMBER ($ D: $ D) SIRA ($ D: $ D)) SIRA (D1))), "")

... ancak son "satır" referansı göreli referans olarak kalmalıdır, çünkü hedef hücrelerinizden aşağı doğru sürüklerken formülü D2, D3, D4 vb. ile doldurur.

Böylece, özellikle, özellikle: - bir hedef hücreyi vurgulayın - içine yapıştırın = IFERROR (INDEX (A: A, KÜÇÜK (IF (ISNUMBER (A: A), ROW (A: A))), ROW (A1))), "") - control + shift + enter - bu hücreyi tekrar vurgulayın - köşe kutusunu çıkış hücreleriniz için istediğiniz sayıda satır / sütun aşağı sürükleyin

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.