我试图"翻译"包含数字的文本字符串的语法(最终目的是翻译两个医学数据库的搜索术语,但这并不重要).
我想要的是在另一个细胞中改变细胞的内容.例如:
1或2或3或4
变为:
#1或#2或#3或#4
我可以自己使用一个数字来做这个
=IF(ISNUMBER($D$37),"#"&$D$37,"")
Run Code Online (Sandbox Code Playgroud)
...这意味着1成为#1但我无法解决如何为多个数字执行此操作.
小智 6
您提供了一个样本,以便将1或2或3或4转换为#1或#2或#3或#4使用,
="#"&SUBSTITUTE(A2, " or ", " or #")
Run Code Online (Sandbox Code Playgroud)
如果您有Office 365 Excel,则使用此数组公式:
=TRIM(CONCAT(IF(ISNUMBER(--TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",999)),999*( ROW(INDIRECT("1:"&LEN(A1)-LEN(SUBSTITUTE(A1," ",""))+1))-1)+1,999))),"#" & TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",999)),999*( ROW(INDIRECT("1:"&LEN(A1)-LEN(SUBSTITUTE(A1," ",""))+1))-1)+1,999))&" ",TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",999)),999*( ROW(INDIRECT("1:"&LEN(A1)-LEN(SUBSTITUTE(A1," ",""))+1))-1)+1,999))&" ")))
Run Code Online (Sandbox Code Playgroud)
作为数组公式,必须在退出编辑模式时使用Ctrl-Shift-Enter而不是Enter确认.如果正确完成,Excel将放置{}公式.
如果您没有Office 365 Excel,则需要vba来执行公式所做的事情.
公式逐个字母地重复字符串并重新组合它#在遇到数字时添加.