Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Formule magique plus

32 réponses
Avatar
HB
Bonsoir,

Je ne crois pas être totalement nul
mais certaines formules me laissent pantois ...

Pour obtenir le nombre de valeurs distinctes dans B2:B700
je sais que la formule "matricielle" suivante fonctionne

{=SOMME(SI(B2:B700<>"";1/NB.SI(B2:B700;B2:B700)))}

Toutefois, je ne comprends pas du tout comment elle fonctionne.

En plus il faudrait que j'ajoute un argument conditionnel
faisant référence à la colonne A.

En effet je voudrais le
nombre de valeurs distinctes de B2:B700
parmi celles qui correspondent à la valeur "XXX" dans la colonne A
(les valeurs dans la colonne A seront au format texte...).

(if you see what I mean)

Merci d'avance aux supers cracks des formules qui voudront bien avoir
pitié de mes pauvres neurones...

Cordialement,

HB

---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus

10 réponses

1 2 3 4
Avatar
isabelle
plutôt j'aurais du écrire,

l'ordre du 1er et 2ème argument de EQUIV
A1:A700&B1:B700&C1:C700
n'a pas d'importance sauf que ces 2 arguments doivent être identique.

isabelle
Avatar
Jacquouille
Bonjour

Chez nous, en Belgique, on assiste de plus en plus à une augmentation des
naissances le vendredi, au détriment du WE.
Les gynéco n'aimant pas se faire rappeler le WE, on fait la césarienne le
vendredi ......


Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"HB" a écrit dans le message de groupe de discussion :
574e0994$0$3350$

Bonsoir,

Bien sûr la répartition égale sur l'année reste un modèle très simplifié...

Ce document ( un peu long) est éclairant :

https://www.ined.fr/fichier/s_rubrique/19823/popf.1_re.gnier_2010.fr.pdf

Chaque année, certains jours (WE, fériés) ont bien moins de naissance.
sur une large tranche d'âge ces effets peuvent se compenser
Sur une petite tranche d'âge, ces effets sont présents.

Donc logiquement, avec des échantillons plus variés, les pourcentages de
coïncidence devraient être plus proche de la fréquence théorique.

Pour comparer sérieusement il faudrait prendre de nombreux échantillons
(30 personnes par exemple) et comparer la moyenne des fréquences
observées selon la nature de ces échantillons
(même tranche d'âge ou pas) ...


Bref ... tout ça ne remet pas en cause le principe initial puisque même
dans le cas idéal, la fréquence est bien plus élevée que ce à quoi on
s'attend en général...

Cordialement,

HB

Le 31/05/2016 à 21:51, Jacquouille a écrit :
Bonsoir
Il serait intéressant de connaître le % de différence entre un
échantillon de x personnes d'une même classe, donc sensiblement du même
âge, comparé à un échantillon de x personnes prises au hasard (entre 0
et 100 ans), cela s'entend....
-))





---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel antivirus Avast.
https://www.avast.com/antivirus


---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com
Avatar
HB
Merci beaucoup,

je garde ce classeur exemple dans un lieu sûr.

J'ai une question (encore ...) à propos des formules matricielles...

J'essaye de comprendre comment fonctionne tout ça
... je tente de progresser lentement ...

Si TOTO est le nom d'un plage ( type D2:D746)

La formule matricielle somme(1/nb.si(TOTO;TOTO))
fonctionne, bien sûr.

J'essaye de remplacer la référence à TOTO
par "son contenu" (puisqu'il s'agit d'une formule matricielle...)

mais là ... ça veut pas ... j'ai pas tout compris, visiblement ;o)


Un classeur valant mieux qu'un long discours,
tout est là :

http://www.cjoint.com/c/FFbq2jorNNC

Merci d'avance,

Cordialement,

HB



Le 01/06/2016 à 04:27, isabelle a écrit :
plutôt j'aurais du écrire,

l'ordre du 1er et 2ème argument de EQUIV
A1:A700&B1:B700&C1:C700
n'a pas d'importance sauf que ces 2 arguments doivent être identique.

isabelle




---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Avatar
LSteph
Bonjour,

En anniv2 mettre =SI(Classe=I$1;Anniv;"_")

et en i7 mettre =SOMME(1/NB.SI(Anniv2;Anniv2))-1 saisie en matricielle

Cordialement.

--
LSteph

Le mercredi 1 juin 2016 19:02:54 UTC+2, HB a écrit :
Merci beaucoup,

je garde ce classeur exemple dans un lieu sûr.

J'ai une question (encore ...) à propos des formules matricielles...

J'essaye de comprendre comment fonctionne tout ça
... je tente de progresser lentement ...

Si TOTO est le nom d'un plage ( type D2:D746)

La formule matricielle somme(1/nb.si(TOTO;TOTO))
fonctionne, bien sûr.

J'essaye de remplacer la référence à TOTO
par "son contenu" (puisqu'il s'agit d'une formule matricielle...)

mais là ... ça veut pas ... j'ai pas tout compris, visiblement ;o)


Un classeur valant mieux qu'un long discours,
tout est là :

http://www.cjoint.com/c/FFbq2jorNNC

Merci d'avance,

Cordialement,

HB



Le 01/06/2016 à 04:27, isabelle a écrit :
> plutôt j'aurais du écrire,
>
> l'ordre du 1er et 2ème argument de EQUIV
> A1:A700&B1:B700&C1:C700
> n'a pas d'importance sauf que ces 2 arguments doivent être identiq ue.
>
> isabelle


---
L'absence de virus dans ce courrier électronique a été v érifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Avatar
LSteph
...oublie , je n'avais pas tout compris c'es ce que tu fais déjà enI2


> ---
> L'absence de virus dans ce courrier électronique a été v érifiée par le logiciel antivirus Avast.
> https://www.avast.com/antivirus
Avatar
LSteph
<---- pourquoi cela ne fonctionne-t-il pas ?

Dans le cas simple:
lorsque l'on recherche la quantité d'un élément de la liste
on aura minimalement 1

dans la combinaison de 2 critères
on aura des cas ou c'est 0
exemple seule la 4eme6 a un anniv au 1er janvier
donc si un des 2 critères renvoie 0
1/0 renvoie #Div

Ce qui provoque forcément une erreur.


Cordialement.

--
LSteph
Avatar
LSteph
Bonjour(mon bon...) Jacquouille,

C'est une chance ici aujourd'hui nous sommes jeudi!

Amicales Salutations.

--
LSteph
Avatar
HB
Merci de t'être penché là dessus ,
donc ...


La formule matricielle est

{=SOMME(1/NB.SI(SI(Classe=I$1;Anniv;"");SI(Classe=I$1;Anniv;"")))-1}

Classe désigne A2:A746 et Anniv désigne B2:B746
I$1 contient une des 27 valeurs utilisées dans la liste Classe.

je peux remplacer par
=SOMME(1/NB.SI(SI(Classe=I$1;Anniv;"_");SI(Classe=I$1;Anniv;"_")))-1

cela ne change rien.

J'ai suivi "pas à pas" le calcul associé


Or,
quand le tableau (en double) SI(Classe=I$1;Anniv;"") est évalué
intégralement

je vois bien
nb.si({... liste prévue};{liste prévue})
( je n'y voit pas les dates mais les n° de série associés
ce qui est normal)

C'est l'étape suivante (évaluation de nb.si)
qui retourne un tableau ne contenant qu'une flopée de #VALEUR)

Ce n'est donc pas une histoire de 1/zéro ... puisque cela plante avant.

Chaque "case vide" doit donner lieu à un gros nombre (plus de 700)
et la somme des inverses associés sera égale à 1...

d'où le -1 en fin de formule.

Donc donc donc ...

je n'ai pas d'idée puisque la formule nb.si(Plage;Plage)
ne devrait pas provoquer d'erreur sauf si cette utilisation matricielle
impose des contraintes que j'ignore...

J'ai essayé en remplaçant le vide par -1 pour que les tableau manipulés
ne contiennent que des nombres ... sans effet.

Cordialement,

HB








Le 02/06/2016 à 13:56, LSteph a écrit :

<---- pourquoi cela ne fonctionne-t-il pas ?

Dans le cas simple:
lorsque l'on recherche la quantité d'un élément de la liste
on aura minimalement 1

dans la combinaison de 2 critères
on aura des cas ou c'est 0
exemple seule la 4eme6 a un anniv au 1er janvier
donc si un des 2 critères renvoie 0
1/0 renvoie #Div

Ce qui provoque forcément une erreur.


Cordialement.

--
LSteph





---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Avatar
LSteph
Bonjour,
....effectivement!
Si je fais F9 en zone formule en surlignant
Anniv2 et SI(Classe=I$1;Anniv;"")
renvoient exactement la même matrice.
--
LSteph
Le jeudi 2 juin 2016 18:32:19 UTC+2, HB a écrit :
Merci de t'être penché là dessus ,
Avatar
isabelle
bonjour HD,
si j'ai bien compris,
cette matricielle devrait être ok
=NB(SI((Classe="3EME1")*(Anniv>0)*LIGNES(Anniv);1))-1
isabelle
Le 2016-06-01 à 13:02, HB a écrit :
Merci beaucoup,
je garde ce classeur exemple dans un lieu sûr.
J'ai une question (encore ...) à propos des formules matricielles...
J'essaye de comprendre comment fonctionne tout ça
... je tente de progresser lentement ...
Si TOTO est le nom d'un plage ( type D2:D746)
La formule matricielle somme(1/nb.si(TOTO;TOTO))
fonctionne, bien sûr.
J'essaye de remplacer la référence à TOTO
par "son contenu" (puisqu'il s'agit d'une formule matricielle...)
mais là ... ça veut pas ... j'ai pas tout compris, visiblement ;o)
Un classeur valant mieux qu'un long discours,
tout est là :
http://www.cjoint.com/c/FFbq2jorNNC
Merci d'avance,
Cordialement,
HB
Le 01/06/2016 à 04:27, isabelle a écrit :
plutôt j'aurais du écrire,
l'ordre du 1er et 2ème argument de EQUIV
A1:A700&B1:B700&C1:C700
n'a pas d'importance sauf que ces 2 arguments doivent être identique.
isabelle

---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel
antivirus Avast.
https://www.avast.com/antivirus
1 2 3 4