0

我在问是否可以在中编写一个公式

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

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

04145885607
04145894589
04145920307
04145930676
04145945235
04145971623
584146316092
+584146317534
00584146318088
4146337864
4146361075
4146400205
4146415696
4146416643
  • 我需要在字符串的开头删除第一个值,例如+58580
  • 然后比较前三个值并留下例如那些有414 或424

在Excel中可以吗?

4

2 回答 2

2

尝试

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

或混合使用 424

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

在此处输入图像描述

于 2013-04-16T05:05:45.767 回答
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组合键输入。

数组公式

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

于 2013-04-16T05:12:55.210 回答