Google Sheets:拆分字符串列表匹配姓名列并计算对应薪资总和
Google Sheets 拆分逗号字符串并匹配求和薪资
假设你的数据结构如下:
- A列:逗号连接的姓名字符串(如A2单元格为
john,dora,sally) - B列:单个姓名列表(如B2-B4分别为
john、dora、sally) - C列:对应姓名的薪资(如C2-C4分别为
25、30、20)
以下是两种实用解法:
方法一:使用 TEXTSPLIT + SUMIF(推荐,适用于新版Google Sheets)
直接拆分字符串后匹配求和,公式如下:
=SUM(SUMIF(B:B, TEXTSPLIT(A2, ","), C:C))
说明:
TEXTSPLIT(A2, ",")将A2的逗号分隔字符串拆分为单独姓名的数组SUMIF(B:B, 拆分后的姓名数组, C:C)逐个匹配B列姓名,返回对应薪资- 外层
SUM将所有匹配到的薪资相加得到总和
如果姓名前后可能有空格,需要添加TRIM处理避免匹配失败:
=SUM(SUMIF(TRIM(B:B), TRIM(TEXTSPLIT(A2, ",", , TRUE)), C:C))
方法二:使用 SUMPRODUCT + SEARCH(兼容旧版Google Sheets)
无需拆分字符串,直接检查姓名是否存在并求和,公式如下:
=SUMPRODUCT(ISNUMBER(SEARCH(","&B:B&",", ","&A2&","))*C:C)
说明:
","&B:B&","和","&A2&","是为了避免部分匹配(比如johnny被误判为john)SEARCH(...)检查B列姓名是否包含在A2的字符串中,返回位置或错误值ISNUMBER(...)将匹配结果转为布尔值(匹配成功为TRUE即1,失败为FALSE即0)SUMPRODUCT将布尔值与对应薪资相乘后求和,得到总薪资
内容的提问来源于stack exchange,提问作者Ayman.1302
相关产品推荐
相关产品推荐

