首页 > 解决方案 > Excel 2016 基于多个范围计算一个范围内的唯一值

问题描述

我正在尝试计算给定日期范围内订单号的唯一出现次数,我已经使用下面的代码成功实现了这一点;

A 列 = 日期

B 列 = 订单号

单元格 W3 = 从日期

单元格 X3 = 迄今为止

{=SUMPRODUCT(IF((A$2:A$10000<=X3)*(A$2:A$10000>=W3),
1/COUNTIFS(A$2:A$10000, "<="&X3,A$2:A$10000, ">="&W3,
B$2:B$10000,B$2:B$10000), 0))}

我的问题是我想添加另一个保存在 U 列中的条件,该值是“F”以供争论。我试图将这个公式分解成一口大小的块,以准确理解它在做什么,但它超出了我的范围。

在此处输入图像描述

正如您从屏幕截图中看到的那样,在单元格 W3 到单元格 X3 中显示的日期范围之间有 7 个唯一的订单号,根据我的公式,结果显示在单元格 Y3 中。

我希望添加另一个公式,该公式对 U 列中任何值为“F”的行计算相同的数据集,结果将是 1,根据我手动输入的红色突出显示的单元格 Z3。

任何人都可以建议。

标签: excel-formula

解决方案


在此处输入图像描述

单元格 H3 中的公式:

=SUMPRODUCT(IF((A$2:A$10000<=F3)*(A$2:A$10000>=E3)*(C$2:C$10000=G3),
1/COUNTIFS(A$2:A$10000,"<="&F3,A$2:A$10000,">="&E3,C$2:C$10000,"="&G3,
B$2:B$10000,B$2:B$10000), 0))

推荐阅读