
工作中经常遇到在单元格内有多个数据用符号括起来,需要把符号内的数据快速地提取出来,如下图,左边是源数据,右边是提取出来后的数据。

目的:批量提取单元格内有多个数据用符号括起来的数据
方法:
选取结果输出区域,在编辑栏内输入公式:=IFERROR(MID(A2,FIND("[",A2,1+(COLUMN($1:$10)-1)*13)+1,FIND("]",A2,1+(COLUMN($1:$10)-1)*15)-FIND("[",A2,1+(COLUMN($1:$10)-1)*13)-1),"")。

公式解读:
1.FIND("[",A2,1+(COLUMN($1:$10)-1)*13),表示查找A2单元格内有"["符号全部的位置,即定位"["符号的所有位置。

2.1+(COLUMN($1:$10)-1)*13是表示查找"["符号的开始位置,它返回的是一组数组。

3.FIND("]",A2,1+(COLUMN($1:$10)-1)*15)-FIND("[",A2,1+(COLUMN($1:$10)-1)*13)-1,是表示查找"[ ]"符号之间位置相差的字符个数,即"["和"]"的字符个数,它返回的也是一组数组。

4.最后用MID函数来分别提取"[ ]"符号内的数据,再通过IFERROR函数对查找不到的错误值进行屏蔽。
知识小点:
认识FIND函数第二和第三个参数的用法,FIND函数第二个参数是用数组来表示,第三个参数据也是用数组来表示,即查找的开始位置是通过1+(COLUMN($1:$10)-1)*13来获取的。