Excel formula 如何用Excel公式求单个单元格中几个括号括起来的数字之和?

Excel formula 如何用Excel公式求单个单元格中几个括号括起来的数字之和?,excel-formula,Excel Formula,我有一个单元格,其中包含几行,包括括号内的数字,我想用一个Excel公式(noVBA)对其求和 以下方法已适用于单支架: 但我需要扩展的方法。。。下面是一个示例,用于一个Excel单元格的内容,我在其中搜索公式,结果应为“8”: 可能的方法:公式应该搜索掩码内的所有数字,其中x必须求和 更新:公式也适用于大于等于10的数字 UPDATE2:如果括号中还有其他注释,也应该在出现第一个(xh)编号后使用。请参见示例中最后一行的“(草稿)。我理解这一点并不优雅,但它仍在发挥作用。我现在没有时间在这里

我有一个单元格,其中包含几行,包括括号内的数字,我想用一个Excel公式(noVBA)对其求和

以下方法已适用于单支架:

但我需要扩展的方法。。。下面是一个示例,用于一个Excel单元格的内容,我在其中搜索公式,结果应为“8”:

可能的方法:公式应该搜索掩码内的所有数字,其中x必须求和

更新:公式也适用于大于等于10的数字


UPDATE2:如果括号中还有其他注释,也应该在出现第一个(xh)编号后使用。请参见示例中最后一行的“(草稿)。

我理解这一点并不优雅,但它仍在发挥作用。我现在没有时间在这里运行逻辑(稍后可能会对其进行编辑),但本质上它是一个搜索索引逻辑负载

我为每个公式使用了5列,其中假设最多有5个值,但您可以根据需要通过将公式拖到更多列上进行调整,因为它将开始查找前一列的查找值之后的下一个“(?h)”

红细胞公式:
=SEARCH(“(?h)”,$A1)和“-”以及SEARCH(“h)”,$A1)

橙色单元格公式:
=SEARCH(“(?h)”,$A1,MID(B1,SEARCH(“-”,B1)+2,LEN(B1)-(SEARCH(“-”,B1)+1))*1)和“--”&SEARCH(“h)”,$A1,MID(B1,SEARCH(“-”,B1)+2,LEN(B1)-(SEARCH(“-”,B1)+1))+1)

黄色单元格公式:
=MID($A1,左(B1,搜索(“-”,B1))+1,((MID(B1,搜索(“-”,B1)+2,LEN(B1)-(搜索(“-”,B1)))*1)-(左(B1,搜索(“-”,B1))*1)

绿色单元格公式:
=SUMIF(G1:K1,“>=”&0)


我很感激这一点都不优雅,但它仍在发挥作用。我现在没有时间在这里运行逻辑(稍后可能会对其进行编辑),但本质上它是一个搜索索引逻辑负载

我为每个公式使用了5列,其中假设最多有5个值,但您可以根据需要通过将公式拖到更多列上进行调整,因为它将开始查找前一列的查找值之后的下一个“(?h)”

红细胞公式:
=SEARCH(“(?h)”,$A1)和“-”以及SEARCH(“h)”,$A1)

橙色单元格公式:
=SEARCH(“(?h)”,$A1,MID(B1,SEARCH(“-”,B1)+2,LEN(B1)-(SEARCH(“-”,B1)+1))*1)和“--”&SEARCH(“h)”,$A1,MID(B1,SEARCH(“-”,B1)+2,LEN(B1)-(SEARCH(“-”,B1)+1))+1)

黄色单元格公式:
=MID($A1,左(B1,搜索(“-”,B1))+1,((MID(B1,搜索(“-”,B1)+2,LEN(B1)-(搜索(“-”,B1)))*1)-(左(B1,搜索(“-”,B1))*1)

绿色单元格公式:
=SUMIF(G1:K1,“>=”&0)


借用这篇文章的公式#6(),并根据您的需要进行修改(单细胞公式)。假设您要在单元格B1中输入公式:

{=SUM(VALUE(MID(0&A1,LARGE(ISNUMBER(--MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))*ROW(INDIRECT("1:"&LEN(A1))),ROW(INDIRECT("1:"&LEN(A1))))+1,1)))}
基本上,这是分配每个字符及其索引,然后得到要求和的数值。请注意,这是一个数组公式。请同时单击Ctrl+Shift+Enter

修订版:

以下是提取两位数的数组公式(单击Ctrl+Shift+Enter组合键):

{=SUMPRODUCT(IFERROR(0+("0"&TRIM(MID(SUBSTITUTE(SUBSTITUTE(S‌​UBSTITUTE(LOWER(MID(‌​‌​A1,SEARCH("h)",A1)‌​-4,LEN(A1))),"h","")‌​,")","("),"(",REPT(" ",1000)),ROW(INDIRECT("1:20"))*2*1000-999,1000))),0))}


这样做的目的是首先删除不必要的内容,删除
h
文字,然后将
转换为999空格。然后,您可以提取数字并相加
IFERROR
会将非数字设置为0。希望这能解决你的问题。

借用这篇文章的公式#6(),并根据你的需要进行修改(单细胞公式)。假设您要在单元格B1中输入公式:

{=SUM(VALUE(MID(0&A1,LARGE(ISNUMBER(--MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))*ROW(INDIRECT("1:"&LEN(A1))),ROW(INDIRECT("1:"&LEN(A1))))+1,1)))}
基本上,这是分配每个字符及其索引,然后得到要求和的数值。请注意,这是一个数组公式。请同时单击Ctrl+Shift+Enter

修订版:

以下是提取两位数的数组公式(单击Ctrl+Shift+Enter组合键):

{=SUMPRODUCT(IFERROR(0+("0"&TRIM(MID(SUBSTITUTE(SUBSTITUTE(S‌​UBSTITUTE(LOWER(MID(‌​‌​A1,SEARCH("h)",A1)‌​-4,LEN(A1))),"h","")‌​,")","("),"(",REPT(" ",1000)),ROW(INDIRECT("1:20"))*2*1000-999,1000))),0))}


这样做的目的是首先删除不必要的内容,删除
h
文字,然后将
转换为999空格。然后,您可以提取数字并相加
IFERROR
会将非数字设置为0。希望这能解决您的问题。

您是在寻找单细胞公式,还是可以将其拆分为几列/细胞?@Glitch\u Doctor我正在寻找一个单细胞公式,它位于源细胞旁边(见上面的示例)。在同一行中有另一个单元格是可以的(我可以隐藏这个单元格),但它不能分布在几行上。所以,如果你说你可以有另一个单元格,你可以隐藏它,那么它可以分布在几行上?只要你有源单元格,最后一个公式单元格在旁边,然后是几个隐藏的计算单元格?@Chris Oh我可以在同一行中的几个可以隐藏的列上进行计算。我知道我能做到。。。当我完成当天的工作后,我将尝试一个单一的公式。我猜字符串中可能有任意数量的
“(?h)”
s,或者是否有一个确定的最大值?您是否会在第一组括号中得到一个数字?比如(包括2份文件)?或者你会得到一些时间以外的东西,比如创建计划(30分钟)?你是在寻找一个单细胞公式,还是可以将其分解为几个列/细胞?@Glitch_Doctor我在寻找一个单细胞公式,它位于源细胞旁边(见上面的示例)。在同一行中有另一个单元格是可以的(我可以隐藏这个单元格),但它不能分布在几行上。所以,如果你说你可以有另一个单元格,你可以隐藏它,那么它可以分布在几行上?只要你有源单元格,旁边是最终的公式单元格,然后是几个隐藏的计算单元格?@Chris Oh我可以在s上完成