Excel公式/宏用于查找带有字母和数字的数据

时间:2014-10-07 17:23:02

标签: excel vba excel-vba

我在Excel中有一列包含不同值的数据。我正在寻找一个公式或宏来区分不同类型的数据。例如,我有一个数值=VLOOKUP(E2,TECH!B:F,4,FALSE)的VLOOKUP,但这仅适用于某些值。

例如,当它在列中列为4位数字扩展名时,将返回E2的值。一些数据点被列为“i78990”或“n65778”等。当“i”在数字之前时我想返回“芝加哥”的值,如果“n”在数字之前则返回“亚特兰大”,等

1 个答案:

答案 0 :(得分:0)

使用“LEFT”功能以获得如下:LEFT(E2,1)获取第一个字母(您可以将其应用于所有单元格),将结果存储在不同的列上并执行Vlookup从那里。

有关从文本中分隔数字的更一般情况,您可以使用以下算法:

- 将字母数字字符串分成单独的字符。

  use: MID(A1,ROW($1:$9),1)

- 确定分解后的字符串中是否有数字。

  use: ISNUMBER(1*MID(A1,ROW($1:$9),1))

- 在字母数字字符串中确定数字的位置。

  use: MATCH(TRUE,ISNUMBER(1*MID(A1,ROW($1:$9),1)),0)

计算字母数字字符串中的数字。

  use =OUNT(1*MID(A1,ROW($1:$9),1))

或作为一个整体:

MID(A1,MATCH(TRUE,ISNUMBER(1 * MID(A1,ROW($ 1:$ 9),1)),0),COUNT(1 * MID(A1,ROW($ 1:$ 9),1) ))

您可以在以下link中看到一个示例。