Formule Excel: filtrer et transposer horizontalement à vertical -

Table des matières

Formule générique

=TRANSPOSE(FILTER(data,logic))

Sommaire

Pour filtrer les données disposées horizontalement et afficher le résultat dans un format vertical, vous pouvez utiliser la fonction FILTRE avec TRANSPOSE. Dans l'exemple illustré, la formule en B10 est:

=TRANSPOSE(FILTER(data,group="fox"))

où les données (C4: L6) et le groupe (C5: L5) sont des plages nommées.

Explication

Le but est de filtrer les données horizontales dans la plage C4: L6 pour extraire les membres du groupe «renard» et afficher les résultats avec des données transposées dans un format vertical. Pour plus de commodité et de lisibilité, nous avons deux plages nommées avec lesquelles travailler: les données (C4: L6) et le groupe (C5: L5).

La fonction FILTER peut être utilisée pour extraire des données disposées verticalement (en lignes) ou horizontalement (en colonnes). FILTER renverra les données correspondantes dans la même orientation. La formule en B5 est:

=TRANSPOSE(FILTER(data,group="fox"))

Travaillant de l'intérieur vers l'extérieur, l'argument include pour FILTER est une expression logique:

group="fox" // test for "fox"

Lorsque l'expression logique est évaluée, elle renvoie un tableau de 10 valeurs TRUE et FALSE:

(TRUE,FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,TRUE,TRUE,FALSE)

Remarque: les virgules (,) dans ce tableau indiquent des colonnes. Les points-virgules (;) indiqueraient des lignes.

Le tableau contient une valeur par enregistrement dans les données, et chaque VRAI correspond à une colonne où le groupe est «renard». Ce tableau est renvoyé directement à FILTER en tant qu'argument d'inclusion, où il effectue le filtrage réel:

FILTER(data,(TRUE,FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,TRUE,TRUE,FALSE))

Seules les données dans les colonnes qui correspondent à TRUE passent à travers le filtre, le résultat est donc des données pour les six personnes du groupe «renard». FILTER renvoie ces données dans la structure horizontale d'origine. Étant donné que nous voulons afficher les résultats de FILTER dans un format vertical, la fonction TRANSPOSE est enveloppée autour de la fonction FILTER:

=TRANSPOSE(FILTER(data,group="fox"))

La fonction TRANSPOSE transpose les données et renvoie un tableau vertical comme résultat final dans la cellule B10. Étant donné que FILTER est une fonction de tableau dynamique, les résultats se répartissent dans la plage B10: D15. Si les données des données (C4: L6) changent, le résultat de FILTER est automatiquement mis à jour.

Articles intéressants...