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