venerdì 19 dicembre 2008

OpenOffice: rimuovere righe duplicate in Calc


Come selezionare tutti i valori unici di una colonna in un foglio di OO Calc? Voglio rimuovere tutte le righe ridondanti in un report con migliaia di record.

Non c'e' una funzione automatica per rimuovere le righe duplicate. Seguite questi passi per cancellare tutte le righe che hanno valori duplicati sulla colonna A:
  1. Selezionare tutte le celle del corrente data range. Dovrebbe essere sufficiente cliccare una qualsiasi cella all'interno del data range e premere CTRL+* (l'asterisco del tastierino numerico).
  2. Ordinate il data range usando come indice la colonna A scegliendo:
    Data - Sort
    .
  3. Cliccate su una casella vuota della prima riga. Per esempio la cella C1. Inserite la formula:
           =IF(A1=A2;1;0)
    Questo mostrera' il numero 1 se la riga corrente ha lo stesso valore, in colonna A, della riga seguente. Mostrera' invece il numero 0 in caso contrario.

  4. Copiate la formula su tutte le righe del data range trascinando l'angolo basso destro della cella C1 fino all'ultima riga.
  5. Ora le formule devono essere rimpiazzate dai loro valori per congelarne il contenuto:
    Selezionate la colonna C, premete CTRL+C per copiare le celle selezionate.
  6. Premete Shift+Ctrl+V per aprire la dialog box di Paste Special.
    Nell'area di selezione, abilitare solo i "Numbers" e disabilitare tutte le altre selezioni. Cliccate su OK.
  7. Selezionate l'intero data range, inclusa la nuova colonna C e ordinate usando come indice la colonna C.
    Choose Data - Sort.
  8. Selezionate tutte le righe che hanno il valore 1 nella colonna C, poi premete il taso Del (Canc su tastiera italiana).
  9. Passi opzionali: cancellare la colonna C, selezionare le rimanenti righe e ordinarle usando come indice la colonna A.
N.B.: Questo metodo puo' essere utilizzato anche per rimuovere le linee di testo duplicate in un documento di Writer. Copiate il testo in un foglio di Calc, rimuovere le righe duplicate poi copiate/incollate come testo non formattato su Writer.

N.B.: se le righe suplicate devono essere selezionate in base a piu' di una colonna occorre modificare la formula di selezione da:
=IF(A1=A2;1;0)
a:
=IF(AND(A1=A2;B1=B2;C1=C2;D1=D2;E1=E2;F1=F2);1;0)
Ovviamente in questo caso la colonna usata per la formula non sara' la C bensi una qualsiasi altra colonna maggiore di F.

Nessun commento: