Sheet1包含A到D列,其中A包含唯一的记录键。
在Sheet2上我想根据自己的排序顺序重新排列数据。 Colum 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)))
帮助。
答案 0 :(得分:12)
不幸的是,INDIRECT不支持对数组进行迭代。
幸运的是,VLOOKUP可以,也意味着您不需要帮助列。所以:
=ArrayFormula(VLOOKUP(A1:A100,Sheet1!A:D,{2,3,4}*SIGN(ROW(A1:A100)),0))
并且在new version of Sheets中,第三个参数可以简化:
=ArrayFormula(VLOOKUP(A1:A100,Sheet1!A:D,{2,3,4},0))