You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用单个输入输出单元格对数组中查找到的多个值求和

Excel多城市匹配求和解决方案

以下方案覆盖不同Excel版本场景,可直接套用:


适用Excel 365/2021及以上版本

这类版本支持TEXTSPLIT拆分函数,公式最简洁:

=SUM(XLOOKUP(TEXTSPLIT(输入单元格, ", "), 城市名称列范围, 人口数值列范围, 0))

示例套用

假设你的城市名称存放在A2:A4,对应人口存放在B2:B4,逗号分隔的城市输入内容在D1单元格,公式直接写为:
=SUM(XLOOKUP(TEXTSPLIT(D1, ", "), A2:A4, B2:B4, 0))

说明:TEXTSPLIT会自动把输入的字符串按, (逗号加空格)拆分为独立的城市名数组,XLOOKUP依次匹配每个城市对应的人口数值,最后由SUM统一求和,完全不需要考虑输入的城市数量。公式末尾的0代表找不到对应城市时返回0,避免报错。


适用旧版Excel(无TEXTSPLIT函数)

用SUMPRODUCT+SEARCH组合实现兼容:

=SUMPRODUCT(ISNUMBER(SEARCH(", " & 城市名称列范围 & ", ", ", " & 输入单元格 & ", ")) * 人口数值列范围)

示例套用

和上面的示例参数一致的情况下,公式为:
=SUMPRODUCT(ISNUMBER(SEARCH(", " & A2:A4 & ", ", ", " & D1 & ", ")) * B2:B4)

说明:前后拼接, 是为了避免短名称误匹配(比如存在N和NY两个城市时,不会把NY误判为匹配N)。SEARCH判断城市名是否存在于输入字符串中,存在则返回1,不存在返回0,和人口数值相乘后求和即可得到最终结果。如果需要区分大小写匹配,把SEARCH替换为FIND即可。


通用注意事项

  • 如果你的输入分隔符只有逗号没有空格,把公式中所有", "替换为","即可,要和实际输入的分隔符完全一致
  • 如果输入城市有拼写错误、不在名称列范围内的情况,会自动按0计算,不会影响整体求和

内容的提问来源于stack exchange,提问作者NeedExcelHelp2021

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 23:36:04