2011-10-07 80 views
1

我想在某些条件下填充某些单元格。事情是,我不知道如何用公式来做到这一点(不能使用宏或排序)。使用数据填充电子表格的公式

不管怎么说,这是我的工作簿,其** **

**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

好的,我找到了一个更好的解决方案。这需要在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),"") 

你可以就你喜欢填下此行的公式。

+0

不错的解决方案。请注意,IFERROR(这非常有用)可用于Excel 2007或更高版本。 – JMax

+0

比最初预想的更复杂,但是很好。非常感谢你! –

1

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

如果你知道在你的名单上的工作表Sheet1任务的总数,说ñ,你可以做到以下几点:

  1. 在表2,您希望您的配套任务列表,从A4选择(或者你想要列表顶部的任何东西)降至A(4+ n -1)。因此,对于你的样本数据中,选择A4:A10
  2. 不改变选择,键入以下公式:

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

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

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

它可以工作,但还有其他的东西:它像原始的那样在相同的行级显示值。我的意思是,如果Test5位于Sheet1的第五个单元格中,则此公式将使其显示在目标范围的第五个单元格中。任何想法如何改变这一点?它应该将它们显示为Sheet2上的第一个值(目标范围)。我想这是因为你的配方工作方式(每个细胞)。 –

相关问题