是否有一种聪明的方法使用VBA或公式来找到"k"和"m"变量kx+m string?
关于kx + m字符串的外观有几种情况,例如:
312*x+12
12+x*2
-4-x
Run Code Online (Sandbox Code Playgroud)
等等.我很确定我可以通过在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));"")))
我正在寻找一种方法来搜索和替换整个单词.因为在我的情况下,整个单词不仅可以通过空格分隔,而且可以分隔.,;:/ /?我无法想到一种有效的编码方式.
基本上,我想做这样的事情
replace([address], ***--list of separators, like .,;:/?--*** & [replacewhat] & ***--list of separators, like .,;:/?--*** ," " & [replacewith] & " ")
Run Code Online (Sandbox Code Playgroud)
我不知道如何立即传递一个分隔符列表而不是为每个分隔符组合运行一次替换函数(结合300个单词我正在替换它将构成疯狂的查询数量)
可以计算表达式的函数,例如 (2 * 5 + 6=16或
10*3*0.75=22.5)而不等同。
我用 execl 做到了,但它不完整
=IFERROR(LEFT(G2170,FIND("*",SUBSTITUTE(UPPER(G2170),"C","*"))-1)*RIGHT(G2170,LEN(G2170)-FIND("*",SUBSTITUTE(UPPER(G2170),"C","*"))),IF(LEN(G2170)=10,LEFT(G2170,1)*MID(G2170,3,2)+MID(G2170,6,2)+MID(G2170,9,2),IF(LEN(G2170)=8,LEFT(G2170,1)*MID(G2170,3,3)+RIGHT(G2170,2),IF(LEN(G2170)=7,LEFT(G2170,1)*MID(G2170,3,2)+RIGHT(G2170,2),IF(LEN(G2170)=9,LEFT(G2170,2)*MID(G2170,4,1)*RIGHT(G2170,4),IF(LEN(G2170)=5,LEFT(G2170,1)*MID(G2170,3,1)*RIGHT(G2170,1)))))))
Run Code Online (Sandbox Code Playgroud)