我正在导入Excel文件并提取这些文件中的公式,以便使用Excel无法执行的各种测试和计算.但是,要做到这一点,我需要将Excels函数转换为Mathematica可以使用的函数.所有这些公式都非常大(平均200页以上),因此手动转换不是一种选择.这让我想到了当前的问题.我需要转换的一些公式在Excel函数中包含括号,导致这样的情况:
IF(IF((A2+B2)*(C1+2^D1)<>7,"A","B")="A",C8,D8)*2/IF(G17*G2=G1,IF(EXP(K9)=K10,K11,K12))*EXP(IF(H22+H23=213,A1,B1))
Run Code Online (Sandbox Code Playgroud)
在这里,我需要将IF和EXP函数中的所有()转换为[]而不更改像(A2 + B2)这样的部分.目标是将其转换为:
IF[IF[(A2+B2)*(C1+2^D1)<>7,"A","B"]="A",C8,D8]*2/IF[G17*G2=G1,IF[EXP[K9]=K10,K11,K12]]*EXP[IF[(H22+H23)=213,A1,B1]]
Run Code Online (Sandbox Code Playgroud)
有没有可以匹配这些情况的正则表达式?