计算一列中有多少个唯一值,同时满足另一列的要求

计算一列中有多少个唯一值,同时满足另一列的要求

您好,我的表格中有以下形式的数据:

Order#           Origin        Status          Date
90028             BG00           30          1/2/2018
90021             BG01           50          2/2/2018
90021             BG01           40          3/2/2018
90028             BG01           20          2/2/2018

我想计算一下有多少个独特的订单号存在 (计数无重复);

起源来自 BG00 有一个地位30 或 40 有一个日期今天的

如果能尽快提供帮助我们将不胜感激。

答案1

在此处输入图片描述

将此数组公式写入F76,最后Ctrl+Shift+Enter

{=SUM(IF(("BG00"=$B$76:$B$79)*($C$76:$C$79>=30)*($C$76:$C$79<=40)*(E74=$D$76:$D$79), 1/COUNTIFS($B$76:$B79, "BG00", $A$76:$A$79, $A$76:$A$79, $C$76:$C$79, ">="&30, $C$76:$C$79, "<="&40,$D$76:$D$79,E74)),0)}

編輯:

怎么运行的:

公式的第一部分返回的90028是,A76:A79因为第 1 行的订单 ID 只符合所有三个条件

{=SUM(IF(("BG00"=$B$76:$B$79)*($C$76:$C$79>=30)*($C$76:$C$79<=40)*(E74=$D$76:$D$79),A76:A79,0))}

注意:使用上面的公式,我特意添加了A76:A79从 Range 中获取值,否则第二部分是使用Countifs如下方式输入的真的IF 条件并返回 1(仅一次匹配)。

{=COUNTIFS($B$76:$B79, "BG00", $A$76:$A$79, $A$76:$A$79, $C$76:$C$79, ">="&30, $C$76:$C$79, "<="&40,$D$76:$D$79,E74)),0)}

如果订单 ID90028符合row 4所有三个条件Orgin, Status & Date,则Countifs返回2

SUM& 1/Countifs,已作为“放弃的预防措施”添加到公式中,否则该公式在没有它们的情况下也可以起作用。

{=IF(("BG00"=$B$76:$B$79)*($C$76:$C$79>=30)*($C$76:$C$79<=40)*(E74=$D$76:$D$79), COUNTIFS($B$76:$B79, "BG00", $A$76:$A$79, $A$76:$A$79, $C$76:$C$79, ">="&30, $C$76:$C$79, "<="&40,$D$76:$D$79,E74),0)}

SUMA76:A79当需要将范围内的值添加到条件时非常有用。

笔记,

  • 根据需要调整公式中的单元格引用。
  • 如果你把今天的日期E74那么你必须填写日期列 很少有相似的日期值可以匹配。

相关内容