OpenOffice CALC: [parzialmente risolto] Evidenziare celle uguali in successione

SuperSandro

Utente Attivo
230
22
PARZIALMENTE(!) RISOLTO (vedi post successivo)

Alcuni mesi fa, mi pare proprio in questo Forum, avevo trovato una discussione che risolveva il mio problema, ma che purtroppo non riesco più a rintracciare. Potete aiutarmi?

Problema:

Nella colonna (B, nell'esempio) di uno spreadsheet sono presenti - in perfetto ordine alfabetico - stringhe alfanumeriche (nell'esempio, banale e ridotto, ci sono nomi di persone). Alcuni nomi possono apparire replicati due o più volte, come Filippo, Mirella e Sonia.
Avrei bisogno di una macro che individui le stringhe identiche in successione, le identifichi in qualche maniera (fase 1, in figura) e quindi elimini tutte le righe che contengono nomi "singoli" (fase 2, in figura).

Grazie in anticipo a chi mi aiuterà a rintracciare quel post (o a creare la macro).
.
1608550836391.png
 

Allegati

  • 2020_12_21_Toms_HW_Macro_nomi_uguali.png
    2020_12_21_Toms_HW_Macro_nomi_uguali.png
    14 KB · Visualizzazioni: 50
Ultima modifica:

SuperSandro

Utente Attivo
230
22
Mi autorispondo... ?
Dunque: NON è una macro, MA una procedura per giungere alla soluzione.

A) Nella colonna B sono memorizzati tutti i nominativi in ordine alfabetico. Nelle colonne da C a E digitare le formule (ovviamente si digitano solo quelle in C2, D2, e E2 e poi si trascinano in basso le tre celle).
.
2020_12_21_Toms_HW_Macro_nomi_uguali_02.jpg
.
B) Selezionare l'intera matrice (da B2 fino a E16), quindi menu Dati / Ordina / Criteri / Colonna E crescente.
.
2020_12_21_Toms_HW_Macro_nomi_uguali_03.jpg
.
C) Dopo l'ordinamento, tutti i nomi che in corrispondenza della colonna E mostrano il valore zero sono presenti una sola volta. Pertanto basterà selezionare le rispettive righe ed eliminarle.
Dalla riga 8 alla fine (16) tutti i nomi presenti sono stati nominati almeno due volte.
.
2020_12_21_Toms_HW_Macro_nomi_uguali_04.jpg
 

paperoful

Utente Attivo
396
75
OS
Windows 10
Ciao,
non capisco perché dici che il post è risolto parzialmente, a meno che tu non voglia l'eliminazione delle righe in automatico e quindi si può fare solo con una macro, ma non mi cimento.
L'alternativa alle 3 colonne è una sola colonna C con la formula: =conta.se($B$2:$B$6;B2) ed eliminare (dopo aver ordinato in modo crescente la col. C) tutte le righe contenenti il valore 1.
O, se preferisci, in un altro punto della scheda o in altro punto della scheda, o in un altro foglio: =se(conta.se($B$2:$B$6;B2)=1;"";b2) e poi ordinare i risultati.
 
  • Mi piace
Reazioni: SuperSandro

SuperSandro

Utente Attivo
230
22
...non capisco perché dici che il post è risolto parzialmente, a meno che tu non voglia l'eliminazione delle righe in automatico e quindi si può fare solo con una macro, ma non mi cimento...
Esatto, cercavo una macro che automatizzasse quanto più possibile la procedura. Ovvio che si possono proporre procedure per giungere allo stesso risultato, tra cui quella da te indicata, sicuramente più efficace e stringata della mia(*). Tuttavia in spreadsheet più complessi potrebbe essere scomodo inserire colonne da sottoporre a elaborazioni; ecco perché credo che una macro ("universale") sia da preferire.
(*) Mi sono permesso di allegare questo schema perché le formule da te suggerite erano probabilmente relative a uno schema diverso da quello da me indicato.
2020_12_24_Toms_HW_Macro_nomi_uguali.jpg
 
  • Mi piace
Reazioni: paperoful

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!