如何根据单元格值将地址传递给VlookupGoogle表格

问题描述

这让我感到难过,所以我希望知道适当功能的人可以帮助我。

我正在尝试做一个VLOOKUP,但是我想基于列中的值将Range传递进来。

Range与公式所在的表不在同一张纸上,我希望通过查找Forumla所在列顶部的值来确定范围的开始列。

例如,在所附的图像中,“仪表板”工作表的列A为工作表,最上面的行的最上面一行是小部件和链轮。

我希望公式成为搜索键“总计”的查找,并在其旁边的单元格中返回值。我希望Range从列A中指定的工作表开始,并且列是具有与公式所在列顶部的值相匹配的值的列。

所以我的公式看起来像

=VLOOKUP("Total",<INSERT RANGE HERE>,2)

我们将不胜感激。

链接到Google表格:

https://docs.google.com/spreadsheets/d/1H5At3gHeTQUm6PWqeA7MT5xcm5RJ38NK6LyhSWUeaZY/edit?usp=sharing

感谢堆栈溢出社区

Attached Screenshot

解决方法

我相信这就是您要寻找的。

在“仪表板”页面上,输入以下公式:

C3:

=vlookup("Total",indirect($A3&"!C1:D"),2)

D3:

=vlookup("Total",indirect($A3&"!C1:F"),4)

然后您可以选择C3:D3并向下拖动以自动填充。我尝试使用arrayformula,但没有用,但我可能做错了

ex

还要确保更改“位置1”和“位置2”以完全匹配工作表名称。

编辑:我刚刚看到了您的屏幕截图。这些公式也可以放在C2和D2中,我只是将它们放在工作表名称旁边,以跟踪我必须要做的事情。


根据评论进行编辑: 这是我最接近您要寻找的东西。

C3:
=vlookup("Total",indirect($A3&"!C1:"&ADDRESS(ROW(INDIRECT($A3&"!$C50")),COLUMN()+1)),2)

D3:
=vlookup("Total",indirect($A3&"!E1:"&ADDRESS(ROW(INDIRECT($A3&"!$E50")),2)

同样,可以毫无问题地拖动和自动填充这些列。


我具有以下公式,可以将其粘贴到仪表板C3单元格上,然后进行复制:= address(1,match(C $ 1,indirect($ A3&“!1:1”),0),$ A3)这将为我提供我想从工作表中获取的地址,即Position01!$ C $ 1另外,如果我使用以下公式,我将得到所需的值:= offset(Position01! $ C $ 1,7,1,1)但是,如果我尝试将两者结合起来,则会出现错误“参数必须是范围”。 = offset(address(1,match(C $ 1,indirect($ A3&“!1:1”),0),$ A3),7,1)

INDIRECT放在OFFSET的内部时,需要在第一个公式的前面添加=offset(INDIRECT(address(1,match(C$1,indirect($A3&"!1:1"),0),$A3)),1),以便它以范围而不是字符串的形式读取结果地址:
self.product_l.price * self.quantity

,

使用:

enum LoginPageViewController { }

0


更新:

如果您的项目包含24行,但列数未知,则可以使用范围:

=INDEX({VLOOKUP("Total",Position01!C:F,{2,4},0);
        VLOOKUP("Total",Position02!C:F,0)})

然后返回您可以做的每一列:

Position01!C1:24                                   (instead of Position01!C:F)

或者如果您想返回每第二列:

COLUMN(Position01!C1:1)-1                          (instead of {2,4})