Sommario
In questa esercitazione vedremo come cambiare i numeri delle colonne di Excel con i corrispondenti caratteri alfabetici.
Quando si costruiscono formule complesse in Excel, a volte è necessario ottenere la lettera di una colonna di una cella specifica o di un numero dato. Questo può essere fatto in due modi: utilizzando le funzioni incorporate o una funzione personalizzata.
Come convertire il numero di colonna in alfabeto (colonne a una lettera)
Se il nome della colonna è composto da una sola lettera, dalla A alla Z, è possibile ottenerlo utilizzando questa semplice formula:
CHAR(64 + numero_colonna )Ad esempio, per convertire il numero 10 in una lettera di colonna, la formula è:
=CHAR(64 + 10)
È anche possibile inserire un numero in una cella e fare riferimento a quella cella nella formula:
=CHAR(64 + A2)
Come funziona questa formula:
La funzione CHAR restituisce un carattere in base al codice del carattere nell'insieme ASCII. I valori ASCII delle lettere maiuscole dell'alfabeto inglese vanno da 65 (A) a 90 (Z). Quindi, per ottenere il codice del carattere della A maiuscola, si aggiunge 1 a 64; per ottenere il codice del carattere della B maiuscola, si aggiunge 2 a 64, e così via.
Come convertire il numero di colonna di Excel in lettera (qualsiasi colonna)
Se cercate una formula versatile che funzioni per qualsiasi colonna di Excel (1 lettera, 2 lettere e 3 lettere), dovrete utilizzare una sintassi un po' più complessa:
SOSTITUIRE(INDIRIZZO(1, numero_colonna , 4), "1", "")Con la lettera della colonna in A2, la formula assume questa forma:
=SOSTITUIRE(INDIRIZZO(1, A2, 4), "1", "")
Come funziona questa formula:
Per prima cosa, si costruisce un indirizzo di cella con il numero di colonna di interesse, fornendo i seguenti argomenti alla funzione INDIRIZZO:
- 1 per numero_riga (il numero di riga non è importante, quindi si può usare qualsiasi numero).
- A2 (la cella contenente il numero della colonna) per numero_colonna .
- 4 per ass_num per restituire un riferimento relativo.
Con i parametri sopra indicati, la funzione INDIRIZZO restituisce come risultato la stringa di testo "A1".
Poiché ci serve solo una lettera di colonna, togliamo il numero di riga con l'aiuto della funzione SUBSTITUTE, che cerca "1" (o il numero di riga codificato nella funzione INDIRIZZO) nel testo "A1" e lo sostituisce con una stringa vuota ("").
Ottenere la lettera della colonna dal numero della colonna utilizzando una funzione personalizzata Funzione personalizzata
Se avete bisogno di convertire regolarmente i numeri delle colonne in caratteri alfabetici, una funzione personalizzata definita dall'utente (UDF) può farvi risparmiare tempo.
Il codice della funzione è piuttosto semplice e lineare:
Funzione pubblica ColumnLetter(col_num) ColumnLetter = Split(Cells(1, col_num).Address, "$" )(1) Fine della funzioneIn questo caso, si utilizza il Cellule per fare riferimento a una cella della riga 1 e al numero di colonna specificato e la proprietà Indirizzo per restituire una stringa contenente un riferimento assoluto a quella cella (ad esempio $A$1). Poi, la funzione Split spezza la stringa restituita in singoli elementi usando il segno $ come separatore e restituisce l'elemento (1), che è la lettera della colonna.
Incollare il codice nell'editor VBA e il nuovo file ColonnaLettera Per una guida dettagliata, consultate: Come inserire codice VBA in Excel.
Dal punto di vista dell'utente finale, la sintassi della funzione è molto semplice:
ColonnaLettera(col_num)Dove col_num è il numero della colonna che si vuole convertire in lettera.
La formula reale può essere la seguente:
=ColonnaLettera(A2)
E restituirà esattamente gli stessi risultati delle funzioni native di Excel discusse nell'esempio precedente:
Come ottenere la lettera della colonna di una determinata cella
Per identificare la lettera di una colonna di una cella specifica, utilizzate la funzione COLONNA per recuperare il numero della colonna, che verrà poi trasmesso alla funzione INDIRIZZO. La formula completa avrà questa forma:
SOSTITUTO(INDIRIZZO(1, COLONNA( indirizzo_cella ), 4), "1", "")Ad esempio, cerchiamo di trovare la lettera della colonna della cella C5:
=SOSTITUIRE(INDIRIZZO(1, COLONNA(C5), 4), "1", "")
Ovviamente il risultato è "C" :)
Come ottenere la lettera della colonna della cella corrente
Per ricavare la lettera della cella corrente, la formula è praticamente la stessa dell'esempio precedente, con l'unica differenza che la funzione COLONNA() viene utilizzata con un argomento vuoto per fare riferimento alla cella in cui si trova la formula:
=SOSTITUIRE(INDIRIZZO(1, COLONNA(), 4), "1", "")
Come creare un riferimento di gamma dinamica dal numero di colonna
Si spera che gli esempi precedenti abbiano fornito nuovi spunti di riflessione, ma ci si potrebbe chiedere quali siano le applicazioni pratiche.
In questo esempio, vi mostreremo come utilizzare la formula "dal numero di colonna alla lettera" per risolvere compiti reali. In particolare, creeremo una formula XLOOKUP dinamica che estrarrà i valori da una colonna specifica in base al suo numero.
Dalla tabella di esempio qui sotto, supponiamo di voler ottenere una cifra di profitto per un determinato progetto (H2) e una settimana (H3).
Per eseguire questa operazione, è necessario fornire a XLOOKUP l'intervallo da cui restituire i valori. Poiché disponiamo solo del numero della settimana, che corrisponde al numero della colonna, convertiremo prima questo numero in una lettera di colonna e poi costruiremo il riferimento all'intervallo.
Per comodità, suddividiamo l'intero processo in 3 fasi facili da seguire.
- Convertire un numero di colonna in una lettera
Con il numero di colonna in H3, utilizzate la formula già nota per trasformarlo in un carattere alfabetico:
=SOSTITUIRE(INDIRIZZO(1, H3, 4), "1", "")
Suggerimento: se il numero del set di dati non corrisponde al numero della colonna, assicurarsi di apportare la correzione necessaria. Ad esempio, se i dati della settimana 1 fossero nella colonna B, quelli della settimana 2 nella colonna C e così via, si utilizzerebbe H3+1 per ottenere il numero di colonna corretto.
- Costruisce una stringa che rappresenta un riferimento all'intervallo
Per creare un riferimento all'intervallo sotto forma di stringa, si concatena la lettera della colonna restituita dalla formula precedente con il primo e l'ultimo numero della riga. Nel nostro caso, le celle dei dati si trovano nelle righe da 3 a 8, quindi utilizziamo questa formula:
=SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "3:" & SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "8"
Dato che H3 contiene "3", che viene convertito in "C", la nostra formula subisce la seguente trasformazione:
="C"&"3:"&"C"&"8"
E produce la stringa C3:C8.
- Creare un riferimento di gamma dinamica
Per trasformare una stringa di testo in un riferimento valido che Excel possa comprendere, annidate la formula precedente nella funzione INDIRETTO e passatela al terzo argomento di XLOOKUP:
=XLOOKUP(H2, E3:E8, INDIRECT(H4), "Non trovato")
Guarda anche: Inserire un'immagine in un messaggio di posta elettronica di Outlook da OneDrive utilizzando i modelli di e-mail condivisiPer eliminare una cella in più contenente la stringa dell'intervallo di ritorno, è possibile inserire la formula INDIRIZZO SOSTITUITO all'interno della funzione INDIRETTO stessa:
=XLOOKUP(H2, E3:E8, INDIRECT(SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "3:" & SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "8"), "Non trovato")
Con la nostra funzione ColumnLetter personalizzata, è possibile ottenere una soluzione più compatta ed elegante:
=XLOOKUP(H2, E3:E8, INDIRECT(ColonnaLettera(H3) & "3:" & ColonnaLettera(H3) & "8"), "Non trovato")
Ecco come trovare una lettera di colonna da un numero in Excel. Vi ringrazio per la lettura e vi aspetto sul nostro blog la prossima settimana!
Eserciziario da scaricare
Esempi di numeri di colonne di Excel in lettere (file .xlsm)