2

第一次问,久读!任何帮助将非常感激。

我有一个 excel 表,其中包含两个单元格,其中包含下拉列表中的值 - 我们称之为 condition1Cell 和 condition2Cell。单元格下拉列表中可用的选项可以是:对于 condition1Cell, A、B 或 Total(其中 total 是 A 和 B);以及condition2Cell 的X、Y、Z 或 Total(其中 total 是 X、Y 和 Z);这意味着我总共可以有多达 12 种不同的场景,具体取决于用户的选择。

根据用户的选择,我想根据他们的选择从数据表中聚合数据,即如果用户选择 A 和 X,我只想在满足 A 和 X 条件的情况下聚合数据;如果用户选择 Total 和 Z,我只想聚合条件为 Total (A&B) 和 Z 的数据。用户可以实时更改选择,并且我希望工作表在他们进行更改时更新数字。

为了聚合数据,我将使用 COUNTIFS、SUMIFS 和 SUMPRODUCT 函数,并且当进行非全选时,这些函数效果很好。

例如=COUNTIFS(CriteriaRng1,"A",CriteriaRng2,"X") (1)

但是,当我想在选择“总计”时聚合数据时,这就是我遇到问题的时候。公式:

=COUNTIFS(CriteriaRng1,"A",CriteriaRng2,"Total") (2)

将不起作用,因为基础数据列没有 Total 作为选项,只有 X、Y 和 Z。现在解决这个问题的一种方法是将 COUNTIF 包含在一个大的 IF 语句中:

例如=IF(AND(Condition1Cell = "A", Condition2Cell = "Total", COUNTIFS(CriteriaRng1,"A",CriteriaRng2,"X",CriteriaRng3,"Y",CriteriaRng4,"Z"),IF(... .等 (3)

但是考虑到我总共可以有 12 个不同的场景,而且未来场景的数量可能会增加,这将是一个非常痛苦的嵌套 IF 语句。有什么办法可以在聚合函数本身中包含条件标准检查,以便在选择总计时,标准不会在聚合函数中应用(即上面(2)中的 CriteriaRng2 检查仅在 Condition2Cell 为时应用不是“总计”)?

我觉得必须有一种方法可以做到这一点,但尽管我进行了最佳搜索,但我似乎无法找到解决方案。如果需要,我很乐意使用数组公式来做到这一点。

提前感谢您的回复!

4

0 回答 0