Excel通过从单个多行单元格中提取数字来求和

问题描述 投票:1回答:3
AL-CHE-P1-1518   ---     270  

AL-CHE-P2-1318    ---    280  

AL-MAT-P1-1218     ---   280  

AL-MAT-P4-0918      --- 40  

所有这些数据都在同一个单元格C2中,我的目标是得出一个总和的公式

 270+280+280+40

在单元格D2中

尝试了regextract(c2,"\d(.*)\n"),但只提取了第一个“270”,我需要帮助,在所有论坛中搜索,无法得到完全匹配,如果有人能给我一些关于如何在同一个单元格中推导出总和的提示,它将节省我很多时间串

regex google-sheets excel-formula google-sheets-formula
3个回答
2
投票
=SUMPRODUCT(ARRAYFORMULA(REGEXEXTRACT(SPLIT(C2,CHAR(10))," \d+")))


3
投票

据我所知,你只能通过UDF实现这一点:

Function ReturnSum(rng As Range) As Long

    Dim arr As Variant

    arr = Split(rng.Value, Chr(10) & Chr(10))

    For i = 0 To UBound(arr)
        ReturnSum = ReturnSum + Trim(Split(arr(i), " --- ")(1))
    Next i

End Function

img1


1
投票

在Excel中,公式有点复杂,并且数组公式如下:

=SUM(IFERROR(--MID(TRIM(MID(SUBSTITUTE(A1,CHAR(10),REPT(" ",99)),(ROW($XFD$1:INDEX(XFD:XFD,LEN(A1)-LEN(SUBSTITUTE(A1,CHAR(10),""))+1))-1)*99+1,99)),FIND("---",TRIM(MID(SUBSTITUTE(A1,CHAR(10),REPT(" ",99)),(ROW($XFD$1:INDEX(XFD:XFD,LEN(A1)-LEN(SUBSTITUTE(A1,CHAR(10),""))+1))-1)*99+1,99)))+3,99),0))

作为数组公式,必须在退出编辑模式时使用Ctrl-Shift-Enter而不是Enter确认。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.