You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Excel公式(非VBA)按指定规则编码字符串?

用Excel公式实现自定义字符串编码(无需VBA)

当然可以实现,以下是针对不同Excel版本的具体方案:

适用于Excel 365/2021(支持动态数组)

假设目标字符串在单元格A1中,使用以下公式即可直接得到编码结果:

=TEXTJOIN("",,MATCH(MID(A1,SEQUENCE(LEN(A1)),1),UNIQUE(MID(A1,SEQUENCE(LEN(A1)),1)),0))

公式拆解:

  • MID(A1,SEQUENCE(LEN(A1)),1):将A1中的字符串拆分为单个字符组成的数组
  • UNIQUE(...):按字符出现的先后顺序提取唯一字符集合
  • MATCH(...):获取每个字符在唯一集合中的位置,这个位置就是对应的编码数字
  • TEXTJOIN("",,...):将所有编码数字拼接成最终的字符串

验证示例:

  • 当A1为ABCDEAC时,公式输出1234513,符合要求
  • 当A1为CDABAEB时,公式输出1234354,与示例一致

适用于旧版Excel(不支持动态数组)

如果你的Excel版本不支持动态数组,可使用以下数组公式(输入时需按Ctrl+Shift+Enter确认):

=TEXTJOIN("",,MATCH(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),INDEX(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),MATCH(0,COUNTIF(INDIRECT("R1C1:R"&ROW(INDIRECT("1:"&LEN(A1)))-1&"C1",FALSE),MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)),0)),0))

核心逻辑:

用INDEX+MATCH+COUNTIF组合模拟动态数组中UNIQUE的功能,按顺序提取首次出现的唯一字符,后续步骤与新版公式一致。

内容的提问来源于stack exchange,提问作者AN Đỗ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 09:07:14