使用基于另一个单元格的值的列表中的值填充多个单元格

时间:2014-07-03 05:31:25

标签: excel excel-formula

我正在寻找一份报告方面的帮助。在'sheet1'上,我有一个区域列表和相应的医院,结构如下:

   A              B             C             D              E          
1 Regions     Region 1      Region 2      Region 3       Region 4
2 Region 1    Hospital 1    Hospital 6    Hospital 11    Hospital 15
3 Region 2    Hospital 2    Hospital 7    Hospital 12    Hospital 16
4 Region 3    Hospital 3    Hospital 8    Hospital 13    Hospital 17
5 Region 4    Hospital 4    Hospital 9    Hospital 14    Hospital 18
6 Region 5    Hospital 5    Hospital 10
7 Region 6
8 Region 7
9 Region 8

在我的“报告”表上,我设置了下表,其中A6中的列标题为“Region”,B6中为“Hospital”:

       A              B            C            D            E
6   Region         Hospital
7   Region 1       Hospital 1
8                               
9
10
11                 Hospital 2
12
13
14
15                 Hospital 3
16
17
18
19                 Hospital 4
20
21
22
23                 Hospital 5
24

我想做什么: 从“报告”表A7中的列表中选择“区域1”后,我希望B7,B11,B15,B19和B23填充“区域1”栏中列出的值(B栏) )'sheet1'。

作为一个额外的复杂性,我需要解决方案是动态的,因为当我将医院添加到'sheet1'中的一个'region'列时,这也将被转移到B列中的下一个空闲单元格在A7中选择该区域时的“报告”表单。报告单中每个“医院”之间有3个单元格。

2 个答案:

答案 0 :(得分:2)

尝试这个公式并放在B7,它将从列表中获得第一家医院。 sheet2是您的报告表。 在3个细胞将从该地区获得医院的其余部分之后再次使用该配方。 虽然你必须在每个3个单元格之后手动放置公式,以使用公式使其具有动态性。

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

注意:复制到其他单元格时将B2增加1,例如当您将公式放入下一个将成为B11的单元格时,Sheet1!B2应该变为Sheet1!B3就像这样

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

对要复制此公式的单元格的其余部分执行相同的过程

附加: 你说这只能解决部分问题所以我修改了它。 尝试使用它。

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

注意:您看到的r1到r4是您所在地区的名称。只需用区域1替换它们,依此类推。

答案 1 :(得分:2)

使用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