如何对多个单元格中的字母数字文本字符串内的数字进行求和?

如何对多个单元格中的字母数字文本字符串内的数字进行求和?

如何对多个单元格中的字母数字文本字符串内的值求和?

例如,我想在一行中的 3 个单元格中计算分钟数的总和

A2 = Late 6 min, 
B2 = Late 12 min, & 
C2 = Late 150 min cells arranged in a row.

将以上数字相加,结果为 168。

答案1

在此处输入图片描述

您可以使用以下数组公式:

{=SUM(IFERROR(SUBSTITUTE(SUBSTITUTE(A2:C2,"Late",""),"Mints","")*1,0))}

笔记:

  • 文本,晚的&薄荷糖上面公式中的 是可编辑的,Mints可以用 替换min
  • 完成公式Ctrl+Shift+Enter
  • 根据需要调整公式中的单元格引用。

答案2

如果您有快速填充功能(2013 及更高版本),您可以放入一个辅助列并使用它。

在数据上方添加一行,插入一行并在其中输入类似“s5t3”的内容,然后在旁边的辅助列单元格中输入“9876543210”,按 Ctrl-E,数据列中的数字项将放置在辅助列中。减去除数字以外的任何内容。由于您的数据只有一个位置有数字,并且应该作为一个整体来看待,因此辅助列中的对应项将是您希望添加的数据,依此类推。如果之后必须清理,请在结果单元格中粘贴|值并删除辅助列和额外的行。

但是,如果你不能这样做,或者不想这样做、不被允许这样做等等,而又确实需要一个公式,Ablebits 有一个公式:

=IF(SUM(LEN(A1)-LEN(SUBSTITUTE(A1, {"0","1","2","3","4","5","6","7","8","9"}, "")))>0, SUMPRODUCT(MID(0&A1, LARGE(INDEX(ISNUMBER(--MID(A1,ROW(INDIRECT("$1:$"&LEN(A1))),1))* ROW(INDIRECT("$1:$"&LEN(A1))),0), ROW(INDIRECT("$1:$"&LEN(A1))))+1,1) * 10^ROW(INDIRECT("$1:$"&LEN(A1)))/10),"")

(当然,全部一行)。将其放在数据中的第一个单元格旁边(在右侧,例如,如果数据从 A1 开始,则放在 A2 中)。突出显示它和另一个单元格(不会有任何“A1”实例),然后使用 Ctrl-H 将“A1”替换为数据的第一个单元格的地址。或者将其放在您需要第一个数据单元格输出的任何位置。如果您需要在公式中使用它,请找出要替换“A1”的单元格地址并执行此操作,然后将其复制并粘贴到公式中。

嗯……等一下,你的代码跨列……将其放在第一个数据单元格下,并相应地替换“A1”。(或者在你给出的例子中根本不替换。)

无论如何,源数据中的所有数字都会保留,其他数字都会被删除,并创建一个数字值。显然,对于较大的数字来说,这将是一个问题,但您的数据不会出现这些问题。

最后,我要指出的是,您的数据格式非常好,因此您可以使用这种方法可靠地提取数字:

=MID(A1,6,FIND(" min",A1)-6)

因为第一个数字总是第 6 个字符,而“space-min”(“ min”)总是跟在它后面。您从第 6 个字符开始字符串,并动态查找“ min”中空格的字符数,然后减去 6 以获得数字部分的长度,因此 MID() 函数仅返回数字。

如果您的数据格式正确且特征明确,那么您可以随时使用此功能。您的数据格式正确且特征明确,因此... 让自己轻松一点吧!

答案3

您可以使用“文本分列”来拆分文本和数字,然后按照以下步骤对数字求和:

  1. 选择包含要拆分的文本的单元格或列。
  2. 选择数据 > 文本分列。
  3. 在“将文本转换为列向导”中,选择“分隔”>“下一步”。
  4. 选择空间。
  5. 文本、数字和文本将被分成几列。
  6. 选择“完成”。
  7. 现在您可以使用 =sum() 对数字列进行求和...

文本到列

对数字求和

相关内容