如何在一个特定的单元格的数字范围内find总数值?

例如:

数据栏:23至26,40,22,7,27至28,49,50至51,48,136,169,190至192,17至22和零

*包括个人号码,号码范围和单词。

我有如上所示的每个单元格中的这些数据,我如何拿出一个公式总结所有的数值?

我需要做一些数据更新。

我目前正在使用杰里·博凯尔提供的一个公式:

=ROWS(INDIRECT(SUBSTITUTE(SUBSTITUTE(A1," - ",":")," TO ", ":"))) 

谢谢!

尝试基于JMAX's方法的这个公式

=SUM(IF(ISERR(FIND("TO",A1:A6)),ISNUMBER(A1:A6)+0,MID(A1:A6,FIND("TO",A1:A6)+2,9)-LEFT(A1:A6,FIND("TO",A1:A6)-1)+1))

CTRL+SHIFT+ENTER

假定分隔符是“TO”按照你的例子

修订方法:

FIND区分大小写,SEARCH不是,所以要允许“TO”或“to”,您可以将FIND的所有实例更改为SEARCH。 因此,以下版本将应对这些空白单元格,具有“无”的单元格,具有诸如23,24,27(计为3)或11&99(计为2)或具有单个数字的单元格的单元格像33(计为1)

=SUM(IF(ISERR(SEARCH("TO",A1:A6)),IF((A1:A6="Nil")+(A1:A6=""),0,LEN(A1:A6)-LEN(SUBSTITUTE(SUBSTITUTE(A1:A6,",",""),"&",""))+1),MID(A1:A6,SEARCH("TO",A1:A6)+2,9)-LEFT(A1:A6,SEARCH("TO",A1:A6)-1)+1))

修订号2

假设数据在A1:A22

=SUM(IF(ISNUMBER(LEFT(A1:A22)+0),IF(ISNUMBER(SEARCH("to",A1:A22)),MID(A1:A22,SEARCH("TO",A1:A22)+2,9)-LEFT(A1:A22,SEARCH("TO",A1:A22)-1)+1,LEN(A1:A22)-LEN(SUBSTITUTE(SUBSTITUTE(A1:A22,",",""),"&",""))+1)))

如果你只想使用一个单元格来计算整个结果,你可以使用这个(基于我的解决scheme,因为INDIRECT不会在那里工作):

 =SUMPRODUCT(IF(ISERR(FIND("-",A1:A6)), MID(A1:A6,FIND("TO",A1:A6)+2,LEN(A1:A6))*1-LEFT(A1:A6,FIND("TO",A1:A6)-1)*1+1, MID(A1:A6,FIND("-",A1:A6)+1,LEN(A1:A6))*1-LEFT(A1:A6,FIND("-",A1:A6)-1)*1+1) ) 

如果你想要一个公式从单元格范围内收集这些值,我会为此写一个新的自定义函数。 我就是这么做的

如何安装用户定义的function:

  1. 打开你的工作簿
  2. 进入VB编辑器(按Alt + F11)
  3. 插入一个新模块(插入>模块)
  4. 复制并粘贴您的代码(如下所示)
  5. 离开VBA (按Alt + Q)
  6. 保存为启用macros的工作簿

该function已安装并可以使用。

这里是一个名为USERCOUNT()的新函数的UDF代码*

 Option Explicit Function USERCOUNT(RNG As Range) As Long Dim cell As Range, Cnt As Long, c As Long, buf As String For Each cell In RNG If IsNumeric(cell) And cell > 0 Then Cnt = Cnt + 1 ElseIf InStr(1, cell, ",") > 0 Or InStr(1, cell, "&") > 0 Then Cnt = Cnt + (Len(cell) - Len(Replace(Replace(cell, ",", ""), "&", "")) + 1) ElseIf InStr(1, cell, " TO ") > 0 Or InStr(1, cell, " - ") > 0 Then buf = Replace(Replace(cell, " TO ", ":"), " - ", ":") Cnt = Cnt + Rows(buf).Rows.Count buf = "" End If Next cell USERCOUNT = Cnt End Function 

这只是简单地使用在像引用一个单元格范围的正常函数的单元格中:

USERCOUNT.JPG