• 注册
  • 你转发,我送钱!

    • 查看作者
    • Excel中杂乱数据提取关键词 归类整理 图文

      今天分享Excel中经典的关键词查找问题,该解题思路也多用于模糊查找。

      如下例题所示:A列是记录地址数据,这只是一大串数据的几个,我们希望归集数据的区域,如果A列中带有拱墅两个字符,那么输出拱墅区。

      你能想到几种解决的方法?

      思路一:IF+FIND函数

      在B2输入公式:

      =IF(ISNUMBER(FIND(拱墅,A2)),拱墅,IF(ISNUMBER(FIND(西湖,A2)),西湖,IF(ISNUMBER(FIND(下城,A2)),下城,)))

      简化关键函数解释:

      =IF(ISNUMBER(FIND(拱墅,A2)),拱墅,)

      公式A:Find(拱墅,a2),表示在A2中查找关键词拱墅,如果有的话,会返回一个位置,即7

      如果没有,返回错误

      公式B:ifnumber(公式A),如果括号里面的公式是数值7,那么整体公式返回TRUE,如果括号里面是错误值,那么整体公式返回FALSE

      整体公式:IF(公式B,拱墅,),如果公式B的值是TRUE,为拱墅,否则为空

      然后一直使用IF函数进行嵌套即可得到结果。当然将FIND函数改成SEARCH函数也能得到同样的结果。

      思路二:IF+COUNTIF

      在B2输入公式:

      =IF(COUNTIF(A2,*拱墅*),拱墅,IF(COUNTIF(A2,*西湖*),西湖,IF(COUNTIF(A2,*下城*),下城,)))

      公式解释:

      该公式用COUNTIF(A2,*拱墅*)替代ISNUMBER(FIND(拱墅,A2))的功能

      COUNTIF(A2,*拱墅*)中的*为通配符,表示前后含有拱墅的字符,则计数为1,没有则计数为0

      再通过IF得到结果

      如果区域较多,使用IF函数嵌套复杂的话,可以通过下面两种思路进行计算

      代替IF的两种思路

      首先在D列建立一个关键词列,然后在B2输入公式:

      =LOOKUP(100,FIND($D$2:$D$4,A2),$D$2:$D$4)

      或输入公式:

      =INDEX(D:D,MAX(ISNUMBER(FIND($D$2:$D$4,A2))*ROW($D$2:$D$4)))

      这两个公式都需要使用CTRL+SHIFT+ENTER数组运算

    • 0
    • 0
    • 0
    • 103
    • 单栏布局 侧栏位置: