如何使用SUMPRODUCT公式计算单行不同单元格的字母数字值?
用SUMPRODUCT计算同一行的字母数字值
场景1:字母在前、数字在后(如X5、Y15)
如果目标行是A1:Z1,要提取每个单元格的数字部分求和,用以下公式:
=SUMPRODUCT(--RIGHT(A1:Z1,LEN(A1:Z1)-MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1:Z1&"0123456789"))+1))
公式解析:
A1:Z1&"0123456789":给每个单元格拼接数字串,防止找不到数字时出错FIND(...):定位每个单元格内第一个数字的位置MIN(...):获取第一个数字的起始位置RIGHT(...):提取从第一个数字到末尾的文本--:将文本格式的数字转换为可计算的数值SUMPRODUCT:对所有提取出的数值求和
场景2:数字在前、字母在后(如5X、15Y)
调整公式提取左侧的数字部分:
=SUMPRODUCT(--LEFT(A1:Z1,MIN(FIND({"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"},A1:Z1&"ABCDEFGHIJKLMNOPQRSTUVWXYZ"))-1))
场景3:单元格内混合多组字母和数字(如A1B2,需求和1+2)
使用数组公式提取所有数字字符并求和:
=SUMPRODUCT(IFERROR(--MID(A1:Z1,ROW(INDIRECT("1:"&MAX(LEN(A1:Z1)))),1),0))
注:旧版Excel需按
Ctrl+Shift+Enter触发数组运算,新版Excel可直接回车执行。
内容的提问来源于stack exchange,提问作者Shafiq Ahmad
相关产品推荐
相关产品推荐

