我在Excel中有一列,该列基于另一列上的字符串返回值。例如,列A包含字符串:
"(1) Missing Data For 1 Runs..(20%)"
,并且在B列中是:"20"
。 B列中的公式为:
"=IF(ISBLANK(N14),"",(MID(RIGHT(N14,9),SEARCH("(",RIGHT(N14,9))+1,SEARCH(")",RIGHT(N14,9))-SEARCH("(",RIGHT(N14,9))-1)+0)*100)".
此公式适用于具有不同百分比(例如30%,25%等)的相似字符串,包括A列中没有字符串或值,而B列中返回空值。
但是,列A中还有其他字符串,例如
"(2) This spare part underwent repairs.."
其中公式在B列中返回#VALUE
。此外,还有其他字符串将这两个字符串组合在一起,例如
"(1) Missing Data For 1 Runs..(17%)
(2) This spare part underwent repairs ..",
在B列中也返回#VALUE
。
在这种情况下,返回另一列百分比数字的公式是什么?
答案 0 :(得分:1)
好吧,根据您的反馈,如果每个单元格只包含百分比,请使用“%”作为搜索的锚点(而不是像您一样的括号)。尝试关注
=IFERROR(VALUE(MID(A13,SEARCH("%",A13)-2,2)),IFERROR(VALUE(MID(A13,SEARCH("%",A13)-1,1)),""))
它如何工作
VALUE(MID(A13,SEARCH("%",A13)-2,2))
将查找百分比有2位数字的所有实例,如果返回2位数字作为值,则其他所有内容都会引发错误,第二部分适用。第二部分
IFERROR(VALUE(MID(A13,SEARCH("%",A13)-1,1)),"")
将查找所有具有一位数字百分比的实例,并将该一位数字作为值返回。其他所有内容都会引发错误,并返回空白。