将特定的文本字符串转换为特定的数字

Convert a specific text string into a specific number

是否可以使用公式将特定文本字符串转换为 Excel 中的特定数字?

例如,我在列中有三个不同的字符串作为值:bananaappleapricot。现在我想将所有出现的这些字符串更改为数字。 banana 为 0,apple 为 1,apricot 为 2。我该怎么做?

谢谢。

创建一个 table 字符串及其输出:

然后用VLOOKUPreturn得到正确的数字:

=VLOOKUP(A1,G:H,2,FALSE)


另一种方法,硬编码公式中的table。此方法使用 MATCH,因为您的输出是序列号。

=MATCH(A1,{"Banana","Apple","Apricot"},0)-1

这将 return 0,1,2

但是如果你想要一个不同的结果,而不是那么连续,那么将输出放在 CHOOSE 中:

=CHOOSE(MATCH(A1,{"Banana","Apple","Apricot"},0),0,1,2)

我建议构建一个包含 2 列(您的字符串和整数)的查找 table。而不是简单地使用 INDEX 和 MATCH 函数。

如果要就地转换,则不能使用公式。之前:

代码:

Sub qwerty()
    With Range("A:A")
        .Replace What:="banana", replacement:=0
        .Replace What:="apple", replacement:=1
        .Replace What:="apricot", replacement:=2
    End With
End Sub

及之后: