Remplissez plusieurs cellules avec des valeurs de la list en fonction de la valeur d'une autre cellule

Je search de l'aide pour un rapport. Sur la «feuille1», j'ai une list des régions et des hôpitaux correspondants structurés dans un format comme celui-ci:

  ABCDE
 1 Région Région 1 Région 2 Région 3 Région 4
 2 Région 1 Hôpital 1 Hôpital 6 Hôpital 11 Hôpital 15
 3 Région 2 Hôpital 2 Hôpital 7 Hôpital 12 Hôpital 16
 4 Région 3 Hôpital 3 Hôpital 8 Hôpital 13 Hôpital 17
 5 Région 4 Hôpital 4 Hôpital 9 Hôpital 14 Hôpital 18
 6 Région 5 Hôpital 5 Hôpital 10
 7 Région 6
 8 Région 7
 9 Région 8

Dans ma fiche «rapport», j'ai configuré le tableau suivant avec la région des en-têtes de colonne dans A6 et «Hôpital» dans B6:

  ABCDE
 6 Région Hôpital
 7 Région 1 Hôpital 1
 8                               
 9
 dix
 11 Hôpital 2
 12
 13
 14
 15 hôpital 3
 16
 17
 18
 19 Hôpital 4
 20
 21
 22
 23 Hôpital 5
 24

Ce que je voudrais faire: en sélectionnant «Région 1» dans la list que j'ai dans l'A7 de la fiche «rapport», j'aimerais que B7, B11, B15, B19 et B23 remplissent les valeurs indiquées dans la colonne intitulée 'Région 1' (Colonne B) de 'feuille1'.

Comme une complexité supplémentaire, j'ai besoin de la solution pour être dynamic, en ce que lorsque j'ajoute un hôpital à l'une des colonnes de la «région» dans la «feuille 1», cela sera également transmis à la cellule gratuite suivante dans la colonne B du ' déclaration 'lorsque cette région est sélectionnée dans A7. Il y a 3 cellules entre chaque «hôpital» dans la fiche de rapport.

essayez cette formule et mettez à B7, il obtiendra le premier hôpital de la list. sheet2 est votre fiche de rapport. remettre la formule après 3 cellules recevront le rest de l'hôpital de cette région. bien que vous devez mettre la formule manuellement après chaque 3 cellules pour la rendre dynamic en utilisant la formule.

=IF($A$7=Sheet1!$B$1,IF(Sheet1!B2<>"",Sheet1!B2,"")) 

note: augmentez B2 par 1 lorsque vous l'avez copié dans une autre cellule, par exemple lorsque vous placez la formule dans la prochaine cellule qui va être B11, Sheet1! B2 devrait devenir Sheet1! B3 like so

 =IF($A$7=Sheet1!$B$1,IF(Sheet1!B3<>"",Sheet1!B3,"")) 

effectuez la même procédure pour le rest de la cellule où cette formule sera copiée

Supplémentaire: vous avez dit que cela ne résoudait que le problème partiel, de sorte que je l'ai révisé. Essayez d'utiliser ceci.

 =IF($A$7="r1",Sheet1!B2,IF($A$7="r2",Sheet1!C2,IF($A$7="r3",Sheet1!D2,IF($A$7="r4",Sheet1!E2,"")))) 

Remarque: le r1 à r4 que vous voyez est le nom de votre région. il suffit de les replace par la région 1 et ainsi de suite.

Utilisez la fonction VLOOKUP :

 VLOOKUP(A7,Hospital!:$A$1:$E$9,2) A7 = The value to match <br>Hospital! = Sheet where the lookup table exists <br>:$A$1 = The starting cell for the table (top left corner) <br>:$E$9 = The end cell (bottom right corner) <br>2 = the corresponding value you want to display