如何用数字替换字符串

时间:2019-06-23 08:40:29

标签: excel

我想用数字替换单元格中用逗号分隔的字母。我使用过=LOOKUP(A1,{"a","b","c","d","e"},{1,2,3,4,5})函数,但仅适用于单个字母。

例如:我想要的输出:

a => 1

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将按照公式栏中的说明在公式周围放置括号{...}

算法:

  • 将逗号分隔的字符串转换为XML:"<t><s>"&SUBSTITUTE(A1,",","</s><s>")&"</s></t>"
  • 使用FILTERXML将XML转换为字符串数组
  • UPPER使其不区分大小写
  • CODE(…) - 64转换为与字母相关的一系列数字)
  • TEXTJOIN将结果放在一起

enter image description here