Trasformare molti spazi in uno solo

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
A.Gallace
00martedì 9 ottobre 2018 16:18
So che la domanda è strana, ma io ho un file in cui nelle descrizioni ci sono dei punti in cui ci sono 15-20-25 spazi e devo ridurli a 1 solo.

Con sostituisci non riesco a farlo in quanto devo indicare il numero esatto di spazi, c'è una maniera di farlo con un'altra formula?

Grazie a chi mi saprà dare la giusta risposta.

😃

alfrimpa
00martedì 9 ottobre 2018 16:25
Ciao

Occorrerebbe vedere con un file gli esempi significativi del tipo di stringa che hai per poi valutare il da farsi.
locatevaresino
00martedì 9 ottobre 2018 17:14
ciao

intanto ne approfitto per salutare Alfredo

penso che in questo caso bisogna utilizzare VBA

ti posto una sub che fa questo lavoro da colonna A e scrive in colonna C

vedi file allegato


Option Explicit

Sub Splitto()
Dim sSplit() As String
Dim i As Long, k As Long
Dim stringaR As String
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
sSplit = Split(Cells(i, 1), " ")
stringaR = ""
For k = LBound(sSplit) To UBound(sSplit)
If sSplit(k) <> "" Then
stringaR = stringaR & sSplit(k) & " "
End If
Next k
Cells(i, 3) = Trim(stringaR)
Next i
End Sub




locatevaresino
00martedì 9 ottobre 2018 17:26
riciao

si potrebbe utilizzare anche una funzione scritta sempre in VBA
da inserire in un modulo


Option Explicit
Public Function NoSpazi(ByVal cella As Range) As String
Dim sSplit() As String
Dim k As Long
Dim stringaR As String
stringaR = ""
sSplit = Split(cella, " ")
For k = LBound(sSplit) To UBound(sSplit)
If sSplit(k) <> "" Then
stringaR = stringaR & sSplit(k) & " "
End If
Next k
NoSpazi = Trim(stringaR)
End Function



utilizzo NoSpazi(e la cella dove vi e' la stringa da modificare)
riallego sempre il file con inserita anche questi
rollis13
00martedì 9 ottobre 2018 19:36
Un saluto a tutti 🖐.

Con l'uso di una colonna d'appoggio provare ad usare la funzione ANNULLA.SPAZI
alfrimpa
00martedì 9 ottobre 2018 20:01
Scusa Rollis puoi fare un esempio di quello che intendi?

Per quanto ne sappia ANNULLA.SPAZI() non interviene all’interno di una stringa.
locatevaresino
00martedì 9 ottobre 2018 20:14
ciao

ciao Alfredo
la funzione proposta da Rollis, ( ANNULLA.SPAZI() ) fa proprio questo lavoro
io no ho proposto questi in quanto , come penso di solito quegli spazi inseriti non si riferiscono al carattere chr(32) ma vedrai che saranno caratteri chr(160) se queste stringhe arrivano da un server , quindi un gestionale

comunque attendiamo il file di riscontro
alfrimpa
00martedì 9 ottobre 2018 20:26
Ciao Locate

ANNULLA.SPAZI() elimina gli spazi in eccesso all’inizio ed al termine di una stringa non quelli al suo interno.

https://support.office.com/it-it/article/annulla-spazi-funzione-annulla-spazi-410388fa-c5df-49c6-b16c-9e5630b479f9
Ulisse1990
00martedì 9 ottobre 2018 21:00

Buona Sera

Se devi spostare -e eliminare puoi usare questa formula

A1=15 20 22


B1=TESTO(SOSTITUISCI(A1;" ";"")+0;"0 00000")

variando la posizione degli zero varierà dove sarà posto lo spazio
vuoto



Saluti

rollis13
00martedì 9 ottobre 2018 21:48
@alfrimpa, di quella pagina che hai indicato devi leggere la 'Descrizione', non solo l'esempio che è riduttivo; prova eventualmente.

Se poi ci sono situazioni particolari si può anche usare insieme a LIBERA:

=LIBERA(ANNULLA.SPAZI(
alfrimpa
00martedì 9 ottobre 2018 22:16
Forse sono io che non capisco ma io leggo questo


Esempio

Copiare i dati di esempio contenuti nella tabella seguente e incollarli nella cella A1 di un nuovo foglio di lavoro Excel. Affinché le formule mostrino i risultati, selezionarle, premere il tasto F2 e quindi Invio. Se necessario, adattare l'ampiezza delle colonne per visualizzare tutti i dati.

Formula. Descrizione. Risultato

=ANNULLA.SPAZI(" Utili primo trimestre ")

Rimuove gli spazi iniziali e finali dal testo nella formula (Utili primo trimestre)

Utili primo trimestre

rollis13
00martedì 9 ottobre 2018 23:09
Avevo detto: "leggi la descrizione".


Descrizione
Rimuove tutti gli spazi dal testo ad eccezione dei singoli spazi tra le parole. Utilizzare la funzione ANNULLA.SPAZI sul testo creato con altre applicazioni che può presentare una distribuzione irregolare degli spazi.

ed in particolare:

ad eccezione dei singoli spazi tra le parole

Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 04:06.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com