仅计算可能具有重复值的列中的第一个数据条目

时间:2015-06-08 21:47:19

标签: mysql excel unique counting

我希望能够只计算每个寄存器的每个唯一事务的第一个条目/行(参见下面的示例表)。例如。对于1234,计算1个孩子,但不计算成人或第二个孩子。

交易编号注册成人儿童

1234        A           0       1       

1234        A           1       0           

1234        A           0       1           

3456        B           1       0           

5678        B           1       0

2468        C           1       0

2468        C           0       1

我期望获得的结果是:

Trans p Adlts Chld

A           0       1

B           2       0

C           1       0

我可以使用以下公式计算唯一交易号的数量:

=COUNT(IF(FREQUENCY(A2:A8,A2:A8)>0,1))

我还可以计算在每个登记处支付的成人和儿童总数。例如。计算直到C的成年人数:

=COUNTIFS(B2:B8,”C”,C2:C8,1)

或数组公式(计算所有交易号码的成人数量:

{=COUNTIFS(B2:B8,F2:F5,C2:C8,”=1”)}

1 个答案:

答案 0 :(得分:0)

尝试将附加虚拟变量添加到数据(示例中的D列)作为升序数字(示例中为1-7):

1234    A   0   1   1
1234    A   1   0   2
1234    A   0   1   3
3456    B   1   0   4
5678    B   1   0   5
2468    C   1   0   6
2468    C   0   1   7

将您想要的结果表放在Cell G2中

H2 Formula: ={INDEX($B$2:$D$8,LARGE(--(G2=$B$2:$B$8)*($E$2:$E$8),SUM(--(G2=$B$2:$B$8))),2)}
I2 Formula: ={INDEX($B$2:$D$8,LARGE(--(G2=$B$2:$B$8)*($E$2:$E$8),SUM(--(G2=$B$2:$B$8))),3)}

不是理想的解决方案,但经过测试和运作。