根据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)函数中引用该列表。 作为一个数组公式,需要用Control – Shift – Enter组合键 input 。
所有这些公式都会返回一个#VALUE! 如果没有findsearchstring,则会出错。
尝试
=MID(A1,FIND("414",A1),99)
或与424在混合
=MID(A1,IF(ISERROR(FIND("414",A1)),FIND("424",A1),FIND("414",A1)),99)