在Excel公式中使用文本来获取输出

问题描述 投票:0回答:1

我试图在Excel公式中输入一个文本值来计算该值。例如,

A B
5+5 10
20/100 20%

我希望 B 列中的值由以下公式生成 =CONCAT("=,A2)*100 或者 =间接(A1)*100

但似乎没有任何效果

excel excel-formula
1个回答
0
投票

下面/这里指的是。

创建此 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

功能:

  • 独立计算:
  • 直接引用(ActiveSheet 内)
  • 本地工作簿引用(ActiveWorkbook 内)

References to other sheets in ActiveWorkbook Check

Independent/complex check - independent/complex


限制

  • 无法解析对外部工作簿的单元格引用。
  • 命名范围:尚未测试。

注意事项/参考资料

  • GPT-o1-preview 与广泛的挑战/提示/验证一起使用来制定正则表达式模式。
  • 针对 Regex101 进行验证
  • 有关更强大的单元格引用,包括命名范围和外部工作簿,请参阅@Kuyendathis
  • * Q的解决方案

̿̿ ̿̿ ̿̿ ̿’̿’\̵͇̿̿\З= ( ▀ ͜͞ʖ▀) =Ε/̵͇̿̿/’̿’̿ ̿ ̿̿ ̿̿ ̿̿

© www.soinside.com 2019 - 2024. All rights reserved.