首页 > 解决方案 > 重复时可以提取特定单词的Excel公式

问题描述

我问了一个问题,我之前找到了答案,但现在我的问题有类似的变化。

在这里检查我的旧问题

回答我的老问题。

=IFERROR(IF(LEN(A2)-FIND("463",A2)>=9,0&MID(A2,FIND("463",A2),10),"Not Completed"),"Not Available")

我想像以前一样在其他一些号码之间的单元格内提取联系人号码。但是现在我想要一个像这样的公式“如果 463 在 A2 内两次可用,则目标第二个 463 并且如果第二个 463 右侧的七个字符可用,则调用 463 并在其前面添加零并在最后添加它的七个字符。

数据

3498114632030374637348901    
9856979165879564897347    
8978944635618978946341897
3498114632030377348901 

结果

04637348901    
Not Available    
Not Completed
Not Repeating

如果可能,请告诉我公式。

标签: excel

解决方案


我认为这个公式应该做到这一点。它可能可以简化 - 例如,您可以将所有更改LEN("463")3. 它只是几个嵌套IF的s:

  1. 如果找不到“463”,返回“Not Available”:IF(ISERROR(FIND("463",A1)),"Not Available"
  2. 如果找不到第二次出现的“463”,则返回“Not Repeating”:IF(ISERROR(FIND("463",A1,FIND("463",A1)+LEN("463"))),"Not Repeating"
  3. 如果“463”第二次出现后没有 7 个字符,则返回“Not Completed”:IF(LEN(A1)-(FIND("463",A1,FIND("463",A1)+LEN("463"))+LEN("463"))<7,"Not Completed"
  4. 否则,返回“0”和第二次出现的“463”以及以下 7 个字符:0&MID(A1,FIND("463",A1,FIND("463",A1)+LEN("463")),10)

 =IF(ISERROR(FIND("463",A1)),"Not Available",IF(ISERROR(FIND("463",A1,FIND("463",A1)+LEN("463"))),"Not Repeating",IF(LEN(A1)-(FIND("463",A1,FIND("463",A1)+LEN("463"))+LEN("463"))<7,"Not Completed",0&MID(A1,FIND("463",A1,FIND("463",A1)+LEN("463")),10))))

在此处输入图像描述


推荐阅读