Moderatori: Anthony47, Flash30005
Devo creare una formula capace di ottenere da una cella(A) in formato testo, 2 nuove celle(B) e (C) in formato numerico etc etc
=SOSTITUISCI(A2;SINISTRA(A2;CERCA(15^2;TROVA(" ";A2;RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(A2)))))-1);"")
=ANNULLA.SPAZI(SINISTRA(B2;TROVA("*";B2)-1))+0
=ANNULLA.SPAZI(DESTRA(B2;TROVA("*";B2)-2))+0
C2 =SOSTITUISCI(ANNULLA.SPAZI(SINISTRA(B2;TROVA("*";B2)-1));".";",")+0
D2 =SOSTITUISCI(ANNULLA.SPAZI(DESTRA(B2;TROVA("*";B2)-2));".";",")+0
Function Ant4Sby(strinp As String, FlaPS As Boolean) As Double
SLun = Len(strinp)
If SLun = 0 Then GoTo Usci
For I = SLun To 1 Step -1
SChar = Mid(strinp, I, 1)
If SChar = " " Then GoTo Usci
If SChar <> "*" Then
If Fla1 = 0 Then
Str0 = SChar & Str0
Else: Str1 = SChar & Str1
End If
End If
If SChar = "*" Then Fla1 = 1
Next I
Usci:
If FlaPS = False Then
Ant4Sby = Str0
Else: Ant4Sby = Str1
End If
End Function
C2 =Ant4sby(A2;0)
D2 =Ant4sby(A2;1)
E' una caratteristica di questo forum, siamo troppo generosi....questa è proprio il tipo di risposta che speravo di avere, anzi forse anche più :-)
B2 =STRINGA.ESTRAI(A2;CERCA(15^2;TROVA(" ";A2;RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(A2)))));99)
=SINISTRA(A2;CERCA(15^2;TROVA("/";A2;RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(A2))))))
Anthony47 ha scritto:Nel nuovo, e alquanto diverso scenario, buttiamo tutto della vecchia soluzione e facciamo cosi':
-In A2 hai la tua stringa tipo STOCK 16/220 9999.9*8888.8 ;
-In B2 usi la formula
- Codice: Seleziona tutto
=SINISTRA(A2;CERCA(15^2;TROVA("/";A2;RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(A2))))))
-In C2, per il primo risultato (16), e in D2 per il secondo (220), in E2 per il terzo (9999,9) e in F2 per il quarto risultato (8888,8) userai in sequenza:
=STRINGA.ESTRAI(B2;CERCA(15^2;TROVA(" ";B2;RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(B2)))))+1;LUNGHEZZA(B2)-CERCA(15^2;TROVA(" ";B2;RIF.RIGA(INDIRETTO("1:"&LUNGHEZZA(B2)))))-1)+0
=SINISTRA(SOSTITUISCI(A2;B2;"");TROVA(" ";SOSTITUISCI(A2;B2;""))-1)+0
=SOSTITUISCI(STRINGA.ESTRAI(SOSTITUISCI(A2;B2;"");TROVA(" ";SOSTITUISCI(A2;B2;""))+1;TROVA("*";SOSTITUISCI(A2;B2;""))-TROVA(" ";SOSTITUISCI(A2;B2;""))-1);".";",")+0
=SOSTITUISCI(STRINGA.ESTRAI(SOSTITUISCI(A2;B2;"");TROVA("*";SOSTITUISCI(A2;B2;""))+1;99);".";",")+0
FORMULE PERFETTAMENTE FUNZIONANTI AL 1° COLPO, COMPLIMENTI !!
Mi raccomando, la prossima volta esponi TUTTO il problema, rifare il compito e' un inutile sciupio di tempo.
DEVO RIDARTI RAGIONE, PURTROPPO IL DIFETTO DEGLI SPAZI FINALI L'HO NOTATO SOLO APPLICANDO LA TUA PRECEDENTE FORMULA.
MENTRE LA SECONDA RICHIESTA MI E' STATA COMUNICATA MENTRE CI HAI DATO MODO DI SBLOCCARE LA SITUAZIONE.
Tra l' altro, comincio a pensare che il problema dovrebbe essere risolto a monte (chi prepara il file txt potrebbe farlo in un formato importabile da excel, esempio Csv).
SAREBBE MOLTO BELLO, MA I DATI MI PERVENGONO DA UNA DITTA IL CUI SOFTWARE E' ABILITATO A ESPORTARE SOLO IN .TXT
Ciao,
=SINISTRA(A2;SE(VAL.ERRORE(TROVA("/";A2));99;TROVA("/";A2)-1))
=DESTRA(A2;SE(VAL.ERRORE(TROVA("/";A2));0;LUNGHEZZA(A2)-TROVA("/";A2)))
Torna a Applicazioni Office Windows
Inserimento parziale valore cella in MessageBox Autore: Ricky0185 |
Forum: Applicazioni Office Windows Risposte: 6 |
Mettere tutto MAIUSCOLO un range di celle Autore: raimea |
Forum: Applicazioni Office Windows Risposte: 7 |
Inserire add.in nella barra di avvio veloce in excel 2003 Autore: Ricky0185 |
Forum: Applicazioni Office Windows Risposte: 4 |
Aggiornare cella con somma quando aggiungo nuova colonna Autore: marcopont |
Forum: Applicazioni Office Windows Risposte: 1 |
Visitano il forum: Nessuno e 25 ospiti