什么意思呢,举个例子…… 如下图所示,A列是数据源,每个单元格的数据以符号“/”作为间隔组合在一起,例如:“看见/星光/Excel”。 1 提取第一个间隔符'/'前的数据,如下图所示的B列计算结果。 公式: =LEFT(A2,FIND('/',A2)-1) FIND函数发现'/'在A2单元格中首次出现的位置,然后使用LEFT函数从左向右提取该长度的字符,即为结果。 2 提取最后一个间隔符'/'后的数据。如下图所示的B列计算结果。 这个问题和第一个问题刚好相反…… 公式: =TRIM(RIGHT(SUBSTITUTE(A2,'/',REPT('',100)),100)) SUBSTITUTE(A2,'/',REPT('',100)),这部分公式将A2中的'/'替换为100个空格,然后RIGHT函数从右边提取100个字符,这100个字符必然包括了最后一个'/'后的数据以及大部分的空格,因此最后用TRIM函数清除空格即为结果。 3 提取指定位数间隔符之间的数据,例如提取第2个'/'和第3个'/'之间的数据。 公式: =TRIM(MID(SUBSTITUTE(A2,'/',REPT('',100)),100,100)) 和第2个公式有些相似,依然先使用SUBSTITUTE函数,将A2单元格中的'/'替换为100个空格,这样就将不同的值划分到了由空格间隔而成的多个小房子里,再使用MID函数从指定区段取值,最后使用TRIM函数消除空格。 4 按指定间隔符将数据拆分到多个单元格,类似于【分列】功能。 B2输入以下公式,向右向下复制填充至B2:E5区域,即可得出结果: =TRIM(MID(SUBSTITUTE($A2,'/',REPT('',100)),COLUMN(A1)*100-99,100)) 该公式和第3个公式类似,只是使用COLUMN(A1)*100-99取动态区间,随着公式的向右拖动,依次提取第1~101~201个字符起的100个字符结果,最后依然使用TRIM函数清理空格。 5 小贴士 TRIM+MID+SUBSTITUTE是一个非常经典的字符串处理函数套路,尤其擅长与处理间隔符的问题,如果不能一次性掌握,也建议收藏备用哦~ 数据分析就用Excel |
|