如何使用 INDIRECT 动态更改工作表名称时使用公式选择工作表

问题描述 投票:0回答:1

我想在 C3 中设置一个 ARRAYFORMULA 或类似的东西,它可以在使用 INDIRECT 动态更改名称时读取工作表,因此我可以使用 XMATCH 获得每个值的位置:

Here the issue

What's inside a sheet

我第一次尝试这样做是在D3

XMATCH(A3:A;间接(B3:B&"!$1:$1"))

但这有两个问题: 1:列的长度 AB 可以动态变化,所以 C 必须是动态的。 2:不干净

C3中我设置了以下公式:

ARRAYFORMULA(XMATCH(A3:A;间接(B3:B&"!$1:$1")))

也尝试过:

ARRAYFORMULA(XMATCH(A3:A;query(INDIRECT(B3:B&"!$1:$1");"select *")))

您可以看到这仅适用于第一个工作表名称“WHISKEY.US”,这看起来很合乎逻辑。

我敢打赌我们必须使用 MAP ,但是工作表的数量可能会改变,所以我们无法初始化东西。

google-sheets google-sheets-formula array-formulas
1个回答
1
投票

你能试一试吗:

=map(A3:A;B3:B;lambda(a;b;if(len(a)*len(b);xmatch(a;indirect(b&"!1:1"));)))
© www.soinside.com 2019 - 2024. All rights reserved.