Chute dynamique Cascading Downs (contourner le problème INDIRECT ()) dans Microsoft Excel 2010
Les boîtes déroulantes dépendantes en cascade sont une astuce amusante et courante, permettant à une deuxième liste déroulante de modifier ses options en fonction de la sélection effectuée dans une première boîte déroulante. Ceci est généralement accompli en utilisant la fonction INDIRECT ().
Une autre astuce courante consiste à utiliser des formules de plage nommée dynamique pour créer des plages nommées qui s’ajustent à mesure que vous ajoutez des éléments à la colonne. Très utile.
PROBLÈME: * Ces deux « trucs » ne fonctionnent pas ensemble. Si vous utilisez des formules de plage nommée dynamique pour créer une liste d’équipes, puis utilisez cette plage nommée comme source de la liste DV dans la cellule A1, vous ne pouvez pas utiliser la méthode INDIRECT (A1) pour sélectionner la plage nommée dépendante qui porte le même nom comme texte sélectionné dans A1.
SOLUTION: * La solution de contournement est alors de ne pas créer du tout de formules de plage nommée dynamique. Au lieu de cela, vous déplacez toute l’activité dynamique dans la formule «Source» de validation des données dépendantes.
CONFIGURATION:
1.Sur une feuille de listes, toutes vos listes se trouveront côte à côte dans des colonnes, configurez-les comme ceci:
{vide} 2. Nous créons une plage nommée appeléeAnchorCell en cliquant sur A1 et en tapant ce nom dans la zone de nom comme indiqué ci-dessus.
Cela nous permet de créer une formule de validation des données plus tard qui fonctionnera toujours sur Excel 2003.
3.Nous créons une plage nommée dynamique appelée Équipes en appuyant sur CTRL-F3 et en définissant le nom avec la formule RefersTo de:
= OFFSET (listes! $ A $ 1,,, 1, COUNTA (listes! $ 1: $ 1))
Cela vous permet d’ajouter de nouvelles colonnes (équipes) à tout moment sans avoir à changer quoi que ce soit d’autre, tout continuera à fonctionner et inclura également vos nouvelles équipes.
REMARQUE: Pas de colonnes vides, ceci est une feuille de référence, gardez-la bien rangée.
{vide} 4. Ensuite, rien d’extraordinaire ici, nous utilisons le nom rangeTeams comme source de liste pour notre colonne Une validation des données primaires sur la feuille Sélections *:
Une fois appliqué, il fournit une liste des équipes de la ligne 1 de notre feuille Rosters:
{vide} 5. Et voici la magie. La formule de liste de validation des données dans B2 fait tout le travail lourd, en utilisant les fonctions OFFSET () et MATCH pour trouver l’équipe choisie dans la colonne A sur la ligne 1 de la feuilleRosters *, puis créez une liste déroulante des seuls éléments de cette colonne. En B2, la formule DV serait:
OFFSET (AnchorCell, 1, MATCH ($ A2, Teams, 0) -1, COUNTA (OFFSET (AnchorCell,, MATCH ($ A2, Teams, 0) -1, 50, 1)) – 1, 1) Vous devriez passer un peu de temps à lire les fichiers d’aide sur l’offset pour que les paramètres aient un sens pour vous:
= OFFSET (référence, lignes, colonnes, [hauteur], [largeur])
{vide} 6. Une fois appliquée, la liste secondaire se crée en fonction du choix effectué dans la cellule de la colonne A: