14

Sheet1 具有 A 到 D 列,其中 A 包含唯一的记录键。

在 Sheet2 上,我想根据自己的排序顺序重新排列数据。列 A 包含我自己的自定义排序记录键。

到目前为止,我在 Sheet2 上所做的是;我将 B 列中的记录位置计算为

=ARRAYFORMULA(MATCH(A1:A100,Sheet!A:A,0))

而且我一直在尝试使用 ARRAYFORMULA INDIRECT 一次性获取数据。我可以正确使用单行

=ARRAYFORMULA(INDIRECT(("Sheet1!B"&B1&":D"&B1)))

我想要的是下面的东西,但它仍然只返回第一行。

=ARRAYFORMULA(INDIRECT(("Sheet1!B"&B1:B100&":D"&B1:B100)))

帮助。

4

1 回答 1

15

不幸的是,INDIRECT 不支持对数组进行迭代。

幸运的是,VLOOKUP 可以,也意味着您不需要辅助列。所以:

=ArrayFormula(VLOOKUP(A1:A100,Sheet1!A:D,{2,3,4}*SIGN(ROW(A1:A100)),0))

新版本的 Sheets中,第三个参数可以简化:

=ArrayFormula(VLOOKUP(A1:A100,Sheet1!A:D,{2,3,4},0))

于 2013-12-17T10:20:39.247 回答