基于特定的单元格值从主列表创建子列表,Excel中没有空白行

时间:2018-07-19 14:09:10

标签: excel

比方说,我正在创建一个给定时间他们将要参加的各种学生和课程的主列表,我想在单独的表格中自动创建一个班级名册。每个类都有自己的工作表,到目前为止,我正尝试使用这些类的下拉列表,然后根据从下拉列表中选择的选项来填充名单。

我在两个单独的单元格中都有名字和姓氏,在其他单元格中还有其他信息,我希望将其复制过来。我在名单中使用了if语句,但问题是它留空白行,这不理想。

这是我创建的主列表的图像。

这是我用来填充名单的示例公式。我已将主列表中的每一列命名为其标题。

=IF(Book1!Science="Earth Science",First_Name,"")

当它填充数据时,就会发生这种情况。

当同一班级中的两个人在主列表中不相邻时,会发生这种情况。

我如何获得想要的结果?

编辑

数据透视表的格式不理想,因为我希望每个人都有一行,并且每个数据点都有自己的列,即使遵循注释中的说明也是如此。

Here is an image of the changes to the master list.

Here is an image of the PivotTable that resulted.

1 个答案:

答案 0 :(得分:0)

让我尝试一下。我会额外增加3列。

我的样本数据是:

Name    Data
Test1   Sc
Test2   Bc
Test3   Sc
Test4   Bc
Test5   Bc
Test6   Bc
Test7   Bc
Test8   Bc
Test9   Bc
Test10  Bc
Test11  Sc
Test12  Bc
Test13  Sc
Test14  Bc
对于其他单元格

:F1 =“ Sc”,E1 =,G1 = 1,G2 = 2,G3 = 3,G4 = 4,G5 = 5,G6 = 6,G7 = 7,G8 = 8,G9 = 9,G10 = 10,G11 = 11,G12 = 12。

另外,在E2中,键入=IF(F2="",E1,E1+1),然后将其拖动到E15,

最后在H2中输入=IFERROR(INDEX($F$2:$F$15,MATCH(G2,$E$2:$E$15,0)),""),然后将其拖动到H14。

这将是您的结果。

将F1单元格中的“ Sc”更改为“ Bc”,您会看到列表已更新。

希望有帮助。 (:

注意:G列只是一个运行数字,您可以使用row()函数生成它,因此我们只需要增加3列即可。