gpt4 book ai didi

google-sheets - 如何在 ARRAYFORMULA() 中使用 INDEX()?

转载 作者:行者123 更新时间:2023-12-03 21:53:37 24 4
gpt4 key购买 nike

我正在尝试使用 INDEX() ARRAYFORMULA() 中的公式.作为一个简单的(无意义的)示例,列 A 中有 4 个元素,我期望在B1中输入以下数组公式将显示来自 A 的所有四个元素在栏目B :

=ARRAYFORMULA(INDEX($A$1:$A$4,ROW($A$1:$A$4)))

但是,这只会填充字段 B1具有在 A1 中找到的值.

当我进入
=ARRAYFORMULA(ROW($A$1:$A$4))

B1 ,然后我确实看到所有数字 1 到 4 都出现在 B 列中.为什么我的第一个数组公式不像第二个那样展开?

最佳答案

如果将数组用作其参数之一,则 INDEX 函数不支持对数组进行“迭代”。我所知道的没有这方面的文件;就是这样。因此,第二个参数将始终默认为数组的第一个元素,即 ROW(A1)。

实现所需内容的一种笨拙的解决方法依赖于源数据* 旁边的第二个相邻列(尽管第二列中的实际值并不重要):
=ArrayFormula(HLOOKUP(IF(ROW($A$1:$A$4);$A$1);$A$1:$B$4;ROW($A$1:$A$4);0))
或者确实是这样的:
=ArrayFormula(HLOOKUP(IF({3;2;4;1};$A$1);$A$1:$B$4;{3;2;4;1};0))
编辑 2015-06-09

* 在最新版的表格中,这不再是一项要求; HLOOKUP 中的第二个参数可以是 $A$1:$A$4。

关于google-sheets - 如何在 ARRAYFORMULA() 中使用 INDEX()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16140642/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com