【问题标题】:How to create a code from numbers in MS Excel如何从 MS Excel 中的数字创建代码
【发布时间】:2015-12-01 08:29:40
【问题描述】:

我需要从数字创建代码。

例如。如果我们定义

A as 1

B as 2

...

J as 9

K as 0

如果单元格的值为 499,则应返回等效代码“DJJ”。

【问题讨论】:

  • 向我们展示您的尝试。还请告诉我们更多关于您的单元格的信息:它们总是 3 位数字吗?

标签: excel-formula


【解决方案1】:

首先,在 ASCII 表中找到与数字“1”相关的字符:

=CHAR(1) 

这将为您提供与 ASCII 代码 1 相关的字符。现在找到 A 的代码 #,然后将其添加到您的结果中:

=CODE("A") 

这将为您提供与字母“A”相关的 ASCII 码。如果您对其进行测试,您将看到 ASCII 表有一个特定的顺序。它按字母顺序排列小写字母,按顺序排列数字,按字母顺序排列大写字母(特殊字符以特定方式随处可见)。这种排序允许您找到字母“A”之后的字母,只需添加 1、2 等 - 即:

=CHAR(A1+CODE("A")-1) 

这将为您提供与在 A1 中找到的数字相关联的字符,从“A”字符在 ASCII 表中的位置开始。

最后,假设 A1 包含一个 3 位数字。要将上述内容整合到一个有凝聚力的公式中,我们只需要应用它 3 次,每个单词中的每个字符一次。我们可以使用 LEFT、MID 和 RIGHT 函数来做到这一点,如下所示:

=CHAR(LEFT(A1)+CODE("A")-1) & CHAR(MID(A1,2,1)+CODE("A")-1) & CHAR(RIGHT(A1)+CODE("A")-1)

这首先获取在 A1 中找到的最左边的字符(例如,数字 5),并将其添加到字母“A”的 ASCII 代码中。然后它返回 ASCII 表 [5 - 1 + CODE("A")] 中 "A" 右侧 4 位的字符。然后它对 A1 中的第二个字符(比如数字 6)执行此操作。然后它对 A1 中最右边的字符(比如数字 0)执行此操作。

这个方法没有错误检查;它假定 A1 始终包含一个 3 位数字,格式不带小数。

请注意,此方法使 0 = 到 A。我将由您决定是否要将所有数字向右移动,以便 1 = A 和 0 = K。

【讨论】:

  • 很好的解释,我得到了我想要的东西。非常感谢:)
猜你喜欢
  • 2013-02-10
  • 2018-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多