Discussione:
esempio
(troppo vecchio per rispondere)
Ki$$
2024-03-10 11:50:52 UTC
Permalink
[Screen] Loading Image...

in Formatt. Cond. ho messo

(applicata su $D$13:$M$22)

=CONTA.SE($C$2:$M$6;D13)>0

ora io vorrei che nel quadratino amaranto (quello sotto Omega) sia scritto 16
(il numero di caselle amaranto del range (D13:M22)



mi son perso.... :)
--
Ki$$
Bruno Campanini
2024-03-11 00:11:37 UTC
Permalink
Post by Ki$$
[Screen] https://i.imgur.com/oOMIX1D.png
in Formatt. Cond. ho messo
(applicata su $D$13:$M$22)
=CONTA.SE($C$2:$M$6;D13)>0
ora io vorrei che nel quadratino amaranto (quello sotto Omega) sia scritto 16
(il numero di caselle amaranto del range (D13:M22)
mi son perso.... :)
Non è farina del mio sacco...
==========================================
Function CountCellBy_FillColor(CellRange As Range, CellColor As Range)
As Long
Dim FillColor As Integer
Dim FillTotal As Long
FillColor = CellColor.Interior.ColorIndex
For Each rCell In CellRange
If rCell.Interior.ColorIndex = FillColor Then
FillTotal = FillTotal + 1
End If
Next rCell
CountCellBy_FillColor = FillTotal
End Function
==========================================

=CountCellBy_FillColor(D13:M2, X)

dove X è l'indirizzo di una qualunque cella
avente il colore amaranto (RGB = 229,43,80).

Bruno
Ki$$
2024-03-11 08:11:21 UTC
Permalink
Post by Bruno Campanini
Post by Ki$$
[Screen] https://i.imgur.com/oOMIX1D.png
in Formatt. Cond. ho messo
(applicata su $D$13:$M$22)
=CONTA.SE($C$2:$M$6;D13)>0
ora io vorrei che nel quadratino amaranto (quello sotto Omega) sia scritto
16 (il numero di caselle amaranto del range (D13:M22)
mi son perso.... :)
Non è farina del mio sacco...
==========================================
Function CountCellBy_FillColor(CellRange As Range, CellColor As Range) As
Long
Dim FillColor As Integer
Dim FillTotal As Long
FillColor = CellColor.Interior.ColorIndex
For Each rCell In CellRange
If rCell.Interior.ColorIndex = FillColor Then
FillTotal = FillTotal + 1
End If
Next rCell
CountCellBy_FillColor = FillTotal
End Function
==========================================
=CountCellBy_FillColor(D13:M2, X)
dove X è l'indirizzo di una qualunque cella
avente il colore amaranto (RGB = 229,43,80).
Bruno
anche se penso che non vada bene per il motivo fondamentale che Excel non può
contare le celle formattate.

provo e ti dico...

comunque con un "intreccio di matrici" penso si possa risolvere (dato che l
numero 16 non è altro che il numero di valori di matrice A(univoci) che son
presenti in matrice B(con possibile presenza di duplicati, quindi prima bisogna
renderli univoci e poi fare un confronto tra le due matrici)

una formula peraltro penso sia simile a una di quelle presenti nel foglio (già
fatte)
(potrebbe avere una similitudine con l'ultimo thread da me aperto [Conta più
se]
--
Ki$$
Ki$$
2024-03-11 08:38:42 UTC
Permalink
Post by Ki$$
Post by Bruno Campanini
Post by Ki$$
[Screen] https://i.imgur.com/oOMIX1D.png
in Formatt. Cond. ho messo
(applicata su $D$13:$M$22)
=CONTA.SE($C$2:$M$6;D13)>0
ora io vorrei che nel quadratino amaranto (quello sotto Omega) sia scritto
16 (il numero di caselle amaranto del range (D13:M22)
mi son perso.... :)
Non è farina del mio sacco...
==========================================
Function CountCellBy_FillColor(CellRange As Range, CellColor As Range) As
Long
Dim FillColor As Integer
Dim FillTotal As Long
FillColor = CellColor.Interior.ColorIndex
For Each rCell In CellRange
If rCell.Interior.ColorIndex = FillColor Then
FillTotal = FillTotal + 1
End If
Next rCell
CountCellBy_FillColor = FillTotal
End Function
==========================================
=CountCellBy_FillColor(D13:M2, X)
dove X è l'indirizzo di una qualunque cella
avente il colore amaranto (RGB = 229,43,80).
Bruno
anche se penso che non vada bene per il motivo fondamentale che Excel non può
contare le celle formattate.
provo e ti dico...
comunque con un "intreccio di matrici" penso si possa risolvere (dato che l
numero 16 non è altro che il numero di valori di matrice A(univoci) che son
presenti in matrice B(con possibile presenza di duplicati, quindi prima
bisogna renderli univoci e poi fare un confronto tra le due matrici)
una formula peraltro penso sia simile a una di quelle presenti nel foglio
(già fatte)
(potrebbe avere una similitudine con l'ultimo thread da me aperto [Conta più
se]
infatti... per questo motivo non può funzionare
(ho provato con una cella colorata (no form. cond) e la formula funziona)
--
Ki$$
Ki$$
2024-03-11 08:56:29 UTC
Permalink
Post by Ki$$
Post by Ki$$
Post by Bruno Campanini
Non è farina del mio sacco...
==========================================
Function CountCellBy_FillColor(CellRange As Range, CellColor As Range) As
Long
Dim FillColor As Integer
Dim FillTotal As Long
FillColor = CellColor.Interior.ColorIndex
For Each rCell In CellRange
If rCell.Interior.ColorIndex = FillColor Then
FillTotal = FillTotal + 1
End If
Next rCell
CountCellBy_FillColor = FillTotal
End Function
==========================================
=CountCellBy_FillColor(D13:M2, X)
dove X è l'indirizzo di una qualunque cella
avente il colore amaranto (RGB = 229,43,80).
Bruno
anche se penso che non vada bene per il motivo fondamentale che Excel non
può contare le celle formattate.
provo e ti dico...
comunque con un "intreccio di matrici" penso si possa risolvere (dato che l
numero 16 non è altro che il numero di valori di matrice A(univoci) che son
presenti in matrice B(con possibile presenza di duplicati, quindi prima
bisogna renderli univoci e poi fare un confronto tra le due matrici)
una formula peraltro penso sia simile a una di quelle presenti nel foglio
(già fatte)
(potrebbe avere una similitudine con l'ultimo thread da me aperto [Conta
più se]
infatti... per questo motivo non può funzionare
(ho provato con una cella colorata (no form. cond) e la formula funziona)
in pratica m servirebbe avere il numero 24 della matrice in alto

dato che nella matrice (in alto) ci sono [in tutto] 40 numeri univoci, 24 non
sarebbero altro che i valori UNIVOCI [Bianchi] della matrice (sopra)

40-24=16

e il 16 è il numero che dovrebbe esserci in cella N12

il file Excel:
https://drive.google.com/uc?id=1UG5KwWI5ezs5gA3HrkZv85ly-7k-yOIj
--
Ki$$
casanmaner
2024-03-11 10:25:41 UTC
Permalink
Il 11/03/2024 09:56, Ki$$ ha scritto:
...

=SOMMA(--(CONTA.SE($C$2:$M$6;$E$13:$M$15)>0))
Ki$$
2024-03-11 10:37:48 UTC
Permalink
Post by casanmaner
...
=SOMMA(--(CONTA.SE($C$2:$M$6;$E$13:$M$15)>0))
ho un mucchio di debiti con te :)

1 cinquina
2 quaterni
6 terni
1 ambo.


una cosa, ma i 2 trattini cosa fanno in questo caso?
--
Ki$$
casanmaner
2024-03-11 10:45:24 UTC
Permalink
Post by Ki$$
Post by casanmaner
...
=SOMMA(--(CONTA.SE($C$2:$M$6;$E$13:$M$15)>0))
ho un mucchio di debiti con te :)
1 cinquina
2 quaterni
6 terni
1 ambo.
una cosa,  ma i 2 trattini cosa fanno in questo caso?
Traformano il VERO/FALSO in 1/0.
Ki$$
2024-03-11 10:54:42 UTC
Permalink
Post by casanmaner
Post by Ki$$
Post by casanmaner
...
=SOMMA(--(CONTA.SE($C$2:$M$6;$E$13:$M$15)>0))
ho un mucchio di debiti con te :)
1 cinquina
2 quaterni
6 terni
1 ambo.
una cosa,  ma i 2 trattini cosa fanno in questo caso?
Traformano il VERO/FALSO in 1/0.
Aaaaaaaaaaaaaaaaaaaaaaaaahhhhhhhhhhhhhhhhhhh...............

quando hai tempo (non c'è fretta), se possibile spiega meglio la loro funzione
nella formula sopra che non ho capito.

:)
--
Ki$$
casanmaner
2024-03-11 12:37:58 UTC
Permalink
Il 11/03/2024 11:54, Ki$$ ha scritto:
...
la formula CONTA.SE($C$2:$M$6;$E$13:$M$15)>0 restituisce una matrice di
valori VERO/FALSO
Anteponendo la doppia negazione quei vero/falso vengono convertiti in
tanti 1 e zero.
Con la funzione SOMMA vengono sommati tutti quei valori 1 e 0
ottendendo, quindi, la somma di tutti le condizioni che soddisfano la
condizione.
Per capire seleziona, nella barra della formula, prima
CONTA.SE($C$2:$M$6;$E$13:$M$15)>0 e digita F9 (non so se la tua versione
mostri già il risultato di quella formula come "anteprima").

Poi seleziona --(CONTA.SE($C$2:$M$6;$E$13:$M$15)>0) e vedi cosa ti
restituisce.
Ki$$
2024-03-11 14:10:00 UTC
Permalink
Post by casanmaner
...
la formula CONTA.SE($C$2:$M$6;$E$13:$M$15)>0 restituisce una matrice di
valori VERO/FALSO
Anteponendo la doppia negazione quei vero/falso vengono convertiti in tanti 1
e zero.
Con la funzione SOMMA vengono sommati tutti quei valori 1 e 0 ottendendo,
quindi, la somma di tutti le condizioni che soddisfano la condizione.
Per capire seleziona, nella barra della formula, prima
CONTA.SE($C$2:$M$6;$E$13:$M$15)>0 e digita F9 (non so se la tua versione
mostri già il risultato di quella formula come "anteprima").
Poi seleziona --(CONTA.SE($C$2:$M$6;$E$13:$M$15)>0) e vedi cosa ti
restituisce.
certo la la mostra... :)

ahhhhhh eeeeecco beeeelloo...

con SOmma, la formula in questione somma tutti i valori che la condizione
Conta.se stabilisce.

Se mettessi =0 (invece di >0), quindi in questo caso falso, il risultato è 11.

ma pensa te...

...perfetto grazie.
--
Ki$$
Bruno Campanini
2024-03-11 15:13:17 UTC
Permalink
Post by Ki$$
Post by casanmaner
...
la formula CONTA.SE($C$2:$M$6;$E$13:$M$15)>0 restituisce una matrice di
valori VERO/FALSO
Anteponendo la doppia negazione quei vero/falso vengono convertiti in tanti
1 e zero.
Con la funzione SOMMA vengono sommati tutti quei valori 1 e 0 ottendendo,
quindi, la somma di tutti le condizioni che soddisfano la condizione.
Per capire seleziona, nella barra della formula, prima
CONTA.SE($C$2:$M$6;$E$13:$M$15)>0 e digita F9 (non so se la tua versione
mostri già il risultato di quella formula come "anteprima").
Poi seleziona --(CONTA.SE($C$2:$M$6;$E$13:$M$15)>0) e vedi cosa ti
restituisce.
certo la la mostra... :)
ahhhhhh eeeeecco beeeelloo...
con SOmma, la formula in questione somma tutti i valori che la condizione
Conta.se stabilisce.
Se mettessi =0 (invece di >0), quindi in questo caso falso, il risultato è 11.
ma pensa te...
...perfetto grazie.
Ovvero:
=SUM(COUNTIF($C$2:$M$6,$E$13:$M$15))
=SOMMA(CONTA.SE($C$2:$M$6;$E$13:$M$15))

--()>0 Sei caratteri in meno... i soldi del caffè.

Bruno
Ki$$
2024-03-11 15:21:10 UTC
Permalink
Post by Bruno Campanini
Post by Ki$$
Post by casanmaner
...
la formula CONTA.SE($C$2:$M$6;$E$13:$M$15)>0 restituisce una matrice di
valori VERO/FALSO
Anteponendo la doppia negazione quei vero/falso vengono convertiti in
tanti 1 e zero.
Con la funzione SOMMA vengono sommati tutti quei valori 1 e 0 ottendendo,
quindi, la somma di tutti le condizioni che soddisfano la condizione.
Per capire seleziona, nella barra della formula, prima
CONTA.SE($C$2:$M$6;$E$13:$M$15)>0 e digita F9 (non so se la tua versione
mostri già il risultato di quella formula come "anteprima").
Poi seleziona --(CONTA.SE($C$2:$M$6;$E$13:$M$15)>0) e vedi cosa ti
restituisce.
certo la la mostra... :)
ahhhhhh eeeeecco beeeelloo...
con SOmma, la formula in questione somma tutti i valori che la condizione
Conta.se stabilisce.
Se mettessi =0 (invece di >0), quindi in questo caso falso, il risultato è 11.
ma pensa te...
...perfetto grazie.
=SUM(COUNTIF($C$2:$M$6,$E$13:$M$15))
=SOMMA(CONTA.SE($C$2:$M$6;$E$13:$M$15))
--()>0 Sei caratteri in meno... i soldi del caffè.
Bruno
però c'è da dire che il -- in questo caso, (ma riguarda me adesso che ne ho più
consapevolezza) mi consente di differenziare visivamente ed istantaneamente un
tipo di formule da un altro.

ma è solo un dettaglio magari per tutti, marginale.
--
Ki$$
casanmaner
2024-03-11 17:11:51 UTC
Permalink
Post by Ki$$
però c'è da dire che il -- in questo caso, (ma riguarda me adesso che ne
ho più consapevolezza) mi consente di differenziare visivamente ed
istantaneamente un tipo di formule da un altro.
ma è solo un dettaglio magari per tutti, marginale.
Più che altro dovresti valutare se non vi sia la possibilità di
duplicati e nel caso come vuoi che vengano conteggiati.
Con la formula proposta da Bruno il conteggio sarebbe differente in
presenza di duplicati (in una o entrambe le due matrici).
Ove fossero sempre valori unici sarebbe migliore per il risparmio di
caratteri per "l'economia" di risorse.
Ki$$
2024-03-11 17:25:43 UTC
Permalink
Post by Ki$$
però c'è da dire che il -- in questo caso, (ma riguarda me adesso che ne ho
più consapevolezza) mi consente di differenziare visivamente ed
istantaneamente un tipo di formule da un altro.
ma è solo un dettaglio magari per tutti, marginale.
Più che altro dovresti valutare se non vi sia la possibilità di duplicati e
nel caso come vuoi che vengano conteggiati.
Con la formula proposta da Bruno il conteggio sarebbe differente in presenza
di duplicati (in una o entrambe le due matrici).
Ove fossero sempre valori unici sarebbe migliore per il risparmio di
caratteri per "l'economia" di risorse.
non ho provato la sua, perchè le avevo già provate io e il risultato non era
quello voluto.

Quindi la tua è perfetta per le mie esigenze.

il caffè ve lo offro gratis a vostre spese :)
--
Ki$$
Bruno Campanini
2024-03-11 21:21:42 UTC
Permalink
Post by Ki$$
però c'è da dire che il -- in questo caso, (ma riguarda me adesso che ne ho
più consapevolezza) mi consente di differenziare visivamente ed
istantaneamente un tipo di formule da un altro.
ma è solo un dettaglio magari per tutti, marginale.
Più che altro dovresti valutare se non vi sia la possibilità di duplicati e
nel caso come vuoi che vengano conteggiati.
Con la formula proposta da Bruno il conteggio sarebbe differente in presenza
di duplicati (in una o entrambe le due matrici).
Ove fossero sempre valori unici sarebbe migliore per il risparmio di
caratteri per "l'economia" di risorse.
Robe da matti...
la tua, così tradotta in inglese: =SUM(--COUNTIF(H3:J9,I12:O14)>0)
non dà segno di vita, dà sempre 0 sul mio 2021 LTSC ENG.
La mia funziona, ma dà i numeri:
- se sono coppie di numeri uguali, rileva il numero delle coppie
in altri casi:
1 1 = 1
8 8 8 8 = 2
3 3 3 = 2
4 4 4 4 4 = 3

Mai avuto tante noie quante quelle con Win 11 e Office 2021.
A parte Access che funziona regolarmente.

Bruno
casanmaner
2024-03-12 06:58:23 UTC
Permalink
Post by Bruno Campanini
Robe da matti...
la tua, così tradotta in inglese: =SUM(--COUNTIF(H3:J9,I12:O14)>0)
non dà segno di vita, dà sempre 0 sul mio 2021 LTSC ENG.
Hai provato ad inserirla in matriciale con Ctrl+Maiusc+Invio?
Non so se Office 2021 gestisca in automatico le matriciali.
Con office 365, che oramai fa tutto in automatico, ho un po' perso il
"senso" di quando sarebbe necessario per versioni che non prevedono
questo automatismo.
Bruno Campanini
2024-03-12 09:33:33 UTC
Permalink
Post by casanmaner
Post by Bruno Campanini
Robe da matti...
la tua, così tradotta in inglese: =SUM(--COUNTIF(H3:J9,I12:O14)>0)
non dà segno di vita, dà sempre 0 sul mio 2021 LTSC ENG.
Hai provato ad inserirla in matriciale con Ctrl+Maiusc+Invio?
Non so se Office 2021 gestisca in automatico le matriciali.
Con office 365, che oramai fa tutto in automatico, ho un po' perso il "senso"
di quando sarebbe necessario per versioni che non prevedono questo
automatismo.
Le ho provate tutte: matriciale, range simmetrici di uguale
dimensione...
Niente da fare, tua dà ZERO e non dice altro.

Bruno

Ki$$
2024-03-12 07:59:38 UTC
Permalink
Post by Bruno Campanini
Post by Ki$$
però c'è da dire che il -- in questo caso, (ma riguarda me adesso che ne
ho più consapevolezza) mi consente di differenziare visivamente ed
istantaneamente un tipo di formule da un altro.
ma è solo un dettaglio magari per tutti, marginale.
Più che altro dovresti valutare se non vi sia la possibilità di duplicati e
nel caso come vuoi che vengano conteggiati.
Con la formula proposta da Bruno il conteggio sarebbe differente in
presenza di duplicati (in una o entrambe le due matrici).
Ove fossero sempre valori unici sarebbe migliore per il risparmio di
caratteri per "l'economia" di risorse.
Robe da matti...
la tua, così tradotta in inglese: =SUM(--COUNTIF(H3:J9,I12:O14)>0)
non dà segno di vita, dà sempre 0 sul mio 2021 LTSC ENG.
- se sono coppie di numeri uguali, rileva il numero delle coppie
1 1 = 1
8 8 8 8 = 2
3 3 3 = 2
4 4 4 4 4 = 3
Mai avuto tante noie quante quelle con Win 11 e Office 2021.
A parte Access che funziona regolarmente.
Bruno
anche io ho LTSC 2021 (italiano) e non ho problemi.
--
Ki$$
Continua a leggere su narkive:
Loading...