Bonsoir,Bonjour,
Dans une colonne j'ai une liste de lettre (ABCD...) Quelle est la fonction pour afficher, dans une autre colonne, tous les couples possibles (AB, AC, AD, BC, BD...)
Merci beaucoup !
Je n'ai pas de limite. Oui que des couples. Toutes les combinaisons possibles de couple d'une listeBonsoir,
Combien de lettres différentes ?
Vous ne voulez que des couples ?
Cordialement,
Dans une colonne j'ai les lettres (A, B,C,D,...)Je n'ai pas de limite. Oui que des couples. Toutes les combinaisons possibles de couple d'une liste
Bonjour,Dans une colonne j'ai les lettres (A, B,C,D,...)
Bonjour, comme c'est pour organiser des rencontres entre équipes, je ne connais pas encore le nombre total mais je dirais max 24. Maintenant comme il y a plusieurs catégories, je pourrais ne faire que 6 équipes par catéfgories et donc répéter après la formule... donc 6 lettres (et max 24)Bonjour,
justement, ma question était :
Combien de lettres avez-vous après les points de suspension ? 2,3 4 ... 22 ?
Cordialement,
ReBonjour, comme c'est pour organiser des rencontres entre équipes, je ne connais pas encore le nombre total mais je dirais max 24. Maintenant comme il y a plusieurs catégories, je pourrais ne faire que 6 équipes par catéfgories et donc répéter après la formule... donc 6 lettres (et max 24)
1 | A - B |
2 | A - C |
3 | A - D |
4 | A - E |
5 | A - F |
6 | B - C |
7 | B - D |
8 | B - E |
9 | B - F |
10 | C - D |
11 | C - E |
12 | C - F |
13 | D - E |
14 | D - F |
15 | E - F |
Bonjour,
justement, ma question était :
Combien de lettres avez-vous après les points de suspension ? 2,3 4 ... 22 ?
Cordialement,
oui, merci. Moi je cherche la formule !Re
Si vous cherchez un peu sur le forum et dans les ressources, vous trouverez plein de trucs pour organiser des concours et les tirages au sort qui vont avec.
Lister tous les couples choisis parmi 6 équipes, cela fait 15 résultats, ça se fait à la main :
Combinaisons
Cordialement,
1A - B 2A - C 3A - D 4A - E 5A - F 6B - C 7B - D 8B - E 9B - F 10C - D 11C - E 12C - F 13D - E 14D - F 15E - F
il n'y a pas de formule simple, c'est du VBA ou une usine à gaz de fonctions Excel ... pour 15 combinaisons !?oui, merci. Moi je cherche la formule !
=SI(LIGNE()>(NBVAL($A$1:$A$99))*(NBVAL($A$1:$A$99)-1)/2;"";SI(NB.SI(B$1:B1;B1)<NBVAL($A$1:$A$99)-B1;B1;B1+1))
=SI(B1="";"";INDEX(A:A;B1) & "-" & INDEX(A:A;B1+NB.SI(B$1:B1;B1)))
Public Function JAVersus(ByVal VS As Long)
Dim J As Long, A As Long
A = Int(Sqr(2 * VS + 0.25) + 1.5)
J = VS - A * (A - 3) \ 2
JAVersus = Array(J, A)
End Function
Public Function VersusJA(ByVal J As Long, ByVal A As Long) As Long
If A < J Then J = J - A: A = J + A: J = A - J
If A > J Then VersusJA = A * (A - 3) \ 2 + J Else VersusJA = -1
If VersusJA < 0 Then Err.Raise 9999, , "VersusJA(" & J & ", " & A & ") impossible."
End Function
Bonsoir à tous ,
Si vous tenez absolument à le faire avec des formules (et c'est votre droit ), voici une possibilité en utilisant la colonne B comme colonne auxiliaire :
Colonne A : les valeurs à "coupler"
Colonne B : en B1 mettre la valeur 1. Puis en B2, mettre la formule suivante et la recopier vers le bas (jusqu'à obtenir des cellules sans nombre - dans le classeur joint, on est allé jusqu'en ligne 1000). La formule en B2 est :
VB:=SI(LIGNE()>(NBVAL($A$1:$A$99))*(NBVAL($A$1:$A$99)-1)/2;"";SI(NB.SI(B$1:B1;B1)<NBVAL($A$1:$A$99)-B1;B1;B1+1))
Colonne C (ce sera le résultat) : mettre en C1 la formule suivante et la recopier vers le bas (même niveau que la colonne B). La formule en C1 à recopier vers le bas est :
9aVB:=SI(B1="";"";INDEX(A:A;B1) & "-" & INDEX(A:A;B1+NB.SI(B$1:B1;B1)))
Bonsoir.
Voyez si un des systèmes de tirage pourrait convenir.
Le classeur contient d'ailleurs aussi un fonction qui renvoie un Arrays de 2 n° correspondant à un indice commençant à 0 pour le couple {1, 2} :
Et aussi la fonction inverse qui renvoie l'indice correspondant à une paire de numéros spécifiés :VB:Public Function JAVersus(ByVal VS As Long) Dim J As Long, A As Long A = Int(Sqr(2 * VS + 0.25) + 1.5) J = VS - A * (A - 3) \ 2 JAVersus = Array(J, A) End Function
Code:Public Function VersusJA(ByVal J As Long, ByVal A As Long) As Long If A < J Then J = J - A: A = J + A: J = A - J If A > J Then VersusJA = A * (A - 3) \ 2 + J Else VersusJA = -1 If VersusJA < 0 Then Err.Raise 9999, , "VersusJA(" & J & ", " & A & ") impossible." End Function
Bonsoir.
Voyez si un des systèmes de tirage pourrait convenir.
Le classeur contient d'ailleurs aussi un fonction qui renvoie un Arrays de 2 n° correspondant à un indice commençant à 0 pour le couple {1, 2} :
Et aussi la fonction inverse qui renvoie l'indice correspondant à une paire de numéros spécifiés :VB:Public Function JAVersus(ByVal VS As Long) Dim J As Long, A As Long A = Int(Sqr(2 * VS + 0.25) + 1.5) J = VS - A * (A - 3) \ 2 JAVersus = Array(J, A) End Function
Code:Public Function VersusJA(ByVal J As Long, ByVal A As Long) As Long If A < J Then J = J - A: A = J + A: J = A - J If A > J Then VersusJA = A * (A - 3) \ 2 + J Else VersusJA = -1 If VersusJA < 0 Then Err.Raise 9999, , "VersusJA(" & J & ", " & A & ") impossible." End Function
Bonsoir à tous ,
Si vous tenez absolument à le faire avec des formules (et c'est votre droit ), voici une possibilité en utilisant la colonne B comme colonne auxiliaire :
Colonne A : les valeurs à "coupler"
Colonne B : en B1 mettre la valeur 1. Puis en B2, mettre la formule suivante et la recopier vers le bas (jusqu'à obtenir des cellules sans nombre - dans le classeur joint, on est allé jusqu'en ligne 1000). La formule en B2 est :
VB:=SI(LIGNE()>(NBVAL($A$1:$A$99))*(NBVAL($A$1:$A$99)-1)/2;"";SI(NB.SI(B$1:B1;B1)<NBVAL($A$1:$A$99)-B1;B1;B1+1))
Colonne C (ce sera le résultat) : mettre en C1 la formule suivante et la recopier vers le bas (même niveau que la colonne B). La formule en C1 à recopier vers le bas est :
VB:=SI(B1="";"";INDEX(A:A;B1) & "-" & INDEX(A:A;B1+NB.SI(B$1:B1;B1)))
Merci beaucoup à tous. La formule de Mapomme est exactement ce que je voulais ! C'est super !Bonsoir à tous ,
Si vous tenez absolument à le faire avec des formules (et c'est votre droit ), voici une possibilité en utilisant la colonne B comme colonne auxiliaire :
Colonne A : les valeurs à "coupler"
Colonne B : en B1 mettre la valeur 1. Puis en B2, mettre la formule suivante et la recopier vers le bas (jusqu'à obtenir des cellules sans nombre - dans le classeur joint, on est allé jusqu'en ligne 1000). La formule en B2 est :
VB:=SI(LIGNE()>(NBVAL($A$1:$A$99))*(NBVAL($A$1:$A$99)-1)/2;"";SI(NB.SI(B$1:B1;B1)<NBVAL($A$1:$A$99)-B1;B1;B1+1))
Colonne C (ce sera le résultat) : mettre en C1 la formule suivante et la recopier vers le bas (même niveau que la colonne B). La formule en C1 à recopier vers le bas est :
VB:=SI(B1="";"";INDEX(A:A;B1) & "-" & INDEX(A:A;B1+NB.SI(B$1:B1;B1)))
Si je veux rajouter un titre et une ligne d'espace aux colonnes, soit 2 lignes en haut, est-ce faisable ?Bonsoir à tous ,
Si vous tenez absolument à le faire avec des formules (et c'est votre droit ), voici une possibilité en utilisant la colonne B comme colonne auxiliaire :
Colonne A : les valeurs à "coupler"
Colonne B : en B1 mettre la valeur 1. Puis en B2, mettre la formule suivante et la recopier vers le bas (jusqu'à obtenir des cellules sans nombre - dans le classeur joint, on est allé jusqu'en ligne 1000). La formule en B2 est :
VB:=SI(LIGNE()>(NBVAL($A$1:$A$99))*(NBVAL($A$1:$A$99)-1)/2;"";SI(NB.SI(B$1:B1;B1)<NBVAL($A$1:$A$99)-B1;B1;B1+1))
Colonne C (ce sera le résultat) : mettre en C1 la formule suivante et la recopier vers le bas (même niveau que la colonne B). La formule en C1 à recopier vers le bas est :
VB:=SI(B1="";"";INDEX(A:A;B1) & "-" & INDEX(A:A;B1+NB.SI(B$1:B1;B1)))