我需要一些 Excel 方面的帮助。
员工 地点 工作时间 加班 Mr.One 站 1 40 6 七太太站 2 30 6 双子站 3 30 4 三人站 4 40 4 八太太站 1 32 6 四先生站 2 32 7 九号太太站 3 40 6 五先生站 4 40 7 六先生站 1 25 2 十太太站 2 40 3 十一先生站 3 60 1
我有一张包含两张工作表的电子表格。一张是数据表(如上所示),另一张是摘要,其中包含Locations
数据验证列表列。我想使用数据验证列表从特定位置提取所有人员和信息。我尝试过使用,VLOOKUP()
但我只知道如何使用它一次提取一个人,而不是特定于某个位置的一组记录。
答案1
如果您使用的是 Excel 2007 或更高版本,则可以使用以下解决方案(函数IFERROR
是限制因素)。在下面的屏幕截图中显示的示例摘要表中,我使用此公式填充了几行,以返回与 B2 中下拉列表中选择的位置匹配的员工:
=IFERROR(INDEX(Data!$A$1:$A$12,SMALL(IF(Data!$B$1:$B$12=Summary!$B$1,ROW(Data!$A$1:$A$12),2000000),ROW()-3)),"")
Ctrl此公式必须作为数组公式输入。按+ Shift+即可Enter。
在小时数列中,向下填写了以下数组公式:
=IFERROR(INDEX(Data!$C$1:$C$12,SMALL(IF(Data!$B$1:$B$12=Summary!$B$1,ROW(Data!$C$1:$C$12),2000000),ROW()-3)),"")
关于公式需要注意的一点是SMALL
函数中的最后一个参数ROW()-3
。这将返回1
第 4 行中的第一条记录。如果您的汇总表从不同的行开始,则需要调整此参数,以便它返回1
表格的第一行。例如,如果您的表格从第 2 行开始,则需要将参数更改为ROW()-1
。