Excel 对单元格中分隔值求和的公式
Excel Formula to Sum Delimited Values in Cells
我在 Excel 中存储了两列常规文本,其中每个单元格包含由分号分隔的数字(仅当存在多个数字时才分隔)。
两个 Excel 列始终具有相同数量的分隔值。
我正在尝试找出如何对每个值求和(减去)以在另一列中形成分隔列表,尤其是仅使用 Excel 函数(例如,如果可能,不使用 VBA)。
我该怎么做?我在 Excel 公式中遗漏了 VBA 的拆分函数。
注意:值 - 偏移量 =(期望的结果)
使用这个数组公式:
=TEXTJOIN(";",TRUE,TRIM(MID(SUBSTITUTE(A2,";",REPT(" ",99)),(ROW($A:INDEX(A:A,LEN(A2)-LEN(SUBSTITUTE(A2,";",""))+1))-1)*99+1,99))-TRIM(MID(SUBSTITUTE(B2,";",REPT(" ",99)),(ROW($A:INDEX(A:A,LEN(B2)-LEN(SUBSTITUTE(B2,";",""))+1))-1)*99+1,99)))
作为数组公式,退出编辑模式时必须使用 Ctrl-Shift-Enter 而非 Enter 确认。
需要输入的数量匹配偏移量的数量
也可以使用:
=TEXTJOIN(";",,FILTERXML("<t><s>"&SUBSTITUTE(A2,";","</s><s>")&"</s></t>","//s")-FILTERXML("<t><s>"&SUBSTITUTE(B2,";","</s><s>")&"</s></t>","//s"))
我在 Excel 中存储了两列常规文本,其中每个单元格包含由分号分隔的数字(仅当存在多个数字时才分隔)。 两个 Excel 列始终具有相同数量的分隔值。
我正在尝试找出如何对每个值求和(减去)以在另一列中形成分隔列表,尤其是仅使用 Excel 函数(例如,如果可能,不使用 VBA)。
我该怎么做?我在 Excel 公式中遗漏了 VBA 的拆分函数。
使用这个数组公式:
=TEXTJOIN(";",TRUE,TRIM(MID(SUBSTITUTE(A2,";",REPT(" ",99)),(ROW($A:INDEX(A:A,LEN(A2)-LEN(SUBSTITUTE(A2,";",""))+1))-1)*99+1,99))-TRIM(MID(SUBSTITUTE(B2,";",REPT(" ",99)),(ROW($A:INDEX(A:A,LEN(B2)-LEN(SUBSTITUTE(B2,";",""))+1))-1)*99+1,99)))
作为数组公式,退出编辑模式时必须使用 Ctrl-Shift-Enter 而非 Enter 确认。
需要输入的数量匹配偏移量的数量
也可以使用:
=TEXTJOIN(";",,FILTERXML("<t><s>"&SUBSTITUTE(A2,";","</s><s>")&"</s></t>","//s")-FILTERXML("<t><s>"&SUBSTITUTE(B2,";","</s><s>")&"</s></t>","//s"))