Excel过滤数据并使用结果填充行

时间:2016-06-05 08:49:23

标签: excel

我有两张excel表," Weekly"和"每日"。 每日工作表应根据每周工作表自动填充当天工作人员的姓名。 不应填写带有空单元格的名称。 目前我正在做多个嵌套if语句,这不是正确的解决方案。如何使用索引,小的行函数更动态地填充它?表格参考:

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:0)

这是一种方法:

每日!B3

=IFERROR(
INDEX(Weekly!$B$1:$B$50,
SMALL(ISNUMBER(1/INDEX(Weekly!$D$5:$L$50,0,MATCH($A$1,Weekly!$D$2:$L$2,0)))*ROW($B$5:$B$50),
SUM(--(INDEX(Weekly!$D$5:$L$50,0,MATCH($A$1,Weekly!$D$2:$L$2,0))=0))+COLUMNS($A:A))),
"")

注意:

  • 这是在点击ctrl+shift
  • 时按住enter输入的数组公式
  • 日期和工作日名称都是“实际”日期,格式化为显示为指定。
  • 虽然不推荐,但合并后的单元格会在您显示时合并。请注意,对于合并的单元格,填充的唯一单元格是合并区域的左上角。
  • 请注意,从第1行开始引用“名称”列(每周!$ B $ 1:$ B $ 50);其他地区从第5行开始,这是您的数据开始的地方。所有列都在同一行结束。如果您的表有更多行,请根据需要进行调整。可以指定更多的行,而不是数据中存在的行。
  • 我假设了五天,所以在L栏结束。根据需要调整。
  • 在每日工作表的B3中输入公式后,根据需要填写右边。
  • 请注意,公式中的第二个和第三个INDEX函数使用 0 作为列参数。这将返回整个列的数组。
  • 我会留给你弄清楚如何填补时代。

每周表

Weekly Table

每日表

Daily Table