come modificare/cambiare/convertire una stringa di numeri in lettere e viceversa

Anonimo
2023-01-17T08:06:47+00:00

buongiorno,

devo rendere un numero di 10/15 cifre molto più corto e per questo ho pensato di "trasformarlo" in lettere.

come posso farlo?

es.

1=A

2=B

3=C

...

26=Z

27=AA

28=AB

GRAZIE

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

11 risposte

Ordina per: Più utili
  1. Anonimo
    2023-01-17T10:47:24+00:00

    Ciao Gianfranco,

    se superi le 10 cifre non funziona

    Questo è vero! Infatti la restrizione è maggiore: penso che il limite sia 2^31, oppure 2147483648.

    e lui

    Credevo che Sara fosse una donna! 😊

    parla da 10 a 15 cifre

    Sebbene sia forse possibile modificare il codice per gestire numeri più grandi, in assenza di ulteriori spiegazioni sui motivi alla base della conversione desiderata, sospetto che questo sarebbe un esercizio inutile in quanto la riduzione della lunghezza sembrerebbe non essere sufficientemente apprezzabile . A questo proposito, la conversione di 2^20 in una stringa alfabetica riduce solo un numero di 7 cifre in una stringa di 5 lettere.

    ===

    Regards,

    Norman

    Immagine

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2023-01-17T10:44:19+00:00

    INANZITUTTO GRAZIE GIANFRANCO E GRAZIE NORMAN

    chiedo per la mia profonda ignoranza...

    mi avevano suggerito: " =SOSTITUISCI(INDIRIZZO(1;A1;4);1;"") " (ho già provato e calcola fino a 4 cifre e non oltre)

    che come risultato al numero 9999 scritto in A1 mi da come risultato NTO (e se provo banalmente a selezionare le colonne A,B,C, fino ad arrivare ad NTO EXCEL mi dice che ho selezionato 9999 colonne),

    mentre con la formula di Gianfranco, arrivo a codificare anche le 15 cifre che mi servirebbe codificare, ma codificando sempre il numero 9999, come risultato mi da ALK che se vado di nuovo a selezionare le colonne e cercando ALK mi da come risultato 999 colonne selezionate. come mai?

    ma soprattutto come faccio a decodificare la mia stringa di lettere e farla tornare numeri?

    grazie infinite a tutti

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Gianfranco55 25,190 Punti di reputazione Moderatore volontario
    2023-01-17T09:47:15+00:00

    ciao

    Norman

    se superi le 10 cifre non funziona

    e lui parla da 10 a 15 cifre

    se estraiamo 4 cifre al colpo e aggreghiamo le lettere

    forse ci si riesce

    ma con il vba tu ci riesci io no

    Con una formula basica si può esempio

    =SOSTITUISCI(SE.ERRORE(INDIRIZZO(1;SINISTRA(A1;4)/10;4);"")&SE.ERRORE(INDIRIZZO(1;STRINGA.ESTRAI($A$1;5;4)/10;4);"")&SE.ERRORE(INDIRIZZO(1;STRINGA.ESTRAI($A$1;9;4)/10;4);"")&SE.ERRORE(INDIRIZZO(1;STRINGA.ESTRAI($A$1;13;4)/10;4);"");1;"")

    ma il problema non è questo

    il problema è

    come diavolo si fa a tornare indietro?

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2023-01-17T09:06:06+00:00

    Ciao Sarsa,

    buongiorno,

    devo rendere un numero di 10/15 cifre molto più corto e per questo ho pensato di "trasformarlo" in lettere.

    come posso farlo?

    es.

    1=A

    2=B

    3=C

    ...

    26=Z

    27=AA

    28=AB

    GRAZIE

    Suggerirei di sfruttare una UDF (funzione utente) che può essere utilizzata come una funzione nativa di Excel.

    Quindi, prova come segue:

    • Alt+F11 per aprire l'editor di VBA
    • Alt+IM per inserire un nuovo modulo di codice
    • Nel nuovo modulo vuoto, incolla il seguente codice:

    '========>>

    Option Explicit

    '-------->>

    Public Function MyCode(ByVal MyNumber As Long) As String

    Do While MyNumber > 0 
    
        MyNumber = MyNumber - 1 
    
        MyCode = ChrW$(65 + MyNumber Mod 26) & MyCode 
    
        MyNumber = MyNumber \ 26 
    
    Loop 
    

    End Function

    '<<========

    • Alt+Q per chiudere l'editor di VBA e tornare a Excel.
    • Salva il file con l'estensione xlsm

    Questa funzione verrebbe utilizzata in questo modo:

     =MyCode(A1)
    

    ===

    Regards,

    Norman

    Immagine

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Eliminata

    Questa risposta è stata eliminata a causa di una violazione del codice di comportamento. La risposta è stata segnalata manualmente o identificata tramite il rilevamento automatizzato prima dell'esecuzione dell'azione. Per ulteriori informazioni, fai riferimento al codice di comportamento.


    I commenti sono stati disattivati. Ulteriori informazioni