通常在Excel中要从一列中提取包含指定内容的数据,可以用自动筛选中的自定义筛选,并设置所包含的字符。如果要用公式来实现这种类似筛选的效果,可以在数组公式中用SEARCH函数来查找所包含的字符。假如在A2:A100区域中包含一些成语,要从中提取包含“一”字的成语。
在B2单元格中输入数组公式:
=INDEX($A$2:$A$100,SMALL(IF(ISERROR(SEARCH("一",$A$2:$A$100)),"",ROW($1:$99)),ROW(A1)),1)
公式输入完毕按Ctrl+Shift+Enter结束,然后拖动填充柄向下填充,直到出现“#NUM!”为止,下同。
类似的,如果要从A列中提取开头为“一”字的成语,可用LEFT函数:
=INDEX($A$2:$A$100,SMALL(IF(LEFT($A$2:$A$100,1)<>"一","",ROW($1:$99)),ROW(A1)),1)
提取A列中第二个字为“一”的成语,用MID函数:
=INDEX($A$2:$A$100,SMALL(IF(MID($A$2:$A$100,2,1)<>"一","",ROW($1:$99)),ROW(A1)),1)
提取A列中最后一字为“一”的成语,用RIGHT函数:
=INDEX($A$2:$A$100,SMALL(IF(RIGHT($A$2:$A$100,1)<>"一","",ROW($1:$99)),ROW(A1)),1)