[Risolto] Concatena (Da : A), è possibile?
[Risolto] Concatena (Da : A), è possibile?
Buongiorno,
Ho una riga "1" con varie formule ed ognuna delle quali riporta un valore.
La riga è lunga oltre 500 celle e riporta svariati valori, di cui la maggior parte sono vuoti.
Con la formula:
CONCATENA(A1;",";B1;",";C1;",", e così via)
sarei in grado di scrivere in un'unica cella tutti i risultati ottenuti nella riga 1, escludendo poi virgole e spazi vuoti tramite altre formule.
Il problema è che come detto la riga 1 contiene formule per 500 celle, il che rende un problema scrivere la formula CONCATENA, che risulterebbe
incredibilmente lunga perchè dovrei partire da A1;"," fino ad arrivare a SF1;"," .
Mi chiedevo quindi se c'era un modo per dare un range a CONCATENA anzichè indicare singolarmente ogni cella.
Qualcosa del tipo CONCATENA(A1:SF1;","), cioè concatena(Dalla cella A1 che è la prima, Alla cella SF1 che è l'ultima; ",").
Ho provato qualche formula, ma non riesco a venirne a capo.
Ho una riga "1" con varie formule ed ognuna delle quali riporta un valore.
La riga è lunga oltre 500 celle e riporta svariati valori, di cui la maggior parte sono vuoti.
Con la formula:
CONCATENA(A1;",";B1;",";C1;",", e così via)
sarei in grado di scrivere in un'unica cella tutti i risultati ottenuti nella riga 1, escludendo poi virgole e spazi vuoti tramite altre formule.
Il problema è che come detto la riga 1 contiene formule per 500 celle, il che rende un problema scrivere la formula CONCATENA, che risulterebbe
incredibilmente lunga perchè dovrei partire da A1;"," fino ad arrivare a SF1;"," .
Mi chiedevo quindi se c'era un modo per dare un range a CONCATENA anzichè indicare singolarmente ogni cella.
Qualcosa del tipo CONCATENA(A1:SF1;","), cioè concatena(Dalla cella A1 che è la prima, Alla cella SF1 che è l'ultima; ",").
Ho provato qualche formula, ma non riesco a venirne a capo.
- Allegati
-
- Prova Concatena.ods
- (15.03 KiB) Scaricato 17 volte
Ultima modifica di Wyv il sabato 19 aprile 2025, 14:21, modificato 1 volta in totale.
OperOffice 4.1.2 su Windows 10 Pro
Re: Concatena (Da : A), è possibile?
Ciao, ti posso suggerire solo un metodo di scrittura più rapido.
- In una casella a piacere, mettiamo A1, scrivi una virgola
- Nella casella del risultato digiti: =CONCATENA(
- Fai clic sulla prima casella da concatenare
- Tenendo premuto Ctrl fai clic su A1
- Tenendo premuto Ctrl fai clic sulla seconda casella da concatenare
- Tenendo premuto Ctrl fai clic su A1
- .......
- Tenendo premuto Ctrl fai clic sull'ultima casella da concatenare
- Digita ) e premi Invio
charlie
macOS 15.5 Sequoia: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
macOS 15.5 Sequoia: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Re: Concatena (Da : A), è possibile?
E' l'equivalente di scrivere, però al posto di scrivere clicco sulla cella.
Grazie del suggerimento, questo però lo faccio già regolarmente, ma il problema rimane. Se ho una riga con 500 valori devo cliccare singolarmente su ognuna di quelle celle, ed inoltre devo anche cliccare 500 volte sulla virgola (Anche se quella la farei premendo direttamente la virgola sulla tastiera per evitare il click in più). Se poi la riga mi diventasse da 1000 valori sarebbero 1000 click + altri 1000 click. E' certamente più veloce di scrivere, ma non è decisamente una soluzione ideale.
Io starei cercando una soluzione simile o sostitutiva a TESTO.UNISCI che non posso usare perchè non ho libreoffice.
Grazie dell'interessamento e del suggerimento.
Grazie del suggerimento, questo però lo faccio già regolarmente, ma il problema rimane. Se ho una riga con 500 valori devo cliccare singolarmente su ognuna di quelle celle, ed inoltre devo anche cliccare 500 volte sulla virgola (Anche se quella la farei premendo direttamente la virgola sulla tastiera per evitare il click in più). Se poi la riga mi diventasse da 1000 valori sarebbero 1000 click + altri 1000 click. E' certamente più veloce di scrivere, ma non è decisamente una soluzione ideale.
Io starei cercando una soluzione simile o sostitutiva a TESTO.UNISCI che non posso usare perchè non ho libreoffice.
Grazie dell'interessamento e del suggerimento.
OperOffice 4.1.2 su Windows 10 Pro
Re: Concatena (Da : A), è possibile?
Se passi a Libre Office, c'è la funzione TESTO.UNISCI che risolve il problema.
Esempio, se l'intervallo fosse B1:BA1:
Digita la formula: =TESTO.UNISCI(" ";1;B1:BA1).
Esempio, se l'intervallo fosse B1:BA1:
Digita la formula: =TESTO.UNISCI(" ";1;B1:BA1).
- TESTO.UNISCI: è la funzione che concatena le celle.
- " ": è il separatore, in questo caso uno spazio. Puoi sostituirlo con qualsiasi altro carattere o stringa.
- 1: indica che la funzione deve concatenare tutte le celle nell'intervallo.
charlie
macOS 15.5 Sequoia: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
macOS 15.5 Sequoia: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Re: Concatena (Da : A), è possibile?
Ciao. Se non vuoi o non puoi passare a LibreOffice, potresti accorpare i dati in una riga con la seguente formula matriciale
La formula va inserita in una cella, confermata con la combinazione di tasti ctrl+maiuscolo+invio (non col solo invio) e trascinata a destra tenendo premuto il tasto control, o copiata e incollata per quanto ti può servire.
Codice: Seleziona tutto
=SE(VAL.ERRORE(INDICE($B$9:$DC$9;PICCOLO(SE($B$9:$DC$9<>"";RIF.COLONNA($B$9:$DC$9)-1);RIF.COLONNA(A1))));"";INDICE($B$9:$DC$9;PICCOLO(SE($B$9:$DC$9<>"";RIF.COLONNA($B$9:$DC$9)-1);RIF.COLONNA(A1))))
- Allegati
-
- accorpa dati.png (7.64 KiB) Visto 582 volte
...se sei soddisfatto delle risposte ricevute metti il [Risolto] viewtopic.php?f=9&t=5661
Libreoffice 25.8 LinuxMint 21/22
Libreoffice 25.8 LinuxMint 21/22
Re: Concatena (Da : A), è possibile?
Gioh, la formula fa esattamente quello che volevo facesse. Grazie mille, è perfetta.
Se possibile però vorrei chiederti una cortesia, sia per me e sia per chi arriverà in seguito poi su questo post per la mia stessa ragione.
Mi piacerebbe riuscire a capire la formula, ci sono alcune cose che non ho mai visto e non ho idea del perchè vada confermata con ctr+shift+invio.
Se potessi scomporla e spiegarla passo passo sarebbe il top, in modo che una volta capita poi la possa utilizzare senza andare a chiedere a nessuno.
In ogni caso, grazie ancora.
Se possibile però vorrei chiederti una cortesia, sia per me e sia per chi arriverà in seguito poi su questo post per la mia stessa ragione.
Mi piacerebbe riuscire a capire la formula, ci sono alcune cose che non ho mai visto e non ho idea del perchè vada confermata con ctr+shift+invio.
Se potessi scomporla e spiegarla passo passo sarebbe il top, in modo che una volta capita poi la possa utilizzare senza andare a chiedere a nessuno.
In ogni caso, grazie ancora.
OperOffice 4.1.2 su Windows 10 Pro
Re: Concatena (Da : A), è possibile?
Ciao felice d’esserti stato d’aiuto.
Allora ti spiego come funziona la formula partendo dal centro, cioè dalla funzione SE.
Dunque con la formula
creiamo una matrice di VERO e FALSO, tipo
FALSO.FALSO.VERO.VERO.FALSO.FALSO.VERO… ecc…
e con
ci facciamo restituire il numero di colonna a cui corrisponde la condizione VERO.
Mettendo poi la formula
come primo argomento dentro la funzione PICCOLO ci facciamo restituire quali sono il primo, il secondo, il terzo valore ecc... a cui coincide la condizione VERO.
Mettendo come secondo argomento della funzione PICCOLO la formula
automatizziamo l’estrazione dei dati man mano che trasciniamo o copiamo a destra la formula.
Una precisazione. Nella formula
il -1 serve a riportare il conteggio delle colonne da 1.
La colonna B è la seconda per cui il conteggio comincia da 2, ma per avere i dati corretti serve che inizi da 1.
Se ad esempio la matrice iniziasse dalla colonna F, al posto di -1 ci andrebbe -4.
La formula è una formula matriciale, perché viene fatta una forzatura delle funzione SE che normalmente serve a confrontare un dato alla volta, mentre in questo caso viene confrontata un’intera matrice.
Le formule matriciali per avere effetto vanno confermate con la combinazione di tasti ctrl+maiuscolo+invio.
Inoltre se guardi nella barra della formula vedrai che la stessa viene racchiusa automaticamente tra parentesi graffe.
Ps.: se la tua matrice fosse verticale invece che orizzontale devi sostituire dentro al SE il RIF.COLONNA con il RIF.RIGA, correggendo con un -N° a seconda della riga da dove inizia la tua matrice.
Un’altra cosa se prevedi di togliere o aggiungere colonne (o righe), seguendo il tuo esempio, sarebbe più opportuno fare la formula dentro il SE così
in modo che la formula si adatti automaticamente alle modifiche.
Spero di essere stato abbastanza chiaro.
Allora ti spiego come funziona la formula partendo dal centro, cioè dalla funzione SE.
Dunque con la formula
Codice: Seleziona tutto
$B$9:$DC$9<>""
FALSO.FALSO.VERO.VERO.FALSO.FALSO.VERO… ecc…
e con
Codice: Seleziona tutto
RIF.COLONNA($B$9:$DC$9)-1
Mettendo poi la formula
Codice: Seleziona tutto
SE($B$9:$DC$9<>"";RIF.COLONNA($B$9:$DC$9)-1
Mettendo come secondo argomento della funzione PICCOLO la formula
Codice: Seleziona tutto
RIF.COLONNA(A1)
Una precisazione. Nella formula
Codice: Seleziona tutto
RIF.COLONNA($B$9:$DC$9)-1
La colonna B è la seconda per cui il conteggio comincia da 2, ma per avere i dati corretti serve che inizi da 1.
Se ad esempio la matrice iniziasse dalla colonna F, al posto di -1 ci andrebbe -4.
La formula è una formula matriciale, perché viene fatta una forzatura delle funzione SE che normalmente serve a confrontare un dato alla volta, mentre in questo caso viene confrontata un’intera matrice.
Le formule matriciali per avere effetto vanno confermate con la combinazione di tasti ctrl+maiuscolo+invio.
Inoltre se guardi nella barra della formula vedrai che la stessa viene racchiusa automaticamente tra parentesi graffe.
Ps.: se la tua matrice fosse verticale invece che orizzontale devi sostituire dentro al SE il RIF.COLONNA con il RIF.RIGA, correggendo con un -N° a seconda della riga da dove inizia la tua matrice.
Un’altra cosa se prevedi di togliere o aggiungere colonne (o righe), seguendo il tuo esempio, sarebbe più opportuno fare la formula dentro il SE così
Codice: Seleziona tutto
SE($B$9:$DC$9<>"";RIF.COLONNA($B$9:$DC$9)-RIF.COLONNA($B$9)+1)
Spero di essere stato abbastanza chiaro.
Ultima modifica di gioh66 il domenica 20 aprile 2025, 8:40, modificato 3 volte in totale.
...se sei soddisfatto delle risposte ricevute metti il [Risolto] viewtopic.php?f=9&t=5661
Libreoffice 25.8 LinuxMint 21/22
Libreoffice 25.8 LinuxMint 21/22
Re: Concatena (Da : A), è possibile?
Chiarissimo, è un livello nettamente superiore a quello che ho raggiunto io, ma penso di aver capito tutto.
Grazie mille, sei stato gentilissimo anche a spiegare.
Grazie a tutti, metto Risolto.
Grazie mille, sei stato gentilissimo anche a spiegare.
Grazie a tutti, metto Risolto.
OperOffice 4.1.2 su Windows 10 Pro
Re: [Risolto] Concatena (Da : A), è possibile?
Di nulla. Grazie del riscontro e buona Pasqua
...se sei soddisfatto delle risposte ricevute metti il [Risolto] viewtopic.php?f=9&t=5661
Libreoffice 25.8 LinuxMint 21/22
Libreoffice 25.8 LinuxMint 21/22