我试图在Excel公式中输入一个文本值来计算该值。例如,
A | B |
---|---|
5+5 | 10 |
20/100 | 20% |
我希望 B 列中的值由以下公式生成 =CONCAT("=,A2)*100 或者 =间接(A1)*100
但似乎没有任何效果
下面/这里指的是。
创建此 VB 函数(请参阅:如何?*):
Function solve(a_ As Range) As Variant
t_ = "=" & a_.Value
Set r_ = CreateObject("VBScript.RegExp")
r_.Global = True
'r_.Pattern = "([A-Za-z]{1,3}\d+)"
r_.Pattern = "((('[^']+')|([A-Za-z0-9]+))!)?([A-Za-z]{1,3}\d+)"
Set m_ = r_.Execute(t_)
For Each m In m_
t_ = Replace(t_, m.Value, Range(m.Value).Value)
Next
solve = Evaluate(t_)
End Function
功能:
限制
注意事项/参考资料
̿̿ ̿̿ ̿̿ ̿’̿’\̵͇̿̿\З= ( ▀ ͜͞ʖ▀) =Ε/̵͇̿̿/’̿’̿ ̿ ̿̿ ̿̿ ̿̿