Formula per ordinare il foglio di calcolo

Buona sera e grazie per l’aiuto che fornite.
Questo è il mio primo post e spero questa domanda possa essere utile anche al resto della comunità.

Ho un data base diviso in colonne, ad esempio in una colonna ci sono tutte le partite iva (sono sempre 11 numeri) e in un altra colonna ci sono i nomi delle regioni ed in un altro ancora il fatturato, contraddistinto dal segno €.

Purtroppo però in alcune celle delle colonne i dati sono invertiti, ad esempio trovo nel campo della regione una partita iva.

Mi chiedevo se esistesse una formula o una serie di formule o altri metodi (non manuali, perchè sono quasi 1 MLN di record) che potesse aiutarmi a pulire questo file ed ottenere tutti i dati nei loro campi.

Grazie

it:
Puoi condividere un file di esempio ridotto? O almeno un campione di testo. Grazie.

en:
Can you share a reduced sample file? Or at least a text sample. Thanks.

Come già ti è stato detto, conviene allegare un file di esempio.
Queste inversioni derivano da errori nella compilazione manuale delle celle, oppure alcuni record sono spostati (ad es. la serie inizia dalla colonna B anziché dalla A)?

Grazie per l’aiuto, mi hanno risposto con ciò che mi serviva

Grazie per l’aiuto, mi hanno risposto con ciò che mi serviva, farò tesoro del tuo consiglio

Test Colonna Numero Presidente.ods (16.3 KB)

it:
Una prova incompleta. Puoi ordinare per numero di colonna ottenuto con una formula.

en:
An incomplete test. You can sort by column number obtained with a formula.

Una possibile soluzione senza utilizzare macro.
Ipotizzando che

  • la colonna con i dati delle Partite Iva sia la colonna A;
  • la cella A1 contenga l’intestazione di colonna “Partite Iva” (o simile);
  • i dati delle partite Iva partano dalla riga 2.
    Considerando che nessuna delle regioni italiane ha una lunghezza di 11 caratteri.
    Potresti utilizzare la prima colonna libera a cui assegnare intestazione “Verifica” (o simile) e nella riga 2 di questa colonna inserire la formula:
    =SE(LUNGHEZZA(A2) <> 11 ; “X” ; “” )
    la quale controlla la lunghezza della cella A2 e se la sua lunghezza è diversa da 11 allora contrassegna la cella (2 della colonna “VERIFICA” ) con una X altrimenti rimane vuota.
    Ricopiando questa cella fino alla fine dei tui dati avrai in colonna “VERIFICA” tante X quante sono le righe da modificare.
    Applicando un filtro automatico e filtrando la colonna “VERIFICA” in modo che rimangano visibili sole le “X” raggrupperai tutte le righe che necessitano della modifica così che con qualche copia incolla potrai velocemente invertirne Partita iva e Regione a tutte le righe filtrate.
    Alla fine potrai visualizzare nuovamente tutte le righe togliendo il filtro impostato sulla colonna “VERIFICA” e poi eliminare la stessa colonna che non serve più.
    Fatto.

Una possibile alternativa è attuabile impostando il codice di una piccola macro in modo tale che a partire dalla cella A2 fino alla fine (Cella A?) controlli la sua lunghezza del contenuto della cella è se diverso da 11 caratteri inverta di posizione le due celle interessate (P.Iva e Regione).

Grazie 1000, questo tuo intervento mi è davvero utile per sistemare il mio file. Vorrei chiederti se anche abbiamo la possibilità di fare un’operazione simile con il prossimo quesito.

Esempio nella colonna A,B e C ci sono dei nomi di persona e anche le loro cariche, ad esempio ENRICO BELOTTI (PRESIDENT), nella cella A2 e MARIO CEPPO (CEO) nella cella B2 e nella cella C2 LUIGI DI PASQUALE (CEO).
Come faccio in maniera automatica a a far arrivare il contenuto della cella A che contiene la parola PRESIDENT nella cella F2 (F è la colonna dei presidenti) ed a far arrivare il contenuto di B2 e C2 divisi solo da un punto e virgola o altro segno nella cella G2 (G è la colonna dei CEO)?

Grazie 1000 per l’aiuto

Per quest’ultimo quesito mi sembra di capire che
tu voglia fare l’estrazione per le sole righe contenenti la parola “PRESIDENT” in colonna A
In tal caso vedere le formule chiave impostate in cella F2 e G2.
Cella F2 =SE(VAL.ERRORE(TROVA(“PRESIDENT”;A2));"";A2)
Cella G2 =SE(VAL.ERRORE(TROVA(“PRESIDENT”;A2));"";B2&" - “&C2)
Nelle cella G2 viene utilizzato come separatore tra i due CEO uno spazio seguito da un trattino e poi ancora uno spazio (Nella formula vedasi B2&” - "&C2).
Ricopiando poi F2 e G2 in basso quanto serve le formule si adattano automaticamente e riportano le relative corrispondenze.
Alla fine però ti ritroverai in colonna F e G dei dati riconducibili a “FORMULE” che presumo vorrai eliminare.

… provo ad allegare un file di esempio a riscontro …
Test - EstrazioneDatiDalleRigheContenentiLaParolaPredidentInColonnaA.ods (20.3 KB)

Per eliminare le formule dalla colonna F e G mantenendo i soli dati iniziare con il selezionarle e copiarle in memoria
Passo successivo sarà quello di incollarle su se stesse utilizzando però INCOLLASPECIALE (Menu > Modifica > Incolla speciale > Incolla speciale … ) deselezionando dalle varie opzioni la casella FORMULE.

ho guardato attentamente la tua soluzione ed è davvero fantastico, grazie 1000 per l’aiuto, oggi stesso sistemerò il mio file. grazie

Ciao, sto guardando meglio la formula e non riesco a capire una cosa:

Nella colonna G vengono riportate i CEO ma nella formula la parola che viene utilizzata è PRESIDENT.

Quindi se ho capito bene se nella colonna A è presente la parla President lui mi copia le celle B e C.

Credo che siamo molto vicini al risultato da ottenere, ti mando un file di poche record per farti capire meglio come è strutturato il file
ESPONENTI PROVA.ods (11.4 KB)

Come puoi vedere, non sempre il presidente è nella colonna A, quindi avrei bisogno di una formula che cerca in tutte le colonne e mi riporta il contenuto di tutte le celle con i presidenti nella colonna della formula e cioè G e che siano delimitati da questo simbolo - (questo è solo un file di esempio ma in realtà i file hanno fino a 200 colonne con gli esponenti).

Una volta fatto questo userei la stessa formula utlizzando la parola CEO al posto di PRESIDENT nella colonna H

Grazie per il supporto che mi stai dando

Con l’impostazione del file che hai allegato credo che la soluzione migliore sia quella di utilizzare il “Filtro automatico” (L’uso di formule diventerebbe troppo complicato specialmente per il doppio CEO …)

Posizionati con il cursore sulla tabella dati.
Imposta il filtro automatico sulla tabella (Menu > Dati > Filtro automatico).
Sulla riga d’intestazione della tabella dati appariranno delle freccette.

Cliccando sulla freccetta presente in una una colonna si apre una maschera con la possibilità di varie selezioni/impostazioni.
Nel caso specifico dovendo filtrare per una parola contenuta (Esempio: President … o ciò che preferisci…) digita la parola nella casella presente sotto la voce “filtro standard”.

Se la parola digitata è presente in qualche cella della colonna te le rappresenterà brevemente in anteprima e ti permetterà di cliccare sul pulsante OK così da vederti filtrare tutte le righe che in quella colonna contengono la parola cercata.

Potrai così copiarti le relative celle filtrate in quella colonna e incollarle nella colonna laterale (Presidente …) di appoggio.

Se invece inserendo nel filtro la parola voluta non viene indicata sotto nessuna anteprima e ti è precluso l’uso del pulsante OK di conferma significa che la parola che hai digitato non è presente in alcuna cella di quella colonna.

Se il filtraggio è stato positivo e hai copiato i dati di riscontro voluti nella colonna di appoggio torna a cliccare sulla freccetta di filtraggio di quella colonna quindi spunta la casella “Tutti” e conferma con OK per visulizzare nuovamente tutti i record.

Ripeti l’operazione su altra colonna interessata per la stessa o altra parola di filtraggio fino a cessata esigenza.

Per il “President” non avrai grossi problemi in quanto dicevi che è unico.

Per il “CEO” invece nel caso ne trovi un’altro sulla stessa riga di filtraggio di un riscontro precedente puoi editare manualmente il dato già copiato in precedenza accodandogli il nuovo riscontro separandolo dal precedente con quello che vuoi.

Grazie per la risposta tempestiva, purtroppo i filtri e non sono utilizzabili in questo caso, devo sistemare all’incirca 4.000.000 di record sparsi in più di cento file diversi, dovrei rifare questa operazione una moltitudine di volte ed ho bisogno di un sistema automatico. Vuoi consigliarmi una Macro?

Per il quesito iniziale hai risolto.

Per quello successivo, se vuoi macro, vista la moltitudine dei file e la loro dichiarata difformità di immagazzinamento dei dati è il caso ti rivolga a un professionista che valuterà caso per caso.

Comunque sia rimango dell’idea che utilizzando il “Filtro automatico” potresti comunque facilmente risolvere in tempi più che accettabili per ogni file.

Se poi hai persone di fiducia che possano aiutarti ad analizzare similmente alcuni dei tuoi tanti file ridurresti ulteriormente i tempi.

Ok, grazie, seguirò il tuo consiglio