我正在尝试对大范围的值使用Excel的COUNTIF公式,以基本上创建这些值的唯一排序列表。然而,在这个操作中似乎没有考虑几个值,所以我去调试它
你能解释一下为什么下面的狙击表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 | |
-----------------------
对于第一行,"10B"不是数值,因此它不符合小于52的COUNTIF
标准。如果这个字段总是有一个数字和字母,那么你可以用LEFT(A1,2)
解析出数字,得到左边的两个数字,然后看看它们是否小于52。
对于第二行和第三行,COUNTIF
正在查找小于非数值的条件,因此该函数不起作用。如果单元格值等于该条件,则可以使用COUNTIF
查找匹配项。或者,您可以将公式更改为COUNTIF(A3,"<10")
,然后返回小于10的任何单元格的计数。
你的主要问题似乎是区分数字和带字母的数字。在excel中,当你有一个除了数字之外还包含字母和/或空格的单元格时,它通常会格式化为文本字段,因此数学公式不会在不进行一些调整的情况下使用它。
我正在尝试对大范围的值使用Excel的COUNTIF公式,以基本上创建这些值的唯一排序列表
您刚才描述的内容可以使用数据透视表轻松完成,将行区域和值区域中的感兴趣字段都作为计数。