根据3个第一个字符删除值的公式?

我问是否有可能在Excel中写出一个公式

  • 取一个单元格的值,从右到左得到10个值(为了移除不需要的值,例如+58,58,0)
  • 然后得到前三个值,以便再次删除不需要的东西

例如,请参阅下面的示例数据:

04145885607 04145894589 04145920307 04145930676 04145945235 04145971623 584146316092 +584146317534 00584146318088 4146337864 4146361075 4146400205 4146415696 4146416643 
  • 我需要在string的起始处删除第一个值,例如+58,58,0
  • 然后比较前三个值,例如那些有41 4或424

在Excel中可能吗?

更新

这是一个稍微复杂的公式,如果你在文本string的列中混合了“414”和“424”,那么这个公式将会起作用。 请注意,FINDfunction也可以代替公式中的SEARCHfunction。

  =MID(A1,IFERROR(SEARCH("414",A1),0)+IFERROR(SEARCH("424",A1),0),99) 

另一个变化也将起作用:

  =MID(A1,IFERROR(SEARCH("414",A1),IFERROR(SEARCH("424",A1),0)),99) 

一个有趣的替代方法,如果你有一个可以匹配的值列表,下面的数组公式:

  =MID(A1,MIN(IFERROR(SEARCH($D$1:$D$3,A1),99)),99) 

要使用它,你需要设置一个要查找的值列表(我使用了单元格D1:D3,如下所示),然后在SEARCH(或FIND)函数中引用该列表。 作为一个数组公式,需要用ControlShiftEnter组合 input

数组公式

所有这些公式都会返回一个#VALUE! 如果没有findsearchstring,则会出错。

尝试

 =MID(A1,FIND("414",A1),99) 

或与424在混合

 =MID(A1,IF(ISERROR(FIND("414",A1)),FIND("424",A1),FIND("414",A1)),99) 

在这里输入图像说明