È possibile determinare facilmente la colonna numerica della cella utilizzando la funzione COLONNA. Tutto quello che devi fare è inserire una formula come questa in una cella e il risultato è un valore dove A = 1, B = 2, ecc .:

=COLUMN()

Cosa succede se si desidera un valore alfabetico invece di un valore numerico? Questo può essere fatto in molti modi diversi. Ad esempio, la seguente formula funzionerà molto bene per le prime 26 colonne, dalla A alla Z:

=CHAR(COLUMN()+64)

Ciò funziona perché le lettere dalla A alla Z utilizzano codici di caratteri da 65 a 90. Quando COLUMN restituisce un valore per le colonne da A a Z (da 1 a 26), questo può essere aggiunto a 64 per ottenere le lettere di tali colonne, da 65 a 90. Torna all’inizio

Ovviamente, questa soluzione non funzionerà se vuoi conoscere le designazioni delle lettere delle colonne oltre Z. (Excel può utilizzare le colonne fino a IV.)

Questa formula funzionerà per colonne di caratteri singoli e doppi:

=IF(COLUMN()<27,CHAR(COLUMN()+64),CHAR((COLUMN()/26)+64)& CHAR(MOD(COLUMN(),26)+64))

Come puoi vedere, quando inserisci più caratteri per una colonna, la formula diventa lunga piuttosto rapidamente. Tuttavia, è possibile abbreviare la formula utilizzando una funzione diversa da COLUMN. Considera questa formula, che si basa principalmente sulla funzione ADDRESS:

=LEFT(ADDRESS(1,COLUMN(),4),(COLUMN()>26)+1)

La funzione INDIRIZZO restituisce l’indirizzo di una cella specifica. In questo caso, restituisce l’indirizzo della cella nella prima riga della colonna corrente. Pertanto, se la formula si trova nella cella BF27, restituisce BF1.

La formula utilizza la funzione SINISTRA per restituire il numero corretto di caratteri più a sinistra nell’indirizzo, meno il numero 1 per la riga.

Una versione ancora più breve della formula si basa sulla funzione SOSTITUISCI invece della funzione SINISTRA:

=SUBSTITUTE(ADDRESS(ROW(),COLUMN(),4),ROW(),"")

Questa versione utilizza la funzione RIGA per mettere insieme l’indirizzo e quindi rimuove il valore RIGA dal risultato della funzione INDIRIZZO.

Ovviamente puoi anche utilizzare una soluzione basata su macro, se lo desideri. La macro seguente funzionerà con qualsiasi colonna del foglio di lavoro:

Function 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 = ""

While J > 0         K = Int(J / iDiv)

If K > 0 Then sTemp = sTemp & Chr(K + 64)

J = J - (K * iDiv)

iDiv = iDiv / 26     Wend     AlphaCol = sTemp End Function

La macro è una funzione definita dall’utente, il che significa che puoi usarla nei tuoi fogli di lavoro semplicemente aggiungendola a qualsiasi cella:

=AlphaCol()

Viene restituita una stringa di testo, costituita dalla designazione della colonna.

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (3254) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: