我想用数字替换单元格中用逗号分隔的字母。我使用过=LOOKUP(A1,{"a","b","c","d","e"},{1,2,3,4,5})
函数,但仅适用于单个字母。
例如:我想要的输出:
a => 1
答案 0 :(得分:4)
如果您具有带有TEXTJOIN
函数的Excel 2016+,则可以使用数组公式:
=TEXTJOIN(",",TRUE,CODE(UPPER(FILTERXML("<t><s>"&SUBSTITUTE(A1,",","</s><s>")&"</s></t>","//s")))-64)
由于这是一个数组公式,因此您需要在按下 enter 的同时按住 ctrl + shift 来“确认”它。如果操作正确,Excel将按照公式栏中的说明在公式周围放置括号{...}
算法:
"<t><s>"&SUBSTITUTE(A1,",","</s><s>")&"</s></t>"
FILTERXML
将XML转换为字符串数组UPPER
使其不区分大小写CODE(…) - 64
转换为与字母相关的一系列数字)TEXTJOIN
将结果放在一起