使用 Excel,如何计算包含文本“true”或“false”的列中的单元格数量?

使用 Excel,如何计算包含文本“true”或“false”的列中的单元格数量?

我有一张电子表格,其中有一列单元格,每个单元格包含一个单词。我想计算某些单词的出现次数。我可以对大多数单词使用 COUNTIF 函数,但如果单词为“真”或“假”,则结果为 0。

        A        
1    苹果 2
2    真 0
3    假 0
4    橘子 1
5    苹果

在上面的电子表格中,我在单元格 B1、B2、B3 和 B4 中有以下公式:

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

如你所见,我可以数苹果和橘子,但不能数真或假。我也试过这个:

=COUNTIF(A1:A5,TRUE)

但这也不起作用。

注意——我使用的是 Excel 2007。

答案1

这应该有效:

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

尽管如果单元格在 true 之前有任何文本,它也会将其计入。但这对您来说可能是一种粗暴的解决方法。

答案2

Excel 将 COUNTIF 公式的第二个参数解释为要执行的测试(例如,我们可以输入“>3”等)。在这种情况下,Excel 似乎正在将“true”和“false”字符串转换为 1 和 0。这与原始文本不匹配。

我知道的解决这个问题的唯一方法是编写 VBA 代码来进行计数。

如果可以接受更改输入数据,则将“true”替换为“T”,将“false”替换为“F”,然后更改为COUNTIF(A1:A5,"T")

当我被这个问题绊倒时,我放弃了战斗并改变了输入数据。

PS:使用 Excel 2003 - 同样的问题

答案3

看起来,当“true/TRUE”和“false/FALSE”出现在公式中时,Excel 会将它们视为魔术字符串 - 它们被视为函数:TRUE() 和 FALSE(),而不是字符串。

如果您需要统计某一列中的真假,则使用“true”或“=true”作为条件将无法获得计数。您可以使用一些方法将真假作为单词进行统计。

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).

感谢 Sux2Lose 提出的通配符想法,以及 Martin Smith 提出的使用大于或小于真或假的字符串进行比较的想法。

答案4

我能够使用以下公式解决这个问题:

=COUNTIF(A1:A5,"T*")。

"T*"如果列中的条目仅限于一个“T”字,则替换“True”。

相关内容