从Excel中的字符串中提取文本


1

帮助公式从字符串中提取文本片段。车削

  • SP BILL(DL / ON-SITE CONT)进入DL / ON CONT
  • ST MISC(TRAVEL)进入TRAVEL

我无法从一个单元格中删除“-SITE”而不会破坏另一个单元格。这是我到目前为止所拥有的......

=MID(A1,FIND("(",A1)+1,FIND(")",A1,FIND("(",A1)+1)-1-FIND("(",A1))

Answers:


3

试试这个,更新以验证A1中的单元格不是空白并包含(和)字符:

=IF(OR(ISERR(FIND("(",A1)),ISERR(FIND(")",A1)),ISBLANK(A1)),"",SUBSTITUTE(MID(A1,FIND("(",A1)+1,FIND(")",A1)-FIND("(",A1)-1),"-SITE",""))

这导致空单元的“坏值”。@Raystafarian与IFs有关,但是将它包装在IF(LEN(A1)>0, {formula},"")(etc)中是最简单的。(但如果没有parens,将不会返回任何内容)
Yorik 2016年

更新以验证单元格内容不是空白,并且还包含左括号和右括号(以防止FIND()函数失败)
DeltaHotel 2016年

1

关闭,SUBSTITUTE是你的朋友 -

=IF(LEN(A1)<>LEN(SUBSTITUTE(A1,"-SITE","")),MID(SUBSTITUTE(A1,"-SITE",""),FIND("(",SUBSTITUTE(A2,"-SITE",""))+1,FIND(")",A1,FIND("(",SUBSTITUTE(A1,"-SITE",""))+1)-1-FIND("(",SUBSTITUTE(A1,"-SITE",""))-5),MID(A1,FIND("(",A1)+1,FIND(")",A1,FIND("(",A1)+1)-1-FIND("(",A1)))

实际上,在最终做到这一点之后,我不再认为SUBSTITUTE是朋友了。上面的答案是SUBSTITUTE比我的好得多的朋友。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.