将特定的文本字符串转换为特定的数字
Convert a specific text string into a specific number
是否可以使用公式将特定文本字符串转换为 Excel 中的特定数字?
例如,我在列中有三个不同的字符串作为值:banana
、apple
和 apricot
。现在我想将所有出现的这些字符串更改为数字。 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
及之后:
是否可以使用公式将特定文本字符串转换为 Excel 中的特定数字?
例如,我在列中有三个不同的字符串作为值:banana
、apple
和 apricot
。现在我想将所有出现的这些字符串更改为数字。 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
及之后: