如何将Excel列名称转换为数字,反之亦然?

时间:2018-08-29 20:25:15

标签: excel

在Excel中,列名类似于A,B,C,当超过26时,列名变为27,AB等AA。当到达AZ时,列名变为BA,依此类推。

如何在名称和数字之间轻松转换?我正在寻找可以在两者之间切换的计算器。

例如:当我打“ 28”时,它应该返回“ AB”。如果我打“ AB”,“ 28”。我希望已经有一个在线计算器。

2 个答案:

答案 0 :(得分:1)

对于28次尝试的AB,

dim cola as string

cola = split(cells(1, 28).address, "$")(1)

debug.print cola

对于AB的28,请尝试

dim coli as long

coli = cells(1, "AB").column

debug.print coli

在工作表上,在A1中键入 AB ,并在B1中使用此公式获得28,

=column(indirect(a1&":"&a1))

在工作表上,在A1中键入 28 ,并在B1中使用此公式获得AB,

=substitute(address(1, a1, 4, 1), 1, "")

答案 1 :(得分:1)

一些用户定义的代码和工作表功能

Option Explicit
Public Sub TEST()
    Debug.Print GetColNumber("AB")
    Debug.Print GetColLetter(28)
End Sub
Public Function GetColNumber(ByVal columnHeader As String) As Long
     GetColNumber = Evaluate("CELL(""col"", " & columnHeader & "1)")
End Function

Public Function GetColLetter(ByVal columnNumber As Long) As String
     GetColLetter = Split(Evaluate("ADDRESS(1," & columnNumber & ",4)"), 1)(0)
End Function