我卡住了,我有一张Excel工作表,我需要从字符串中提取GB和数字。 Galaxy S10 + 8 / 128GB(Snapdragon 855)应该是128GB,不知道该怎么做。找不到任何将使用whilecard的公式,会有帮助吗?
我正在使用
= IF((LEN(A3)-LEN(SUBSTITUTE(A3,“”,“”))))<2,A3,LEFT(A3,FIND(“”,A3,FIND(“”,A3)+ 1)-1)) 提取电话名称但有GB的tus脚
答案 0 :(得分:3)
首先,我们需要将/
替换为一个空格,然后找到GB之前的最后一个空格,并将其设置为中间公式的开头:
=IFERROR(MID(LEFT(A2,FIND("GB",A2)+1),FIND("}}}",SUBSTITUTE(SUBSTITUTE(LEFT(A2,FIND("GB",A2)+2),"/"," ")," ","}}}",LEN(SUBSTITUTE(LEFT(A2,FIND("GB",A2)+1),"/"," "))-LEN(SUBSTITUTE(SUBSTITUTE(LEFT(A2,FIND("GB",A2)+1),"/"," ")," ",""))))+1,LEN(A2)),"")
答案 1 :(得分:3)
在具有FILTERXML
功能的Excel 2013中,您可以使用:
=IFERROR(FILTERXML("<t><s>" &SUBSTITUTE(SUBSTITUTE(A1,"/"," ")," ","</s><s>") & "</s></t>","//s[contains(.,'GB')]"),"")
使用空格(并将/
替换为空格),我们创建一个XML,其中每个节点均由空格分隔。
然后我们使用Xpath
返回包含GB的节点
答案 2 :(得分:1)
如果字符串符合以下条件:
/
或" "
(空格),例如/128GB
或32GB
(前面有32个空格)您可以使用以下公式从字符串中查找所需的文本。
=IFERROR(RIGHT(SUBSTITUTE(MID(A1,FIND("GB",A1)-5,7)," ","/"),LEN(SUBSTITUTE(MID(A1,FIND("GB",A1)-5,7)," ","/"))-FIND("/",SUBSTITUTE(MID(A1,FIND("GB",A1)-5,7)," ","/"))),"")
逻辑是
/
,/
在7个字符内的位置,/
右侧的所有字符,如果您使用辅助列存储步骤1中的文本字符串,则该公式可能会更短并且更易于解释。
干杯:)