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

时间:2013-04-16 04:36:12

标签: excel excel-formula

我在问是否可以编写一个

的公式
  • 获取一个单元格值并从右到左获取10个值(为了删除不需要的值,例如+58,58,0)
  • 然后获取前三个值,以便再次删除不需要的内容

例如,请参阅以下示例数据:

04145885607
04145894589
04145920307
04145930676
04145945235
04145971623
584146316092
+584146317534
00584146318088
4146337864
4146361075
4146400205
4146415696
4146416643
  • 我需要在字符串开头的 + 58 58 0 之类的第一个值中删除
  • 然后比较前三个值并留下例如41 4或424
  • 的人

这可以在Excel中使用吗?

2 个答案:

答案 0 :(得分:2)

尝试

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

或者混合中使用424

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

enter image description here

答案 1 :(得分:1)

已更新

如果你在文本字符串列中混合了“414”和“424”,这是一个稍微复杂的公式。请注意,FIND函数也可以代替公式中的SEARCH函数。

  =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 组合键输入。

array formula

所有这些公式都返回一个#VALUE!如果找不到搜索字符串,则会出错。