我有一张电子表格,其中的摘要页包含一周的选择列表和投资组合的选择列表。工作簿在单独的选项卡上有投资组合数据。我需要的是将不同投资组合选项卡中特定周的数据放入摘要表的单元格中。
例如投资组合 3 第 32 周的总预算
目前,我可以执行 VLOOKUP 来根据下拉菜单中选择的周数返回数据,但我需要有逻辑来查看正确的数据选项卡以获取正确的投资组合数据。
我在下面尝试过(但目前不起作用)的是:
=IF(C4="Portfolio 3",VLOOKUP(C3,'Portfolio 3'!D:E,2,IF(C4="Portfolio 4",VLOOKUP(C3,'Portfolio 4'!D:E,2,IF(C4="Portfolio 2",VLOOKUP(C3,'Portfolio 4'!D:E,2,FALSE))))))
答案1
该解决方案基于连接方法2
,我在示例表和中都使用过3
。
怎么运行的:
A41 & A42
在 单元格中输入工作表的名称Sheet 1
。Column B
在两个示例表中写入此公式以连接值=C2&D2
并向下填充。C41
在Sheet 1 的单元格中输入组合值。D41
现在在单元格中输入此数组公式Sheet 1
,最后完成Ctrl+Shift+Enter。{=VLOOKUP(C41,INDIRECT("'"&INDEX($A$41:$A42,MATCH(TRUE,COUNTIF(INDIRECT("'"&$A$41:$A42&"'!B2:E6"),C$41)>0,0))&"'!B2:E6"),4,0)}
注意:只要您在单元格中改变组合,C41
您就会获得新的数据。
編輯:
您还可以使用此公式通过多个条件从多个工作表中提取数据。
=LOOKUP(9.999999999E+307,CHOOSE({1,2,3},0,LOOKUP(2,1/((Sheet2!$C$2:$C$6=B$10)*(Sheet2!$D$2:$D$6=B$11)),Sheet2!$E$2:$E$6),LOOKUP(2,1/((Sheet3!$C$2:$C$6=B$10)*(Sheet3!$D$2:$D$6=B$11)),Sheet3!$E$2:$E$62)))
笔记:
- 单元格
B10
和B11
是中的标准Sheet 1
。 LOOKUP(9.999999999E+307
用于查找小于或等于查找值的最大值。- 其中计算和
Lookup(2,1/dataRange,,)
的数组,并忽略错误并返回与数组的 lats 数字元素关联的值。#DIV/0!'s
1's
LOOKUP
根据需要调整公式中的单元格引用。
答案2
我找到了一个更适合该问题的解决方案,现在已经奏效了:
=IF(C4="Portfolio 3",SUMIF(Table5[Financial Week],C3,Table5[Portfolio Stock Value]),IF(C4="Portfolio 4",SUMIF(Table6[Financial Week],C3,Table6[Portfolio Stock Value]),IF(C4="Portfolio 2",SUMIF(Table3[Financial Week],C3,Table3[Portfolio Stock Value]),IF(C4="National",SUMIF(Table1[Financial Week],C3,Table1[National Stock Value]),IF(C4="NDC",SUMIF(Table2[Financial Week],C3,Table2[NDC Stock Value]))))))