Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
oppure:
=STRINGA.ESTRAI(A1;TROVA(" ";A1)+1;(TROVA(" ";A1;TROVA(" ";A1)+1)-TROVA(" ";A1)-1))
Questo browser non è più supportato.
Esegui l'aggiornamento a Microsoft Edge per sfruttare i vantaggi di funzionalità più recenti, aggiornamenti della sicurezza e supporto tecnico.
salve a tutti
ho una stringa di testo nella colonna b cosi formata
"abc 12345/3 cognome"
nella colonna c dovrei escludere tutta la parte prima dello spazio e dopo di modo che rimane solo 12345/3
come posso fare?
Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
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.
oppure:
=STRINGA.ESTRAI(A1;TROVA(" ";A1)+1;(TROVA(" ";A1;TROVA(" ";A1)+1)-TROVA(" ";A1)-1))
salve a tutti
ho una stringa di testo nella colonna b cosi formata
"abc 12345/3 cognome"
nella colonna c dovrei escludere tutta la parte prima dello spazio e dopo di modo che rimane solo 12345/3
come posso fare?
Se i dati sono sempre uguali come forma, cioè: xxx xxxxx/x nnnnnn (la serie n può variare come lunghezza):
C1: =STRINGA.ESTRAI(B1;5;7)
Altrimenti:
C1: =STRINGA.ESTRAI(B1;TROVA(" ";B1)+1;TROVA(" ";B1;TROVA(" ";B1)+1)-TROVA(" ";B1))
o una semplicissima UDF:
Public Function f(ByVal v As Variant) As String
Dim vs As Variant
vs = Split(v, " ")
f = vs(1)
End Function
da richiamare ad esempio così:
C1: = f(B1)
NOTA.
Nessuna delle soluzioni funziona se la separazione fra le parole della stringa è superiore ad una.
Una parziale soluzione potrebbe essere questa UDF che corregge fino a 4 caratteri di separazione erroneamente inseriti al posto di uno:
Public Function f(ByVal v As Variant) As String
Dim vs As Variant
Dim lng As Long
For lng = 1 To 4
v = Replace(v, " ", " ")
Next
vs = Split(v, " ")
f = vs(1)
End Function
Possiamo anch efare tutto in automatico sfruttando la Function e una Sub:
Public Function f(ByVal v As Variant) As String
Dim vs As Variant
Dim lng As Long
For lng = 1 To 4
v = Replace(v, " ", " ")
Next
vs = Split(v, " ")
f = vs(1)
End Function
Public Sub m()
Dim sh As Worksheet
Dim lRiga As Long
Dim lng As Long
Set sh = ThisWorkbook.Worksheets("Foglio1")
With sh
lRiga = .Range("B" & .Rows.Count).End(xlUp).Row
For lng = 1 To lRiga
.Range("C" & lng).Value = f(.Range("B" & lng).Value)
Next
End With
Set sh = Nothing
End Sub
Lanciando la Sub m, otteniamo quanto richiesto in colonna C.
GRAZIE!!! :)
Ciao,
una prima risposta per estrarre segmenti di stringa confinate fra due spazi:
=ANNULLA.SPAZI(STRINGA.ESTRAI(SOSTITUISCI(A1;" ";RIPETI(" ";150));150;100))
Saluti