Excel COUNTIF返回不明确的结果

时间:2017-11-16 19:56:02

标签: excel countif

我正在尝试在大范围的值上使用Excel的COUNTIF公式,以基本上创建这些值的唯一排序列表。但是,在这个操作中似乎没有考虑几个值,所以我去调试它。

你能解释一下为什么下面的snipet表B列中的值都是'0'吗?在比较下面的值时,获得值为'1'的问题是什么?

据我所知,我可能错过了一些愚蠢的细节......

提前致谢

   -----------------
   |   A   |   B   |
   -----------------
1  | 10 B  |   0   |  <-- B1 formula is =COUNTIF(A1;"<52")
   -----------------
2  |  52   |   0   |  <-- B2 formula is =COUNTIF(A2;"<10 B")
   -----------------
3  |  52   |   0   |  <-- B3 formula is =COUNTIF(A3;"=10 B")
   -----------------

修改 让我对此进行透视。请考虑下表。

我想要实现的目标是,在B列上,构建一个列A中的唯一值列表。我是通过在B2上使用以下公式,使用CTRL + SHIFT + ENTER并拖动它来完成的通过B列,B3,B4等细胞:

=INDEX($A$2:$A$100;MATCH(0;COUNTIF($A$2:$A$100;"<"&$A$2:$A$100)-SUM(COUNTIF($A$2:$A$100;B$1:B1));0))

然而,A列中的几个值被“跳过”,因此我尝试如上所述尝试对COUNTIF公式进行调整,但仍然不知道为什么会跳过某些值,可能是公式中的错误?

    -----------------------
    |     A    |     B    |
    -----------------------
 1  |          |          |
    -----------------------
 2  |    52    |    52    |
    -----------------------
 3  |   16277  |  16277   |
    -----------------------
 4  |   16277  |  21785   |
    -----------------------
 5  |   16277  | 5411828  |
    -----------------------
 6  |   21785  | 54112528 |
    -----------------------
 7  |  5411828 |   37-50  |
    -----------------------
 8  | 54112528 |   42-B   |
    -----------------------
 9  |   10 B   |  ABC-01  |
    -----------------------
10  |   10-M   |          |
    -----------------------
11  |   15-94  |          |
    -----------------------
12  |  15-971/ |          |
    -----------------------
13  |   16.    |          |
    -----------------------
14  |   16..   |          |
    -----------------------
15  |   22-23  |          |
    -----------------------
16  |   37-50  |          |
    -----------------------
17  |   42-B   |          |
    -----------------------
18  |  ABC-01  |          |
    -----------------------

2 个答案:

答案 0 :(得分:2)

对于第一行,“10 B”不是数值,因此它不能满足小于52的COUNTIF条件。如果该字段总是有数字和字母,那么你可以解析出来使用LEFT(A1,2)得到左边两位数的数字,然后查看它们是否小于52。

对于第二行和第三行,COUNTIF正在查找小于非数值的条件,因此该函数将不起作用。如果单元格值等于该条件,您可以COUNTIF查找匹配项。或者您可以将公式更改为COUNTIF(A3,"<10"),然后返回任何小于10的单元格的计数。

您的主要问题似乎是区分数字和带字母的数字。在excel中,如果除了数字之外还有一个包含字母和/或空格的单元格,它通常会格式化为文本字段,因此数学公式不会使用它而不进行一些调整。

答案 1 :(得分:0)

我正在尝试在大范围的值上使用Excel的COUNTIF公式,以基本上创建这些值的唯一排序列表。

您刚才描述的内容可以使用数据透视表轻松完成,行区域和值区域中的感兴趣字段都是计数。