【发布时间】:2020-03-11 00:54:47
【问题描述】:
我有一个嵌套的 SUMIF 语句,它根据当前工作表中下拉列表单元格的条件对 Sheet2 中的数据求和。
单元格 A 包含城市名称...
---(如果 A2 = "Albuquerque",那么它将在 Sheet2 的 A 列中对 Albuquerque 的数据求和)
B 列包含月份... ---(如果 B2 = "2019 年 1 月",那么它将从 Sheet2 的 B 列中汇总 2019 年 1 月的数据)
基本公式是……
=IF(AND($A$2="",$B$2=""),SUM('Sheet 2'!J:J),IF(AND($A$2<>"",$B$2=""),SUMIF(Sheet 2'!A:A,A2,'Sheet 2'!J:J),IF(AND($A$2="",$B$2<>""),SUMIF(Sheet 2'!B:B,B2,'Sheet 2'!J:J),IF(AND($T$2<>"",$T$3<>""),SUMIFS('Sheet 2'!J:J,'Sheet 2'!A:A,A2,'Sheet 2'!B:B,B2))))
只要为下拉列表单元格选择一个值,此公式就有效。
但下拉列表启用了多选,并用逗号分隔两个值。如果我从下拉列表单元格的下拉列表中选择多个项目,则 SUMIFS 公式无法理解并且不返回任何内容。
---即:如果我在单元格 A2 中选择阿尔伯克基和凤凰城,A2 将显示“阿尔伯克基,凤凰城”。但 SUMIF 不会识别这一点,并将返回 0 而不是 Albuquerque 和 Phoenix 的数据。
我想知道是否有一种方法可以设计我的公式,以识别下拉列表单元格中的两个以上项目并根据这两个值过滤数据。
【问题讨论】:
标签: excel vba excel-formula