使用数字0-25在Excel中生成AA,AB,...,ZZ

时间:2015-01-30 19:01:29

标签: excel excel-formula

我创建了如下所述的列:

0   A   00
1   B   01
2   C   02
3   D   03
4   E   04
5   F   05
6   G   06
7   H   07
8   I   08
9   J   09
10  K   010

我有两列,第一列有0-10,第二列有AK,我创建了一个新的列,AA,AB到ZZ的组合,数字在00,01到010.我需要替换数字使用vlookup和if条件的字母表。请帮助我

我可以在=Vlookup()和/或=If()条件的帮助下完成这项工作吗?

4 个答案:

答案 0 :(得分:0)

很抱歉,我不确定你之后的情况,我无法清楚地读取您的初始起始数据?

要替换值,您可以:

=SUBSTITUTE(A1,"0","A")

不确定这是否符合您的要求?

答案 1 :(得分:0)

我会开始一个新的答案,它与第一篇文章不同。

所以,拿出你的初始数据: 我再添加2列:它只是C列的映射,分为D和E列。在写这篇文章的时候,我不知道你是如何以编程方式翻译的,所以在我们有规则之前,我会做的就是这个 。我们可以在以后插入其他部分。

  0   A   00    0   0
  1   B   01    0   1
  2   C   02    0   2
  3   D   03    0   3
  4   E   04    0   4
  5   F   05    0   5
  6   G   06    0   6
  7   H   07    0   7
  8   I   08    0   8
  9   J   09    0   9
  10  K   010   0   10

然后使用这个公式:

=CONCATENATE(VLOOKUP(D1,$A$1:$B$11,2,FALSE),VLOOKUP(E1,$A$1:$B$11,2,FALSE))

你最终会得到这个:

  AA
  AB
  AC
  AD
  AE
  AF
  AG
  AH
  AI
  AJ
  AK

答案 2 :(得分:0)

如果您的最终目标是通过 ZZ生成 AA 首先在标准模块中输入以下 UDF

Public Function BumpString(s As String) As String
    Dim aryIN(1 To 1000) As Integer
    Dim L As Long, i As Long, carry As Boolean
    L = Len(s)
    j = 1
    For i = L To 1 Step -1
        aryIN(j) = Asc(Mid(s, i, 1))
        j = j + 1
    Next i
    For i = 1 To L
        carry = False
        aryIN(i) = aryIN(i) + 1
        If aryIN(i) = 91 Then
            aryIN(i) = 65
            carry = True
        Else
            Exit For
        End If
    Next

    If carry Then
        L = L + 1
        aryIN(L) = 65
    End If

    For i = 1 To L
        BumpString = Chr(aryIN(i)) & BumpString
    Next i
End Function

然后选择一个单元格,说 D1 并输入 AA
在其下方输入:

=bumpstring(D1)

然后通过 D676

复制 D2

答案 3 :(得分:0)

您不需要VLOOKUP

您可以将CODE函数与第一个和最后一个字符一起使用:

=(CODE(LEFT(A1))-65) & (CODE(RIGHT(A1))-65)

请注意,许多组合将映射到相同的数字,例如" BU"和" MA":

enter image description here