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

Dénombrement

2 réponses
Avatar
Eric Beaumard
Bonsoir


J'ai des lignes contituées de vingt valeurs qui peuvent
êtres des nombres ou bien la chaine de caractère "---".

Exemple, ligne 4:

16.0; 18.0; 11.0; 24.0; 13.0; 8.1; 9.9; ---; 4.9; 13.0; ---; ---;
13.0; 17.0; 27.0; ---; ---; ---; ---; ---


Je voudrais compter le nombre de couple de nombres de cette ligne
dont le produit est supérieure à une valeur M données (en ignorant
les couples formés par le même élément de la liste).


Exemple, si M=100 on a:

16*18 est > 45
16*11 est >45

Ce qui en fait déjà deux mais il reste
à compter les autres.

Je sais écrire une macro qui fait ça mais par curiosité
je voudrais savoir si il est possible de l'écrire
dans une cellule en utilisant, par exemple,
les fonctions matricielles d'excel.

--
Cordialement

Eric BEAUMARD

2 réponses

Avatar
Papyjac
Bonjour Eric

J'ai fait un test pour une ligne avec la formule :

{= Somme(si(A2:T2*TRANSPOSE(A2:T2)>100;1;0))}

Mais attention, ce n'est pas la formule définitive, car il faut enlever les
couples de la diagonale, puis diviser par 2

La diagonale se calcule ainsi {= Somme(si(A2:T2*A2:T2>100;1;0))}

Donc la formule définitive à reproduire sur chaque ligne peut être :

{=
(Somme(si(A2:T2*TRANSPOSE(A2:T2)>100;1;0))-Somme(si(A2:T2*A2:T2>100;1;0)))/2}

NB : Assez curieusement, la formule plus simple
{=NB.SI(A2:T2*TRANSPOSE(A2:T2);">100")} est en erreur


--
P a p y j a c

"Eric Beaumard" a écrit dans le message de
news:4839e3e8$0$13262$
Bonsoir


J'ai des lignes contituées de vingt valeurs qui peuvent
êtres des nombres ou bien la chaine de caractère "---".

Exemple, ligne 4:

16.0; 18.0; 11.0; 24.0; 13.0; 8.1; 9.9; ---; 4.9; 13.0; ---; ---;
13.0; 17.0; 27.0; ---; ---; ---; ---; ---


Je voudrais compter le nombre de couple de nombres de cette ligne
dont le produit est supérieure à une valeur M données (en ignorant
les couples formés par le même élément de la liste).


Exemple, si M0 on a:

16*18 est > 45
16*11 est >45

Ce qui en fait déjà deux mais il reste
à compter les autres.

Je sais écrire une macro qui fait ça mais par curiosité
je voudrais savoir si il est possible de l'écrire
dans une cellule en utilisant, par exemple,
les fonctions matricielles d'excel.

--
Cordialement

Eric BEAUMARD






Avatar
Eric Beaumard
Merci beaucoup. Il me semble qu'il faut néanmoins
ne diviser par deux que le nombre de couples
supérieurs à M.

(Somme(si(A2:T2*TRANSPOSE(A2:T2)>100;1;0))/2-Somme(si(A2:T2*A2:T2>100;1;0)))}

J'ai aussi rajouté un Si(A2:T2="---";0;1) qui enlève l'erreur sur les
produit
("---", nombre) et ne pose pas de problème parce
que les nombres en questions sont tous strictement
positifs.

--
Cordialement

Eric BEAUMARD
"Papyjac" a écrit dans le message de news:

Bonjour Eric

J'ai fait un test pour une ligne avec la formule :

{= Somme(si(A2:T2*TRANSPOSE(A2:T2)>100;1;0))}

Mais attention, ce n'est pas la formule définitive, car il faut enlever
les couples de la diagonale, puis diviser par 2

La diagonale se calcule ainsi {= Somme(si(A2:T2*A2:T2>100;1;0))}

Donc la formule définitive à reproduire sur chaque ligne peut être :

{=
(Somme(si(A2:T2*TRANSPOSE(A2:T2)>100;1;0))-Somme(si(A2:T2*A2:T2>100;1;0)))/2}

NB : Assez curieusement, la formule plus simple
{=NB.SI(A2:T2*TRANSPOSE(A2:T2);">100")} est en erreur


--
P a p y j a c

"Eric Beaumard" a écrit dans le message de
news:4839e3e8$0$13262$
Bonsoir


J'ai des lignes contituées de vingt valeurs qui peuvent
êtres des nombres ou bien la chaine de caractère "---".

Exemple, ligne 4:

16.0; 18.0; 11.0; 24.0; 13.0; 8.1; 9.9; ---; 4.9; 13.0; ---; ---;
13.0; 17.0; 27.0; ---; ---; ---; ---; ---


Je voudrais compter le nombre de couple de nombres de cette ligne
dont le produit est supérieure à une valeur M données (en ignorant
les couples formés par le même élément de la liste).


Exemple, si M0 on a:

16*18 est > 45
16*11 est >45

Ce qui en fait déjà deux mais il reste
à compter les autres.

Je sais écrire une macro qui fait ça mais par curiosité
je voudrais savoir si il est possible de l'écrire
dans une cellule en utilisant, par exemple,
les fonctions matricielles d'excel.

--
Cordialement

Eric BEAUMARD