我创建了如下所述的列:
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()
条件的帮助下完成这项工作吗?
答案 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":