ESTRARRE NUMERI DA TESTO (SEPARATO DA TRATTINO)

Anonimo
2012-02-20T16:05:49+00:00

Come posso estrarre in apposite celle i singoli numeri avendo una cella con testo simile a questo ?

2 - 5 - 7 - 8 - 9 - 10 - 12 - 13

oppure

10 - 11 - 12 - 13 - 14 - 15 - 16

Grazie - Saluti

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
Risposta accettata dall'autore della domanda
Anonimo
2012-02-21T10:19:51+00:00

OK FUNZIONA ! Mi rimane solo un problema ... vorrei i numeri in riga non in colonna ... sto realizzando un programma in EXCEL per il nuovo gioco di SISAL ... ! Grazie

Mi sembrava avessi detto in colonna.

Ok, questo lo sviluppo su riga:

=1*STRINGA.ESTRAI(" "&SOSTITUISCI($A1;" - ";" ")&" ";TROVA("#";SOSTITUISCI(" "&SOSTITUISCI($A1;" - ";" ")&" ";" ";"#";RIF.COLONNA(A1)));TROVA("#";SOSTITUISCI(" "&SOSTITUISCI($A1;" - ";" ")&" ";" ";"#";RIF.COLONNA(B1)))-TROVA("#";SOSTITUISCI(" "&SOSTITUISCI($A1;"

  • ";" ")&" ";" ";"#";RIF.COLONNA(A1))))

da trascinare a destra

La risposta è stata utile?

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2012-02-21T09:25:53+00:00

confermo che dopo ogni numero c'è uno spazio (le virgolette non ci sono)

I numeri sono in totale da 11 e possono essere da 1 a 20

 

1 - 2 - 3 - 10 - 11 ecc.

 

Il problema che alcune volte ci sono numeri singoli

come 1 - 2 - 3 ed altre numeri doppi 12 - 13 -14

 

Io non vorrei utilizzare una macro ma delle formule nelle 11 caselle a destra della casella che contiene gli 11 numeri ...

 

Grazie ancora .. Saluti Roberto

Provo

Intanto ecco la soluzione via macro che elimina anche gli spazi:

Private s() As String

Public Sub mCopia()

    s = Split(Selection, "-")

End Sub

Public Sub mIncolla()

     Dim lng As Long

     For lng = 0 To UBound(s)

         ActiveCell.Offset(lng, 0).Value = _

            Replace(s(lng), " ", "")

     Next

End Sub

La risposta è stata utile?

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2012-02-21T09:21:42+00:00

confermo che dopo ogni numero c'è uno spazio (le virgolette non ci sono)

I numeri sono in totale da 11 e possono essere da 1 a 20

 

1 - 2 - 3 - 10 - 11 ecc.

 

Il problema che alcune volte ci sono numeri singoli

come 1 - 2 - 3 ed altre numeri doppi 12 - 13 -14

 

Io non vorrei utilizzare una macro ma delle formule nelle 11 caselle a destra della casella che contiene gli 11 numeri ...

 

Grazie ancora .. Saluti Roberto

Prova così:

in A1 la tua stringa di numeri

in B1: =1*STRINGA.ESTRAI(" "&SOSTITUISCI($A$1;" - ";" ")&" ";TROVA("#";SOSTITUISCI(" "&SOSTITUISCI($A$1;" - ";" ")&" ";" ";"#";RIF.RIGA(A1)));TROVA("#";SOSTITUISCI(" "&SOSTITUISCI($A$1;" - ";" ")&" ";" ";"#";RIF.RIGA(A2)))-TROVA("#";SOSTITUISCI(" "&SOSTITUISCI($A$1;"

  • ";" ")&" ";" ";"#";RIF.RIGA(A1))))

da trascinare in basso fino al messaggio di errore #VALORE!

La risposta è stata utile?

0 commenti Nessun commento

18 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2012-04-09T10:15:49+00:00

    Allora i dati sono in colonna AA25 e li devo visualizzare in AH25 sono tutti nella solita colonna.

    Dire che i dati sono in colonna AA25 non significa niente dato che AA25 è una cella e non una colonna.

    Copia la prima formula nella cella AH25.

    Modifica nella formula le coordinate della cella $A$1 in $AA25.

    Trascina la formula a destra di tanti posti quante sono i numeri che compongono la stringa.

    Se hai altri dati in colonna AA successivi alla cella AA25 copia tutte le formule in basso.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2012-04-09T09:58:22+00:00

    Allora i dati sono in colonna AA25 e li devo visualizzare in AH25 sono tutti nella solita colonna.

    La risposta è stata utile?

    0 commenti Nessun commento