Alfabetisk kolonne Betegnelse

January 25  by Eliza

Du kan enkelt finne ut den numeriske kolonne i cellen ved hjelp av KOLONNE-funksjonen. Alt du trenger å gjøre er å sette en formel som dette i en celle, og resultatet er en verdi der A = 1, B = 2, etc .:

= KOLONNE ()

Hva hvis du ønsker en alfabetisk verdi, snarere enn en numerisk verdi? Dette kan gjøres på en hvilken som helst av flere forskjellige måter. For eksempel vil følgende formel fungerer veldig bra for de første 26 kolonner, A til Z:

= CHAR (KOLONNE () + 64)

Dette fungerer fordi bokstavene A til Z bruke tegnkoder 65 gjennom 90. Når KOLONNE returnerer en verdi for kolonner A til Z (1 til 26), kan dette legges til 64 for å få bokstavene i de kolonnene, 65 gjennom 90.

Selvfølgelig, vil denne løsningen ikke fungere hvis du ønsker å vite bokstavbetegnelser kolonner utenfor Z. (Excel kan bruke kolonner opp gjennom IV.) Denne formelen vil arbeide for enkelt- og dobbelt karakter kolonner:

= HVIS (KOLONNE () <27, CHAR (KOLONNE () + 64), CHAR ((KOLONNE () / 26) 64) og
CHAR (MOD (KOLONNE (), 26) 64))

Som du kan fortelle, når du kommer inn flere tegn for en kolonne, blir formelen lang ganske raskt. Du kan gjøre formelen kortere ved hjelp av en annen enn KOLONNE-funksjonen, men. Vurdere denne formelen, som baserer seg hovedsakelig på ADRESSE-funksjonen:

= VENSTRE (ADRESSE (1, KOLONNE (), 4), (KOLONNE ()> 26) 1)

The ADDRESS funksjonen returnerer adressen for en bestemt celle. I dette tilfellet, returnerer den adresse i cellen i den første raden i den aktuelle kolonnen. Dermed, hvis formel er i celle BF27, returnerer den BF1. Formelen bruker VENSTRE-funksjonen til å returnere riktig antall siste bokstavene i adressen, minus nummer 1 for raden.

En enda kortere versjon av formelen er avhengig av SUBSTITUTE funksjon i stedet for den venstre funksjon:

= ERSTATNINGS (ADRESSE (ROW (), KOLONNE (), 4), ROW (), "")

Denne versjonen bruker ROW funksjon å sette inn adressen sammen, og deretter strimler ROW verdi ut av resultatet av ADRESSE-funksjonen.

Selvfølgelig kan du også bruke en makro-basert løsning, hvis du vil. Følge makro vil fungere med alle kolonne i regnearket:

Funksjon AlphaCol () As String
Dim J As Integer
Dim K As Integer
Dim iDiv As Integer
Dim STEMP As String

Application.Volatile
J = Selection.Column
iDiv = 26 ^ 2
STEMP = ""
Mens J> 0
K = Int (J / iDiv)
Hvis K> 0 Then STEMP = STEMP & Chr (K + 64)
J = J - (K * iDiv)
iDiv = iDiv / 26
Wend
AlphaCol = STEMP
End Function

Makroen er en brukerdefinert funksjon, noe som betyr at du kan bruke den i regnearkene ved å legge dette til en celle:

= AlphaCol ()

En tekststreng blir returnert, bestående betegnelse av kolonnen.

ExcelTips er din kilde for kostnadseffektiv Microsoft Excel trening. Dette tipset (3254) gjelder for Microsoft Excel 97, 2000, 2002, og 2003. Du kan finne en versjon av dette tipset for Båndet av Excel (Excel 2007 og senere) her: Alfabetisk Column Betegnelse.