如何编写数字转字母编码公式,在Google Sheets中生成宝石价格暗码
Google Sheets价格编码实现方案
完全可以实现该自动编码功能,你只需要先自定义好数字与字母的一一对应映射规则即可,以下是具体实现方法:
第一步:确定数字-字符映射规则
首先你需要自行定义0-9每个数字对应的字符,确保映射唯一不重复即可。以你给出的示例原价1710→编码1GA0为例,可适配的映射规则参考:
- 数字0 → 0
- 数字1 → A
- 数字2 → B
- 数字3 → C
- 数字4 → D
- 数字5 → E
- 数字6 → F
- 数字7 → G
- 数字8 → H
- 数字9 → I
你可以根据业务需求随意调整对应关系,无需和示例一致。
第二步:编写编码公式
假设你需要编码的原始价格放在A列,从A2单元格开始存储,直接在目标单元格输入以下公式即可生成编码:
=LEFT(A2,1)&CONCAT(ARRAYFORMULA(SWITCH(MID(A2,SEQUENCE(LEN(A2)-1,1,2),1),"0","0","1","A","2","B","3","C","4","D","5","E","6","F","7","G","8","H","9","I")))
公式逻辑说明
LEFT(A2,1):提取价格的第一位数字,直接保留不转换SEQUENCE(LEN(A2)-1,1,2):生成从2开始的连续序列,对应价格从第二位开始的每个字符的位置MID(A2, 位置, 1):依次提取价格第二位及以后的每一个数字SWITCH:按照你自定义的映射规则,将提取到的数字转换为对应的字符CONCAT:将所有转换后的字符拼接,和第一位数字组合后即为最终编码
优化建议
- 如果需要调整映射规则,直接修改公式里
SWITCH部分的对应值即可 - 如果不希望其他人看到映射规则,可以把映射表存储在单独的隐藏工作表中,用
VLOOKUP调用隐藏表的映射内容,避免反向解码 - 如果原始价格包含小数,可以在公式中先对价格取整,把
A2替换为INT(A2)即可忽略小数部分
内容的提问来源于stack exchange,提问作者Gregory G
相关产品推荐
相关产品推荐

