要獲取單元格所在列的名稱,如A9單元格的列名“A”,可以用公式和自定義函數的方法來實現。
1.用公式獲取列名
在任意單元格中輸入公式:
=LEFT(ADDRESS(ROW(),COLUMN(),4),LEN(ADDRESS(ROW(),COLUMN(),4))-LEN(ROW()))
公式說明:先用ROW和COLUMN函數返回公式所在單元格的行號和列號,然后用ADDRESS函數返回該單元格的地址,最后一個參數4,表示返回的引用類型為相當引用,即返回A1樣式地址。最后用LEFT函數返回列名。
在A9單元格中輸入公式:
=SUBSTITUTE(ADDRESS(1,COLUMN(A9),2),"$1","")
公式說明:用ADDRESS函數返回A9單元格的地址,最后一個參數為2,表示返回的引用類型為絕對行號和相對列標,即A$1式樣。然后用SUBSTITUTE函數將其中的“$1”替換為空。
2.用自定義函數獲取列名
按Alt+F11,打開VBA編輯器,單擊菜單“插入→模塊”,在右側代碼窗口中輸入:
Function ColumnLetter1(rng As Range) As String
ColumnLetter1 = Replace(rng.EntireColumn.Cells(1).Address(, False), "$1", "")
End Function
然后在A9單元格中輸入公式
=ColumnLetter1(A9)
或:
Function ColumnLetter2(rng As Range)
ColumnLetter2= Mid(rng.Address, 2, InStr(2, rng.Address, "$") – 2)
End Function
然后在A9單元格中輸入公式
=ColumnLetter2(A9)