Excel:在“kx + m”文本字符串中查找 k 和 m

2023-12-25

有没有一种巧妙的方法使用VBA或查找 a 中的“k”和“m”变量的公式kx+m string?

kx+m 字符串的外观有多种情况,例如:

312*x+12
12+x*2
-4-x

等等。我很确定我可以通过在 Excel 中编写非常复杂的公式来解决这个问题,但我想也许有人已经解决了这个问题和类似的问题。这是迄今为止我最好的镜头,但它还不能处理所有情况(例如当 kx+m 字符串中有两个缺点时:

=TRIM(IF(NOT(ISERROR(SEARCH("~+";F5))); IF(SEARCH("~+";F5)>SEARCH("~*";F5);RIGHT(F5;LEN(F5)-SEARCH("~+";F5));LEFT(F5;SEARCH("~+";F5)-1)); IF(NOT(ISERROR(SEARCH("~-";F5))); IF(SEARCH("~-";F5)>SEARCH("~*";F5);RIGHT(F5;LEN(F5)-SEARCH("~-";F5)+1);LEFT(F5;SEARCH("~*";F5)-1));"")))


而不是费心解析运行一个简单的LINEST in VBA.

Replace StrFunc如所须

Sub Extract()
Dim strFunc As String
Dim X(1 To 2) As Variant
Dim Y(1 To 2) As Variant
Dim C As Variant

X(1) = 0
X(2) = 100

strFunc = "312*x+12"
'strFunc = "12+x*2 "
'strFunc = "-4-X"

Y(1) = Evaluate(Replace(LCase$(strFunc), "x", X(1)))
Y(2) = Evaluate(Replace(LCase$(strFunc), "x", X(2)))
C = Application.WorksheetFunction.LinEst(Y, X)

MsgBox "K is " & C(1) & vbNewLine & "M is " & C(2)

End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Excel:在“kx + m”文本字符串中查找 k 和 m 的相关文章

随机推荐