1、假设列A是一组产品的编码,我们需要的数据是“-”之前的字段。
![EXCEL小技巧:[4]如何提取指定字符之前的字段](https://exp-picture.cdn.bcebos.com/54a89daee8d7592af1527dcb9f31dfb6336c6710.jpg)
2、我们需要在B1单元格输入公式“=LEFT(A1,SEARCH("-",A1)-1)”然后选中B1至B4单元格,按“CTRL+D”向下填充,就可以得出其它几行“-”之前的字段。
![EXCEL小技巧:[4]如何提取指定字符之前的字段](https://exp-picture.cdn.bcebos.com/e1390a31dfb6326c40db047c89532f6322856010.jpg)
3、如果要得出“-”之后的字段,则在C1单元格输入“=RIGHT(A1,LEN(A1)-SEARCH("-",A1))”,然后选中C1到C4,CTRL+D向下填充。
![EXCEL小技巧:[4]如何提取指定字符之前的字段](https://exp-picture.cdn.bcebos.com/2e223d85e036e2915955ae53b2723d03baea5b10.jpg)
4、公式解释:search(特定字符,字符串) 返回指定字符在字符串中第一次出现的位置。以A1为例“-”出现的位置是4.len(字符串) 返回字符串的长度。以A1为例,A1中字符串的长度为8left(字符串,N) 返回字符串从左边数起至第N个字符的字段。如LEFT(A1,3)则会返回“abc”right(字符串,N) 返回字符串从右边数起至第N个字符的字段。如RIGHT(A1,4)则会返回“1256”
![EXCEL小技巧:[4]如何提取指定字符之前的字段](https://exp-picture.cdn.bcebos.com/32a127723d03bbea1d3badfbea43d7d449315410.jpg)
![EXCEL小技巧:[4]如何提取指定字符之前的字段](https://exp-picture.cdn.bcebos.com/d695563104ebf6a775b21f98ffee1c324a184f10.jpg)
5、如果字符串是以“*”或“?”等通配符来隔开的,则公式要输入“=LEFT(A1,SEARCH("~*~",A1)-1)”/"=RIGHT(A1,LEN(A1)-SEARCH("~*~",A1))"
![EXCEL小技巧:[4]如何提取指定字符之前的字段](https://exp-picture.cdn.bcebos.com/4a594f2c8cf1d8a7148ed53746e34b2c57ee4710.jpg)