我有一个非常不优雅的公式,根据MATCH从字符串的左侧或右侧返回一个值。它有效,但我希望有人可以帮助使这更容易阅读。 该公式的一般解读是:
MATCH
)" * TestSpec; *" 我的问题是:
IF
语句本身只能返回LEFT或RIGHT MATCH
语句返回一个布尔值,因此无法确定LEFT或RIGHT IFERROR
次陈述这里有Excel公式的所有荣耀:
=IFERROR(
IFERROR(
IF(MATCH("TestSpec;*",Table1[@Tags],0),
RIGHT(Table1[@Tags],LEN(Table1[@Tags])-FIND(";",Table1[@Tags])-1)
), \*End IF no alternate value if false*
LEFT(Table1[@Tags],FIND(";",Table1[@Tags])-1)
), \*First Error Catch*
"") \*Second Error Catch*
示例输入值:
输出应该只显示:
答案 0 :(得分:1)
也许:
=IF(ISNUMBER(FIND("TestSpec",[@Tags])),TRIM(SUBSTITUTE(SUBSTITUTE([@Tags],"TestSpec",""),";","")),"")
答案 1 :(得分:0)
两个简单的替代品怎么样 -
=SUBSTITUTE(SUBSTITUTE(Table1[@Tags], "; TestSpec", ""), "TestSpec; ", "")
这适用于所有条件