Excel中如何统计多个逗号分隔列表中匹配指定地区的国家数量?
在Excel中统计逗号分隔列表里特定地区的国家数量
前提准备
先整理好你的国家-地区对照数据(比如放在名为地区对照表的工作表中:A列存国家名称,B列存对应地区),确保对照表里的国家名称和待统计列表中的名称完全一致(包括大小写、空格,避免匹配偏差)。
公式实现
适用于所有Excel版本的通用公式
假设待统计的逗号分隔国家列表在单元格C2,要统计的目标地区为东南亚,使用以下数组公式(输入后按Ctrl+Shift+Enter确认,Office 365/2021版本直接回车即可):
=SUMPRODUCT(--(ISNUMBER(MATCH(TRIM(MID(SUBSTITUTE(C2,",",REPT(" ",999)),ROW(INDIRECT("1:"&LEN(C2)-LEN(SUBSTITUTE(C2,",",""))+1))*999-998,999)),FILTER(地区对照表!A:A,地区对照表!B:B="东南亚"),0))))
简化版(仅Office 365/2021及以上版本)
利用TEXTSPLIT直接拆分逗号分隔文本,公式更简洁:
=SUMPRODUCT(--(ISNUMBER(MATCH(TEXTSPLIT(C2,","),FILTER(地区对照表!A:A,地区对照表!B:B="东南亚"),0))))
公式说明
TEXTSPLIT/MID+SUBSTITUTE:将逗号分隔的国家列表拆分为单个国家名称TRIM:清除拆分后名称前后的空格,避免匹配错误FILTER:从对照表里筛选出目标地区的所有国家MATCH:检查拆分后的每个国家是否属于目标地区,匹配成功返回位置,失败返回错误ISNUMBER:将匹配结果转为布尔值(匹配成功=TRUE,失败=FALSE)--:将布尔值转为数字(TRUE=1,FALSE=0)SUMPRODUCT:对所有符合条件的数字求和,得到最终数量
注意事项
- 若对照表里有重复的国家条目,先用
UNIQUE函数去重,避免重复计数 - 如果目标地区需要动态切换,可以把地区名称放在单元格里(比如
D2),将公式里的"东南亚"替换为D2
内容的提问来源于stack exchange,提问作者jahjh21a
相关产品推荐
相关产品推荐

