gpt4 book ai didi

excel - 简单的 Excel 公式查找和替换

转载 作者:行者123 更新时间:2023-12-01 17:45:20 25 4
gpt4 key购买 nike

我的工作表上到处都有许多看起来像 =((E9-E8)/E8) 的单元格。我想使用前两个值来输入这个新公式,(EXP((LN(E9/E8)/14.32))-1)

如何一次性将它们全部更改为新公式?

最佳答案

如果公式相同,您可以使用“查找和替换”,选中匹配整个单元格内容查找:公式。选择范围,进入“查找和替换”,进行输入并“全部替换”。

enter image description here

或者您的意思是有多个公式具有相同的形式,但单元格引用不同?如果是这样,那么一种方法是正则表达式匹配和替换。正则表达式未内置于 Excel(或 VBA)中,但可以通过 Microsoft 的 VBScript 正则表达式库访问。

以下函数提供必要的匹配和替换功能。它可以在子例程中使用,该子例程将识别具有指定范围内的公式的单元格,并将这些公式用作函数的输入。对于与您要查找的模式匹配的公式字符串,该函数将生成替换公式,然后可以将其写回到工作表中。

Function RegexFormulaReplace(formula As String)
Dim regex As New RegExp
regex.Pattern = "=\(\(([A-Z]+\d+)-([A-Z]+\d+)\)/([A-Z]+\d+)\)"
' Test if a match is found
If regex.Test(formula) = True Then
RegexFormulaReplace = regex.Replace(formula, "=(EXP((LN($1/$2)/14.32))-1")
Else
RegexFormulaReplace = CVErr(xlErrValue)
End If
Set regex = Nothing
End Function

为了使该函数正常工作,您需要添加对 Microsoft VBScript 正则表达式 5.5 库的引用。从主功能区的 Developer 选项卡中,选择 VBA,然后从主工具栏中选择 References。向下滚动以找到对该库的引用,然后选中它旁边的框。

关于excel - 简单的 Excel 公式查找和替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17847919/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com