Formule pour compter le nombre de couple de nombres d’une grille

excelfresh

XLDnaute Nouveau
Bonjour à tous!
J’aimerais compter le nombre fois qu’on le couple (a ; b) dans la grille du fichier ci-joint.
Sachant que chaque couple (a ; b) est constitué des nombres présents sur les lignes de la grille.
Par exemple la première ligne de la grille du fichier est constituée des couple (3 ; 6), (3 ; 10) et (6 ; 10)
Combien y a-t-il de couple (3 ; 6), (3 ; 10), (6 ; 10) dans toute la grille ? Ainsi de suite…
Quelqu’un aurait-il une super formule pour faire ce décompte ?
Je vous remercie d’avance.
 

Pièces jointes

  • décompter les couples.xlsx
    10 KB · Affichages: 41

CISCO

XLDnaute Barbatruc
Bonjour

Avec la formule de mon post #4, avec plus de 5000 lignes, c'est "instantané".

@ plus

P.S : Et la formule utilisée est plus simple à comprendre que celle de Jocelyn :)
 

Pièces jointes

  • décompter les couples.xlsx
    247.3 KB · Affichages: 43
Dernière édition:

CISCO

XLDnaute Barbatruc
Bonjour

On part de la plage A3:A5627. DECALER(A$3:A$5627;;M2) va chercher la plage M2 colonnes plus à droite. Si M2 = 1, cela donne la plage B3:B5627. Si M2 = 2, on a C3:C5627 et ainsi de suite.

DECALER(A$3:A$5627;;M2) = M2 renvoie des 0 lorsque les cellules de cette plage ne contiennent pas la valeur M2, des 1 si elles contiennent la même valeur que M2. On obtient quelque chose du genre ( à l'aide de Formules --> Évaluation de formule)

M2.PNG

DECALER(A$3:A$5627;;N22) = N2 donne la même chose mais par rapport à N2.
On a (DECALER(A$3:A$5627;;M2) = M2) * DECALER(A$3:A$5627;;N2) = N2) qui donne donc tout une série de produits, des 1 *1, des 1*0, des 0*1, et des 0 * 0. SOMMEPROD fait la somme de tous les 1 *1.

@ plus
 

excelfresh

XLDnaute Nouveau
Bonjour

Avec la formule de mon post #4, avec plus de 5000 lignes, c'est "instantané".

@ plus

P.S : Et la formule utilisée est plus simple à comprendre que celle de Jocelyn :)
Dans la petite grille du fichier ci-joint, nous avons entre autre réellement 2 fois la paire {1, 2} et zéro fois la paire {1, 10}
Mais votre formule affiche une fois la paire {1, 2} et une fois la paire {1, 10}.
10 n'apparait nulle part dans la grille.
Pouvez-vous m'aider à y voir plus clair?
Merci.
 

Pièces jointes

  • décompter les paires.xlsx
    11 KB · Affichages: 21

CISCO

XLDnaute Barbatruc
Bonjour

1) Il faut faire avec
Code:
=SOMMEPROD((DECALER(D$2:D$9;;A2)=A2)*(DECALER(D$2:D$9;;B2)=B2))

pas avec =SOMMEPROD((DECALER(D$2: D$9;;A2)=A2)*(DECALER(D$2: D$9;;A2)=A2))

2) Ton dernier tableau ne correspond pas à l'exemple donné dans ta première pièce jointe : A savoir que les 1 ne sont pas toujours et uniquement dans la 1ère colonne de ton tableau, les 2 dans la 2nde, les 3 dans la troisième... Dans ce cas, ma proposition ne convient pas.

@ plus
 

excelfresh

XLDnaute Nouveau
Bonjour

1) Il faut faire avec
Code:
=SOMMEPROD((DECALER(D$2:D$9;;A2)=A2)*(DECALER(D$2:D$9;;B2)=B2))

pas avec =SOMMEPROD((DECALER(D$2: D$9;;A2)=A2)*(DECALER(D$2: D$9;;A2)=A2))

2) Ton dernier tableau ne correspond pas à l'exemple donné dans ta première pièce jointe : A savoir que les 1 ne sont pas toujours et uniquement dans la 1ère colonne de ton tableau, les 2 dans la 2nde, les 3 dans la troisième... Dans ce cas, ma proposition ne convient pas.

@ plus
Okay!
Avez-vous une proposition pour ce dernier tableau?
La fonction de phlaurent55 fonctionne ce dernier tableau. Mais elle est très lente.
Merci!
 

Pièces jointes

  • décompter les paires.xlsm
    680.9 KB · Affichages: 23

CISCO

XLDnaute Barbatruc
Bonjour

Deux autre propositions correspondant mieux à ton dernier tableau, une, sans tenir compte de l'ordre des chiffres, l'autre, en en tenant compte (Colonne D, formule matricielle à valider avec les touches Ctrl+maj+entrer). Cela ne fonctionnera tel quel que si il ni a que des nombres de 0 à 9, pas de 10, 11 et ainsi de suite. Il est assez facile de transformer mes propositions pour prendre en compte des nombres plus grands, mais cela va donner une formule encore plus lourde, avec de nombreux &";"&.

@ plus
 

Pièces jointes

  • décompter les paires.xlsx
    12.5 KB · Affichages: 30

excelfresh

XLDnaute Nouveau
Bonjour

Deux autre propositions correspondant mieux à ton dernier tableau, une, sans tenir compte de l'ordre des chiffres, l'autre, en en tenant compte (Colonne D, formule matricielle à valider avec les touches Ctrl+maj+entrer). Cela ne fonctionnera tel quel que si il ni a que des nombres de 0 à 9, pas de 10, 11 et ainsi de suite. Il est assez facile de transformer mes propositions pour prendre en compte des nombres plus grands, mais cela va donner une formule encore plus lourde, avec de nombreux &";"&.

@ plus
Je n'ai compris à votre formule. Je serai incapable de la refaire tout seul!
Merci tout de même.
Je suis ouvert à toute autre proposition plus simple.
 

Discussions similaires

Réponses
5
Affichages
221

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 870
dernier inscrit
Armisa