Risolto Contare le celle dividendo il contenuto

Space

Utente junior
Original poster
26 Novembre 2025
60
4
8
2010
Buongiorno a tutti, ho questa formula ={SOMMA(VAL.ERRORE(TROVA("5";A1:A14))*VAL.NUMERO(TROVA("S";A1:A14)))} che uso per contare le celle dove è presente una "S" e non un "5". Ora però ho bisogno di inserire nella tabella sigle come "2S5SA" dove la formula dovrebbe contare solo le "S" prima del 5. In pratica, in base alle mie conoscenze non tanto elevate, mi servirebbe una formula che sia una congiunzione fra sinistra e trova (tipo =SINISTRA(A9;TROVA(5;A9)-1)) e la formula originale. Si può fare?
 

Allegati

  • Cartel1.xlsx
    11,2 KB · Visite: 8
Ultima modifica:

Terio

Excel/Vba Expert
Supermoderatore
6 Gennaio 2021
28.898
6.340
2.345
55
Arce
2016, 2019, 365
Potrebbe bastarti questa:
=SOMMA(VAL.ERRORE(TROVA("5";A1:A14))*VAL.NUMERO(TROVA("S";A1:A14))+VAL.NUMERO(TROVA("S5";A1:A14)))
sempre matriciale come la tua,
ciao.
 

Space

Utente junior
Original poster
26 Novembre 2025
60
4
8
2010
Grazie, ma le sigle prima del "5" possono essere diverse per numero e non è detto che la "S" sia quella immediatamente prima del "5", tipo 2SA5P
 

Space

Utente junior
Original poster
26 Novembre 2025
60
4
8
2010
Terio @Terio A prima vista mi sembra che funzioni perfettamente!! Adesso la metto nel file originale e la provo più a fondo. Una domanda, con poche modifiche questa formula si potrebbe adattare per cercare la "S" dopo il "5" invece di prima?

Sgrubak @Sgrubak Anche la tua formula a prima vista sembra funzionare, ma hai detto "Quindi se non c'è il "5" o la "S" non deve essere conteggiata?" come se la tua formula dovesse contare le celle in cui non sono presenti né la "S" né il "5", e non capisco. È così?

Edit: anzi ho visto adesso che la formula di Terio al contrario di quella di Sgrubak conta le cella con la "S" anche se la cella non contiene il "5", che è quello che mi serve.
 

Sgrubak

Excel/VBA Expert
Expert
10 Marzo 2022
5.598
2.089
245
365 Beta x32
conta le cella con la "S" anche se la cella non contiene il "5", che è quello che mi serve.
Allora ti serve quella di Terio. Non avevo compreso appieno la tua richiesta.
si potrebbe adattare per cercare la "S" dopo il "5" invece di prima?
Si, basta che inverti il segno. Invece che "<", usi ">"
In questo modo conterà tutte le celle che contengono la "S" ma solo dopo il "5".
 

Terio

Excel/Vba Expert
Supermoderatore
6 Gennaio 2021
28.898
6.340
2.345
55
Arce
2016, 2019, 365
si potrebbe adattare per cercare la "S" dopo il "5" invece di prima?
Si, basta che inverti il segno. Invece che "<", usi ">"
Grazie Sgrubak @Sgrubak (ciao Carmine) per la spiegazione.
mi sembra che funzioni perfettamente!
Grazie del riscontro, fai le tue prove e chiudi la discussione se risolta,
ciao.
 

Sgrubak

Excel/VBA Expert
Expert
10 Marzo 2022
5.598
2.089
245
365 Beta x32
Solo per essere certo di aver compreso io... Bisogna contare tutte le celle che:
1) contengono "S" e non contengono "5";
2) contengono "S" prima del "5".

Corretto?

Se si, dovrebbe funzionare, oltre a quella di Terio (ciao!) anche
=SOMMA(--SE.ERRORE(TROVA("S";A1:A15)<SE.ERRORE(TROVA("5";A1:A15);100);0))
 
  • Like
Reactions: Terio

Space

Utente junior
Original poster
26 Novembre 2025
60
4
8
2010
Sono corrette tutte 2: rilevano la "S" sia che sia davanti al "5" sia che il "5" non ci sia nella cella cappello_saluta

Quello che entrambe non fanno è trovare la "S" dopo il "5" invertendo solo "<" con ">". Non mi sembra, ma sbaglio io qualcosa?
 

ipolito

Excel Expert
Expert
14 Maggio 2023
4.197
1.609
145
52
Lago di Garda sponda bresciana
365
ciao a tutti

un pò lunghetta =SOMMA(--SE.ERRORE(FILTRO.XML("<t><s>"&SOSTITUISCI(A1:A15&"§";"§";"</s><s>")&"</s></t>";"//s[contains(., 'S') and not(contains(., '5')) or contains(., 'S5') or contains(., '5S')]")<>"";0)) da attivare matriciale, conta solo se è presente S o se è presente S5 indipendentemente se 5S 👋

Edit:filtro.xml è case sensitive s non è S 👋👋
 
Ultima modifica:

Terio

Excel/Vba Expert
Supermoderatore
6 Gennaio 2021
28.898
6.340
2.345
55
Arce
2016, 2019, 365
Quello che entrambe non fanno è trovare la "S" dopo il "5" invertendo solo "<" con ">"
Ma esclude la prima condizione:
ho bisogno di inserire nella tabella sigle come "2S5SA" dove la formula dovrebbe contare solo le "S" prima del 5
Non ti serve più controllare le posizioni della S e del 5:
=SOMMA(VAL.NUMERO(TROVA("S";A1:A14))*(VAL.NUMERO(TROVA("S";A1:A14))+VAL.NUMERO(TROVA("5";A1:A14)>0)))
con questa non serve necessariamente che la lettera ed il numero siano attaccate.

Ciao.
 

Space

Utente junior
Original poster
26 Novembre 2025
60
4
8
2010
=SOMMA(VAL.NUMERO(TROVA("S";A1:A14))*(VAL.NUMERO(TROVA("S";A1:A14))+VAL.NUMERO(TROVA("5";A1:A14)>0)))
Buongiorno a tutti, l'ho provata e questa, che dovrebbe contare le "S" prima del "5" se ho capito bene, introduce un errore: conta la "S" anche se la sigla è "52S" (la "S" dopo il 5 senza nulla davanti)
Con la mia, solo invertire non basta. Devi anche modificare il secondo SE.ERRORE
=SOMMA(--SE.ERRORE(TROVA("S";A1:A15)>SE.ERRORE(TROVA("5";A1:A15);0);0))

Nemmeno questa riesce a contare le "S" dopo il "5".

Non vorrei che mi fossi spiegato male e farvi perdere tempo, provo a chiarire cosa dovrebbe fare questa ultima formula:
Dovrebbe contare le celle che:
1) contengono "S" in qualsiasi posizione dopo il "5" (tipo "2S5AS", "35SI")
2) contengono "S" dopo il "5" senza nulla davanti al "5" (tipo "5AS", "5S")
Grazie per i tentativi.
 

Space

Utente junior
Original poster
26 Novembre 2025
60
4
8
2010
Immagino non vada bene nemmeno la mia di post 12
Scusa, ho provato adesso, ma sembra non vedere le sigle: non è che l'Excel 2010 è troppo vecchiotto?

Nel frattempo mi è venuto in mente di provare a sguinziagliare l'AI e sembra far prodigi:

Mi dici una o più formule di excel che cercano nell'intervallo A1:A14 il numero delle celle che contengono un 5 e una S rigorosamente maiuscola tra le lettere o i numeri che seguono il 5? La lettera S può essere anche distante dal 5.

=MATR.SOMMA.PRODOTTO(--(VAL.NUMERO(RICERCA("5";A1:A14)))*--(VAL.NUMERO(TROVA("S";A1:A14))))

Che ne pensate al di là che manderà il nostro cervello in pensione?
 
Ultima modifica:

Sgrubak

Excel/VBA Expert
Expert
10 Marzo 2022
5.598
2.089
245
365 Beta x32
"35SI".... "5AS", "5S"
Queste vengono contate
Questa in effetti non viene contata. Il problema di fondo è che TROVA("S";A1:A15) rende la posizione della prima "S" ed ignora la seconda.
A spanne ti direi di usare una colonna d'appoggio per calcolare la posizione del "5", e poi sfruttare questa da passare come terzo parametro alla TROVA per essere certo di cercare la "S" solo dopo la posizione del "5".

Se possono esserci molteplici "S", e possono essere sia prima che dopo il "5", serve ragionare meglio sulle casistiche che possono occorrere.
Ti sarebbe possibile illustrarle tutte? Così facciamo il ragionamento una volta sola.

al di là che manderà il nostro cervello in pensione?
Ma non credere. Quello che propone è quello che legge qui. Se noi smettiamo di rispondere, lei smette di "imparare"
 
  • Like
Reactions: Terio and ipolito

Space

Utente junior
Original poster
26 Novembre 2025
60
4
8
2010
Si, le "S" possono essere sia prima che dopo il "5". Sigle possono essere: "2A5I", "1S5A", "1S5S", "5AS", "5SA", "5P", e combinazioni molto simili a queste.