按多个条件求和,类似案例我教过不少,不过大家习惯了每个条件各占一列,互不干扰。
如果所有条件都要从同一列中筛选出来,那么按多个条件求和的公式应该怎么写呢?
案例:
下图 1 中左侧的数据表是销售人员一季度的业绩列表,请在右侧的黄色区域制作下拉列表,根据列表选项,自动计算出业绩总和。
效果如下图 2 所示。
解决方案:
先设置下拉菜单。
1. 在任意空白单元格中输入以下公式:
=UNIQUE(A2:A28)
公式释义:
提取出姓名的唯一值
2. 在另一个空单元格中输入以下公式,提取出唯一的月份:
=UNIQUE(B2:B28)
3. 选中 F1 单元格 --> 选择菜单栏的“数据”-->“数据验证”
4. 在弹出的对话框中按以下方式设置 --> 点击“确定”:
选择“设置”选项卡
允许:选择“序列”
来源:输入 =$K$1#
* “#”表示引用的是动态数组区域,这只有在 O365 及以上版本中才好使。
“姓名”下拉菜单已经设置好。
5. 选中 F2:H2 区域 --> 选择菜单栏的“数据”-->“数据验证”
6. 在弹出的对话框中选择“设置”选项卡,按以下方式设置 --> 点击“确定”:
允许:选择“序列”
来源:输入 =$L$1#
三个月份下拉框也设置完毕了。
7. 在 F5 单元格中输入以下公式:
=SUM(SUMIFS(C2:C28,A2:A28,F1,B2:B28,F2:H2))
公式释义:
SUMIFS 的语法为 (求和区域,条件区域1,条件1,求和区域2,条件2);
SUMIFS(C2:C28,A2:A28,F1,B2:B28,F2:H2):在 C2:C28 中对满足以下条件的区域求和,结果为一组数组:
姓名等于 F1 单元格的内容;
月份等于 F2:H2 区域的内容
SUM(...):对数组中的值求和
选择下拉菜单中的选项,公式就能自动根据黄色区域的条件求和。