PDA

View Full Version : [Excel/Open Office] Controllare l'occorrenza di una stringa in una colonna


GianoM
30-07-2006, 19:37
In realtà la domanda è per Open Office, ma credo che le funzioni siano pressochè uguali. Ho una colonna di dati (testo) e vorrei contare l'occorrenza di una stringa. Es.:
Shadow Gallery - Carved In Stone
Shadow Gallery - Room V (Expanded Edition)
Shadows Land - Terminus Ante Quem
Shakra - Fall (Expanded Edition)
Shakra - My Life My World (Bootleg)
Shaman - Reason
Shaman - Ritual
Shaman - Shamaniac
Shape Of Despair - Shape Of Despair
She Said Destroy - Time Like Vines
Shelder - God Of Vikings
Shining - Angst
Shining - I - Within Deep Dark Chambers
Shining - II - Livets Andhallplats
Shining - Submit To Selfdestruction (EP)
Shining - The Darkroom Sessions
Shining Fury - Another Life
Shrine - Perspective
Siebenburgen - Darker Designs & Images (Expanded Limited Edition)
Siebenbürgen - Delictum
Siebenbürgen - Grimjaur
Siebenbürgen - Loreia
Siebenbürgen - Plagued Be Thy Angel
Sieges Even - The Art Of Navigating By The Stars
Sigh - Scorn Defeat
Silexater - Mad Sorcer (Demo)
Silver Mountain - Demo 1980 (Demo)
Sinergy - Beware The Heavens
Sinergy - Suicide By My Side

Ecco, voglio contare quanti "Expanded" ci sono nella colonna. Ho provato con: =CONTA.SE(C3:C4516;"Expanded"), ma il risultato è sempre 0 e non capisco perchè. :mbe:

guldo76
30-07-2006, 21:48
Ecco, voglio contare quanti "Expanded" ci sono nella colonna. Ho provato con: =CONTA.SE(C3:C4516;"Expanded"), ma il risultato è sempre 0 e non capisco perchè. :mbe:
[OpenOffice]
Perché la formula in questione considera solo le celle il cui il solo e unico contenuto è "Expanded". Le tue celle invece contengono anche la parola "Expanded".
Devi usare le espressioni regolari. (cerca nella guida)
Ad esempio, per trovare solo le celle che contengono la parola "Expanded", dovunque sia all'interno della cella stessa, fai:
=CONTA.SE(C3:C4516;".*\<expanded\>.*")
questo fa sì che una parola come "Sexpanded" venga ignorata.
(però non fa distinzione tra miuscole e minuscole :boh: )

Ho specificato che mi riferisco a OpenOffice perché, che mi risulti, in Microsoft Office non esiste il supporto alle espressioni regolari (che non sono un'invenzione di quelli di OpenOffice).

GianoM
30-07-2006, 22:26
Mmmm, è la prima volta che vedo una stringa così complicata in una ricerca... comunque il risultato (sbagliato) è sempre 0. La posizione delle "\" e dei "." in ".*\<expanded\>.*" è giusta? Sembrano messi a caso...

guldo76
30-07-2006, 22:32
Mmmm, è la prima volta che vedo una stringa così complicata in una ricerca... comunque il risultato (sbagliato) è sempre 0. La posizione delle "\" e dei "." in ".*\<expanded\>.*" è giusta? Sembrano messi a caso...
Non sono messi a caso.
Cmq, io ho la 2.0 di OpenOffice, in inglese, e funziona.
In ogni caso, leggi la guida.

GianoM
31-07-2006, 18:55
In Excel funziona con =CONTA.SE(C3:C4516;"*expanded*").
In OpenOffice non c'è verso di dire al programma "qualsiasi parola che contenga "expanded"", la guida dice che:
CONTA.SE
Restituisce il numero di elementi che soddisfano i criteri specificati all'interno di un'area di celle. La ricerca supporta le espressioni regolari. Ad esempio, potete digitare "tutto.*" per trovare la prima occorrenza di "tutto" seguita da qualunque carattere. Per ricercare un testo che è anche un'espressione regolare, dovete anteporre ad ogni carattere la sequenza \. La valutazione automatica delle espressioni regolari può essere attivata e disattivata in Strumenti - Opzioni - OpenOffice.org Calc - Calcola.
Sintassi:
CONTA.SE(Intervallo; Criteri)
Intervallo è l'intervallo di celle dove applicare i criteri.
Criteri indica i criteri sotto forma di un numero, un'espressione oppure di una sequenza di caratteri. Questi criteri stabiliscono quali celle vengono conteggiate. Potete anche digitare un testo di ricerca come espressione regolare, ad esempio "b.*" per tutte le parole che iniziano con b. È anche possibile indicare un'area di celle, nella quale è contenuto il criterio di ricerca. Per ricercare un testo in modo letterale, racchiudetelo tra virgolette doppie.

Come fa a funzionare in una versione si e in una no? :mbe:

guldo76
31-07-2006, 20:33
Ok, abbiamo capito che non vuoi imparare cosa siano le "espressioni regolari".
Pazienza.
Cmq c'è un'opzione che fa al caso tuo, che avevo dimenticato.
Proprio in Strumenti - Opzioni - OpenOffice.org Calc - Calcola c'è l'opzione
"search criteria = and <> must apply to whole cells"
deselezionata la quale, la formula
=CONTA.SE(C3:C4516;"Expanded")
funzionerà esattamente come vuoi tu.

GianoM
31-07-2006, 20:41
Ho visto adesso la tabella delle espressioni regolari nella guida... ma se non funzia non so che farci e cercavo altri modi. :boh:

Comunque disattivando l'opzione suggerita funziona tutto come volevo. Grazie mille. :)