【问题标题】:Counting Only the First Entry of Data in a Column that can have Duplicate Values仅计算列中可能具有重复值的第一个数据条目
【发布时间】:2015-06-08 21:47:19
【问题描述】:

我希望能够只计算每个寄存器的每个唯一事务的第一个条目/行(请参见下面的示例表)。例如。对于 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 No. 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”)}

【问题讨论】:

  • 欢迎来到 StackOverflow。请阅读How to ask

标签: mysql excel unique counting


【解决方案1】:

尝试向数据(示例中的 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

将您想要的结果表放在单元格 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)}

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-29
    • 2010-11-15
    • 1970-01-01
    • 2017-02-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多