【发布时间】:2018-09-14 11:42:25
【问题描述】:
【问题讨论】:
标签: excel excel-formula
【问题讨论】:
标签: excel excel-formula
如果 A1 包含类似
number+number
然后在B1中输入:
=LEFT(A1,FIND("+",A1)-1)+MID(A1,FIND("+",A1)+1,999)+1
如果 A1 包含任意数字表达式作为文本,您将使用 VBA UDF。
编辑#1:
如果您有一个由 + 符号分隔的值列表,那么您可以使用以下数组公式:
=SUM((TRIM(MID(SUBSTITUTE(A1,"+",REPT(" ",255)),1+(ROW(A1:A999)-1)*255,255)) & "0")/10)+1
数组公式必须使用 Ctrl + Shift + Enter 而不仅仅是 Enter 键。如果正确执行此操作,公式将在公式栏中显示并带有花括号:
【讨论】:
假设您在单元格 A1 中有您的 x+xxx+xxxxxxxxxxxx 值,请考虑以下公式:
=SUM(0+TRIM(MID(SUBSTITUTE("+"&A1,"+",REPT(" ",99)),ROW(INDEX(A:A,1):INDEX(A:A,(1+LEN(A1)-LEN(SUBSTITUTE(A1,"+","")))))*99,99)))
返回公式时,请务必按CONTROL+SHIFT+ENTER。然后,您可以将其向下拖动以添加其他内容。
【讨论】:
您需要创建一个 VB 宏:
双击刚刚创建的新模块并粘贴此代码
Public Function EvaluateString(strTextString As String)
Application.Volatile
EvaluateString = Evaluate(strTextString)
End Function
=EvaluateString(A1)获取A1对应的值了。【讨论】: