L’article suivant fait suite à l’article : Défi Excel #1:Qui fournira la meilleure réponse? Il s’agit de questions d’anciens examens de ModelOff. Je vous mets maintenant au défi de fournir la meilleure réponse possible.
Problématique à résoudre
Dans l’exemple ci-bas, vous devez partir d’une zone de données qui ressemble à ceci:
Et obtenir une zone de données qui ressemble plutôt à ceci:
Défi
Le défi original, dans l’examen de ModelOff, était de trouver une formule qui à la fois fonctionne (évidemment!) et à la fois est la plus courte possible (plus petit nombre de caractères, sans utiliser de champs nommés). De plus, le temps alloué pour cette question était de 10 minutes. Cela dit, la réponse, en termes de résultat, est déjà connue et il est donc possible de valider que la formule fonctionne.
Solutions possibles
À regarder seulement après avoir fourni votre propre réponse 😉
Comme vous le savez, dans Excel, il existe une panoplie de formules pour arriver à un résultat identique. Ci-bas, je vous ai fourni une réponse, sachant qu’il ne s’agit pas de la réponse comportant le moins de caractères. À vous maintenant de proposer de meilleures solutions!
Cliquez (deux fois!) sur l’image pour l’agrandir
Note: La fonction Offset devient Decaler en français (voir l’article: Excel: Fonction Decaler (Offset), la fonction CountA devient NbVal en français et les virgules peuvent devenir des points-virgules, selon la configuration de votre Excel.
Vos solutions
Svp, utilisez la zone de commentaires ci-bas pour proposer vos propres solutions à cette problématique et laissez-nous savoir combien de temps vous avez pris pour résoudre le tout.
Peut-être serez-vous également intéressé par le Défi Excel #3 et par le Défi Excel #4?
À vous de jouer!!!
Le CFO masqué offre un vaste choix de formations en informatique décisionnelle avec Excel et Power BI, via un portail en ligne et à distance en temps réel, selon un calendrier. Si vous désirez organiser des formations privées, faites nous simplement parvenir un courriel à info@lecfomasque.com . Des certificats convenant aux normes de formation continue des divers ordres professionnels du Québec sont offerts pour l'ensemble des formations.
Hello,
je pense que celle-ci est un petit peu moins longue 😉
=INDIRECT(ADRESSE(11-LIGNE(A1);6-COLONNE(A1)))
rendez-vous pour le challenge #3 et merci beaucoup Sophie pour ce blog
Bonjour, j’ai remarqué que les données étaient à classer par ordre décroissant, donc le mose opératoire est différent mais pour cet exercice particulier, cela fonctionne.
=GRANDE.VALEUR($B$7:$E$10;COLONNE()-6+(LIGNE()-7)*4)
Salut Sophie
Quand je l’ai fait la première fois, j’ai fait =INDEX($B$7:$E$10,ROWS(B7:$E$10),COLUMNS(B7:$E$10)), 52 caractères.
Après avoir appris qu’il y a eu des formules avec 35 caractères, j’ai essayé avec DÉCALER et j’ai obtenu =OFFSET($A$6,ROWS(7:$10),COLUMNS(B:$E)) 38 ou 39 caractères selon la position initial de la plage de données originale.
https://twitter.com/jorgeluis500/status/410157815001407488
Récemment, j’ai vu une réponse encore plus courte, =SUM($E$18:$H$21*(B15:E18=100)), 31 caractères. Pourtant, il faut déplacer la zone de données pour avoir plus d’espace et la mettre par exemple à E18:H21
À bientôt
Jorge
Merci pour ce nouveau test !
J’avais pensé à MAX, mais c’etait une fausse piste
Ensuite, voici la formule trouvée :
=DECALER($B$7;10-LIGNE();10-COLONNE())
(ou offset / Row / Column)
Voici ce que j’ai trouvé de mon côté =INDEX($B$7:$E$10,COUNTA(E7:E$10),COUNTA(E7:$E7))
il y avait aussi : =+SMALL($B$7:$E$10;RANK(B7;$B$7:$E$10))