Stellar Blade Un'esclusiva PS5 che sta facendo discutere per l'eccessiva bellezza della protagonista. Vieni a parlarne su Award & Oscar!
 
Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Trasformare molti spazi in uno solo

Ultimo Aggiornamento: 09/10/2018 23:09
Post: 10
Registrato il: 23/02/2016
Città: UDINE
Età: 51
Utente Junior
2007
OFFLINE
09/10/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.

😃

Post: 3.961
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
ONLINE
09/10/2018 16:25

Ciao

Occorrerebbe vedere con un file gli esempi significativi del tipo di stringa che hai per poi valutare il da farsi.

Alfredo
Post: 2.092
Registrato il: 21/03/2008
Città: LOCATE VARESINO
Età: 76
Utente Veteran
2007 / 13
OFFLINE
09/10/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




Ciao da locate
excel 2007 / 13
Post: 2.093
Registrato il: 21/03/2008
Città: LOCATE VARESINO
Età: 76
Utente Veteran
2007 / 13
OFFLINE
09/10/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
Ciao da locate
excel 2007 / 13
Post: 722
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Senior
Excel 2016-32bit Win11
OFFLINE
09/10/2018 19:36

Un saluto a tutti 🖐.

Con l'uso di una colonna d'appoggio provare ad usare la funzione ANNULLA.SPAZI

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Post: 3.963
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
ONLINE
09/10/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.

Alfredo
Post: 2.094
Registrato il: 21/03/2008
Città: LOCATE VARESINO
Età: 76
Utente Veteran
2007 / 13
OFFLINE
09/10/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
Ciao da locate
excel 2007 / 13
Post: 3.964
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
ONLINE
09/10/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

Alfredo
Post: 236
Registrato il: 11/07/2015
Età: 33
Utente Junior
office 2013-2016
OFFLINE
09/10/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

[Modificato da Ulisse1990 09/10/2018 21:39]
Post: 723
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Senior
Excel 2016-32bit Win11
OFFLINE
09/10/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(

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Post: 3.965
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
ONLINE
09/10/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


Alfredo
Post: 724
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Senior
Excel 2016-32bit Win11
OFFLINE
09/10/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


______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 17:11. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com