Excel:将数字 1-9 分配给字母

Excel:将数字 1-9 分配给字母

我已经尝试了一段时间,但没有成功。

  • 我尝试将数字 1-9 分配给字母表 AZ 中的字母(A=1 B=2 C=3 D=4 E=5 F=6 G=7 H=8 I=9 J=1 K=2 L=3 等)

  • 我希望能够输入一个单词并显示与每个字母相对应的数字,例如 AND 是 154,FALL 是 6133。

  • 在另一个单元格中,我希望能够将数字的各位相加,例如 AND 为 1+5+4 = 10。FALL = 6+1+3+3 = 13。

答案1

根据您的 Excel 版本,您可以使用:

Digits: =CONCAT(MOD(CODE(MID(H2,SEQUENCE(LEN(H2)),1))-65,9)+1)
Sum:    =SUM(MOD(CODE(MID(H2,SEQUENCE(LEN(H2)),1))-65,9)+1)

在此处输入图片描述

如果你的版本没有该SEQUENCE功能,可以替换为:

ROW(INDEX($A:$A,1):INDEX($A:$A,LEN(H2)))

如果您没有该CONCAT功能,VBA 可能是更好的选择。

答案2

您可以使用 VBA 函数来实现:

Public Function AlphaToDigits(s)
    Dim d As String
    
    For i = 1 To Len(s)
        d = d & CStr(((Asc(Mid(s, i, 1)) - 65) Mod 9) + 1)
    Next
    
    AlphaToDigits = d
    
End Function

Public Function SumStringDigits(s)
    Dim n As Long
    
    For i = 1 To Len(s)
        n = n + CInt(Mid(s, i, 1))
    Next
    
    SumStringDigits = n
    
End Function

例如,=AlphaToDigits(A1)B 列中包含 etc.,=SumStringDigits(B1)C 列中包含 etc.:

在此处输入图片描述


如果您还没有发现 Excel 中的宏,以下是 Microsoft 有关如何创建宏的说明:在 Excel 中创建自定义函数

答案3

  1. 您的 Word 中说“ORANGE”位于单元格 A1 中

  2. 在右侧输入公式将单词拆分为单个字母:

  3. B1=MID($A$1,1,1); C1=MID($A$1,2,1); D1=MID($A$1,3,1).....等等....

  4. 留下一行,以便清楚:在单元格 B3 中输入步骤 5 中给出的公式。

  5. B3 =如果(CODE(B1)<=73,CODE(B1)-64,如果(CODE(B1)<=82,CODE(B1)-73,如果(CODE(B1)<=90,CODE(B1)-82,0)))

  6. 将单元格 B3 的公式复制到 C3、D3、E3、F3……等中。

  7. 对于 SUM,输入公式,例如,M3 = SUM(B3:K3)

  8. 在 B3..G3 中输入公式后,我们得到的值为:691575 和 Sum=33。

谢谢。

答案4

结果

连接:=TEXTJOIN("",,VLOOKUP(MID(D2,SEQUENCE(LEN(D2)),1),$A$2:$B$13,2,0))

总计: =SUM(VLOOKUP(MID(D2,SEQUENCE(LEN(D2)),1),$A$2:$B$13,2,0))

相关内容