使用数据填充电子表格的公式

时间:2011-10-07 20:07:27

标签: excel spreadsheet worksheet-function array-formulas

我想在一定条件下填充一些细胞。问题是,我不知道如何只使用公式(不能使用宏或排序)。

无论如何,这是我的工作簿,其 ** **

**Sheet1**
TASK     Week
Test     1
Test2    1
Test3    1
Test4    2
Test5    3
Test6    2
Test7

**Sheet2**
Week
2

TASK
Test4
Test6

我一直想做的是:

  • 根据所选周数填充Sheet2任务。
  • 如果我选择第2周(在Sheet2中),它应该使用Sheet1中具有该周编号的任务填充任务列表(在同一工作表上)。

例如,现在它(假设)已经加载了一周== 2的任务。

有任何疑问,请告诉我!我希望我明白我的问题。

非常感谢你!

2 个答案:

答案 0 :(得分:2)

好的,我找到了更好的解决方案。这个需要在Sheet2上有一个额外的帮助列,但它至少会返回一个紧凑的匹配列表(没有奇怪的间距)。

在Sheet2上,在匹配列表的第一行(本例中为A3)中输入以下内容:

=IFERROR(INDEX(Sheet1!$A$1:$A$7,B3),"")

在下一列的相邻单元格(此处为B3)中输入以下内容:

=IFERROR(MATCH(2,Sheet1!$B$1:$B$7,0),"")

其中2是您匹配的一周#。

在下一行中输入以下公式(分别在A4和B4中):

=IFERROR(INDEX(OFFSET(Sheet1!$A$1:$A$7,SUM(B$3:B3),0),B4),"")

=IFERROR(MATCH(2,OFFSET(Sheet1!$B$1:$B$7,SUM(B$3:B3),0),0),"")

您可以根据需要填写此行公式。

答案 1 :(得分:1)

这是我想到的第一种方法。可能有更好,更优雅的解决方案,但我想我会分享。

如果您知道Sheet1列表中的任务总数,例如 n ,您可以执行以下操作:

  1. 在您需要匹配任务列表的工作表2上,从A4(或您想要列表顶部的任何内容)中选择下至A(4 + n -1)。因此,对于您的样本数据,请选择A4:A10
  2. 在不更改选择的情况下,键入以下公式:

    =IF(Sheet1!B2:B8=2,Sheet1!A2:A8,"")

    其中2是您要匹配的周#。

  3. 按Ctrl + Shift + Enter键输入公式。