我有一个工作表,其中 B 列中有一个名称列表,A 中有一个 ID 列。我想知道是否有某种公式可以获取该行 B 列中的值并生成某种基于 ID 的值在文字上?每个名字也是独一无二的,不会以任何方式重复。
如果我真的不必使用 VBA 那就最好了。但如果我必须这么做,那就这样吧。
最佳答案
无需 VBA 的解决方案。
基于前 8 个字符 + 单元格中的字符数的逻辑。
= CODE(cell)
返回第一个字母的代码
= CODE(MID(cell,2,1))
返回第二个字母的代码编号
= IFERROR(CODE(MID(cell,9,1))
如果第 9 个字符不存在则返回 0
= LEN(cell)
单元格中的字符数
连接前8个代码+在末尾添加字符长度
如果 8 个字符不够,则为字符串中的下一个字符复制附加代码。
最终功能:
=CODE(B2)&IFERROR(CODE(MID(B2,2,1)),0)&IFERROR(CODE(MID(B2,3,1)),0)&IFERROR(CODE(MID(B2,4,1)),0)&IFERROR(CODE(MID(B2,5,1)),0)&IFERROR(CODE(MID(B2,6,1)),0)&IFERROR(CODE(MID(B2,7,1)),0)&IFERROR(CODE(MID(B2,8,1)),0)&LEN(B2)
关于Excel 2007 - 根据文本生成唯一ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8047094/