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

SuperSandro

Utente Attivo
121
10
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: 20
Ultima modifica:

SuperSandro

Utente Attivo
121
10
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
363
60
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.
 
  • Like
Reactions: SuperSandro

SuperSandro

Utente Attivo
121
10
...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
 
  • Like
Reactions: paperoful

Entra

oppure Accedi utilizzando

Discussioni Simili

Hot: Sei vaccinato? [sondaggio anonimo]

  • Primo ciclo vaccinale completo (1-2 dosi)

    Voti: 478 78.1%
  • Fatta 1a dose, in attesa della 2a

    Voti: 21 3.4%
  • Sono prenotato per la 1a dose

    Voti: 12 2.0%
  • Non so se vaccinarmi

    Voti: 16 2.6%
  • Non ho intenzione di vacciarmi

    Voti: 65 10.6%
  • Fatta anche la terza dose

    Voti: 20 3.3%