Excel kullanarak, “true” veya “false” metnini içeren bir sütundaki hücre sayısını nasıl sayabilirim?


10

Her hücre tek bir kelime içeren hücre sütunu olan bir elektronik tablo var. Bazı kelimelerin oluşumlarını saymak istiyorum. Çoğu kelime için COUNTIF işlevini kullanabilirsiniz, ancak kelime "true" veya "false" ise, 0 alıyorum.

        A         B 
1     elma 2
 2     gerçek 0
 3     yanlış 0
 4     portakal 1
 5     elma

Yukarıdaki elektronik tablo tablosunda, B1, B2, B3 ve B4 hücrelerinde bu formüller var:

=COUNTIF(A1:A5,"apples")
=COUNTIF(A1:A5,"true")
=COUNTIF(A1:A5,"false")
=COUNTIF(A1:A5,"oranges)

Gördüğünüz gibi, elma ve portakalları sayabilirim, ancak doğru veya yanlış değil. Ben de denedim:

=COUNTIF(A1:A5,TRUE)

Ama bu da işe yaramıyor.

Not - Excel 2007 kullanıyorum.


3
Değeri için bu konuda fikrimi değiştirdim. Excel formülleri bir tür bildirimsel programlama dili olarak düşünülebilir. Ben VBA kullanmadan tam Turing olduğunu sanmıyorum ama o zaman ikisi de düzenli ifadeler - SO topluluk tarafından kabul edilebilir sayılır!
Martin Smith

1
Joker çözüm ile sopa. "trudge" gibi "true" veya "trud" ile başlayan=COUNTIF(A1:A5,"<truf")-COUNTIF(A1:A5,"<=trud") her dizeyi sayar .
Scott

1
Jay, bu eski soru yeni bir yazı nedeniyle tekrar ortaya çıktı. Sitenin amaçlanan yapısı ile bir tür karışıklık soruya bir cevap yerleştirmek. Cevap bölümünü bir cevaba taşıyabilir misiniz?
fixer1234

Yanıtlar:


5

Bu çalışmalı:

=COUNTIF(A1:A5,"*true")

gerçi doğrudan önce herhangi bir metni varsa bir hücreyi sayar. Ancak bu sizin için kaba bir çözüm olabilir.


1
İyi öneri - Joker kartları düşünmemiştim. "True" ile biten kelimeleri filtrelemek için ikinci bir COUNTIF kullanılabilir. Bu formül çalışıyor: = COUNTIF (A1: A5, " true") - COUNTIF (A1: A5, " ? True") Ben bu cevabı iptal ediyorum, ama ben bir acemi şimdiye kadar sadece 11 temsilcisi olacak. (Stackoverflow'dan herhangi bir şey
aktaramıyorum

1
Burada başka bir varyasyonu olan: =COUNTIFS(A1:A5, "tru?", A1:A5, "*e").
Scott

7

COUNTIF formülünün ikinci argümanı Excel tarafından gerçekleştirilecek bir test olarak yorumlanır (örn. "> 3" vb. Girebiliriz). Bu durumda, Excel "true" ve "false" dizelerini 1 ve 0'a dönüştürüyor gibi görünüyor. Bu, orijinal metinle eşleşmiyor.

Bu sorunu bildiğim tek çözüm sayımı yapmak için VBA kodu yazmaktır.

Giriş verilerini değiştirmek kabul edilebilirse, "true" yerine "T" ve "false" yerine "F" yazın, sonra olarak değiştirin COUNTIF(A1:A5,"T").

Bunu attığımda savaşı bıraktım ve girdi verilerini değiştirdim.

Not: Excel 2003'ü kullanma - aynı sorun


Geçici geçici çözümüm böyle bir şeye gitti - başka bir sütun ekledim ve hücreleri kullandım: IF (A1 = "true", "T", IF (A1 = "false", "F", "")) .

Hmm hüsranı görebiliyorum. COUNTIF(A2,">=trud")ve COUNTIF(A2,"<=truf")ikisi de çalışır. COUNTIF(A2,A2)ve akla gelebilecek herhangi bir varyant yoktur!
Martin Smith

Öyle görünüyor =COUNTIF(G1,">=true")ve =COUNTIF(G1,"<=true") herhangi bir olası girdi için her zaman 0'a dönüyor CHAR(1), CHAR(255)böylece dönüştürülmekte olan her şey tamamen karşılaştırılamaz görünüyor. Bir veritabanında NULL karşılaştırma gibi davranıyor gibi görünüyor.
Martin Smith

3

Excel'in "true / TRUE" ve "false / FALSE" değerlerini formüllerde göründüklerinde sihirli dizeler olarak ele aldığı anlaşılır - işlevler olarak kabul edilirler: dizeler yerine TRUE () ve FALSE ().

Bir sütunda true ve false saymanız gerekiyorsa, ölçüt olarak "true" veya "= true" kullanırsanız sayı alamazsınız. Doğru ve yanlışları kelime olarak saymak için kullanabileceğiniz bazı yaklaşımlar vardır.

Use a pair of COUNTIF functions. Either of the following works:

=COUNTIF(A1:A5,"*true")-COUNTIF(A1:A5,"*?true")

or

=COUNTIF(A1:A5,"<truf")-COUNTIF(A1:A5,"<=trud")

Create a new column with true converted to "T" and false converted to "F" using the formula:

=IF(A1="true","T",IF(A1="false","F",""))

Then trues and falses can be counted using:

=COUNTIF(A1:A5,"T")
=COUNTIF(A1:A5,"F")

Don't use "true" and "false" to begin with, use something else (such as T and F).

Joker karakter fikri için Sux2Lose ve dize ile karşılaştırmaları doğru veya yanlıştan hemen daha büyük ve daha az kullanma fikri için Martin Smith'e teşekkürler.


0

Aşağıdaki formülleri kullanabildim:

=COUNTIF(A1:A5,"=apples")
=COUNTIF(A1:A5,"=true")
=COUNTIF(A1:A5,"=false")
=COUNTIF(A1:A5,"=oranges")

İçin yerleşik yardımı okuyun COUNTIF. Durum üzerinde operatörleri kullanma yeteneğini daha ayrıntılı olarak açıklarlar.


1
Benim için çalışmıyor. 0 döndürür
Martin Smith

1
Bu benim için de işe yaramıyor.
Jay Elston

0

SUMPRODUCT formülüyle benzer bir sorun yaşadım. FALSE terimi etrafındaki tırnak işaretlerini kaldırarak formül, MS EXCEL 2003 kullanarak doğru sonucu verdi.


1
= COUNTIF (A1: A5, TRUE) denediğim ve Excel'in 2007 sürümünü kullandığım soruda bahsetmiştim.
Jay Elston

0

Aşağıdaki formülü kullanarak sorunu çözebildim:

= EĞERSAY (A1: A5, "T *").

"T*" sütundaki girişler yalnızca bir "T" kelimesi ile sınırlıysa "True" ifadesinin yerini alır.

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.