excel 计算B列满足某条件下,A列不重复数据个数

A列是一堆名字里面有重复值,B列是对应的状态
列A 列B
X 是
X 否
V 是
V 是
V 否
Z 否
Y 否
Y 是

求满足列B为“是”的对应列A中数据不重复的个数。
需要注意一点,两列中都可能存在空值。

1.在a列输入几个数字,有重复的,在d3单元格输入 =frequency(),此时光标在括号后面闪动,鼠标点击一下括号内部,此时光标在括号内部闪动。

2.光标在括号闪动后,下一步用鼠标左键拖拽选中a1到a9的区域,然后点击半角逗号。

3.注意逗号是半角的。

4.再次选中a1到a9的区域作为函数的第二个参数。

5.函数名称输入错误了,改正一下把e改成y。

6.在编辑栏中选中函数,然后按f9,f9可以将选取转化为数组,

7.大括号包含的就是数组,数组的位置与选取位置对应,数组中的数字代表重复次数。

8.光标定位到大括号之前,输入1/。

9.再次选中编辑栏中的全部公式内容按f9,这次f9的作用是执行数组运算。

10.执行数组运算的结果如下。这里产生了一些错误值,是由于零做分母产生的。

11.在大括号之前加一个count()套在数组外面,统计数值型数据的数目,返回值是6,不重复的数据一共有六个。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-03-03

插入一个辅助列C,先找出B列为是的A列的值,再在D列找出C列不重复的值。

C2=INDEX(A:A,SMALL(IF($B$2:$B$9="是",ROW($B$2:$B$9),4^8),ROW(C1)))&""

公式输完后,光标放在公式编辑栏同时按下CTRL+SHIFT+回车键,使数组公式生效。

公式向下复制。

D2=SUMPRODUCT(1/COUNTIF(C2:C5,C2:C5))

本回答被网友采纳
第2个回答  2015-03-03




=SUMPRODUCT(--(COUNTIF(A2:A10,A2:A10)&B2:B10="1是"))



a列不重复的姓名为Z和C,对应的b列是“是”的有两个,即是 “Z是 ”和 “C是”,结果为2。

第3个回答  2015-03-03
=SUM((B1:B8="是")*(MATCH(A1:A8&B1:B8,A1:A8&B1:B8,0)=ROW(A1:A8))),按CTRL+SHIFT+ENTER结束公式。追问

因为我好几个表都要做相同的计算,但是各个表里面的行数并不一致,所以里面可能包含空值,请问这条公式能处理有空值的情况吗?

追答

可以,因为条件B列的条件是=‘是",这就否定了空值。

第4个回答  2018-03-13
用EXCEL做一个现金日记帐,计算增减及节超。