首页 文章

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

提问于
浏览
1

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

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

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

  • 2

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

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

    • 在要获得匹配任务列表的工作表2上,从A4(或您希望列表顶部的任何内容)中选择下至A(4 n-1) . 因此,对于样本数据,请选择A4:A10

    • 如果不更改选择,请键入以下公式:

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

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

    • 按Ctrl Shift Enter输入公式 .
  • 1

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

    您可以根据需要填写这一行公式 .

相关问题