arrays - Excel - 参考内有 2 个数组的索引函数
问题描述
我部门的一个人写了这个复杂的公式,我不太明白这个函数是如何工作的,希望你能帮助我理解。函数写如下
=SUMPRODUCT((GLs=$B9)* INDEX(Ops INDIRECT(D$5),,)*(Periods=Period))/1000
我不明白的部分是 INDEX 部分。在数组的引用中,这个人在其中放入了 2 个数组,其中一个数组比另一个数组大。当我使用评估公式时,它返回如下索引函数(我只显示对 INDEX 公式的影响)
=SUMPRODUCT((GLs=$B9)* INDEX('Ops Asia'!$F$7:$BV$38 'Ops Asia'!$AV$7:$BG$545,,)*(Periods=Period))/1000
进一步的评估步骤将返回 INDEX 公式,如下所示
=SUMPRODUCT((GLs=$B9)* INDEX('Ops Asia'!$AV$7:$BG$38,,)*(Periods=Period))/1000
似乎通过将 2 个数组放在 INDEX 函数的引用部分中,会返回一个较小的数组。我从来没有听说过这种使用 INDEX 函数,希望有人能帮助我解释一下这种机制是如何工作的,是否有任何在线资源提到这种使用嵌套数组?
谢谢
解决方案
INDEX 用于提供两个范围的交集。一个更容易理解的例子可能是,
=SUM(INDEX(A:C 5:7, , ))
A:C 列和 5:7 行的交叉点(即重叠单元格)将是 A5:C7。请注意,INDEX 以其数组形式使用,没有提供行号或列号(尽管它们需要用空格表示,因此需要额外的逗号)。
我不确定 INDEX 是否=SUM(A:C 5:7)
和同样的事情一样是绝对需要的。它的使用可能只是将交集包含到 SUMPRODUCT 公式中的一种简单方法。
推荐阅读
- reactjs - React:一起渲染内部组件和图像
- sql - SQL CASE WHEN 在列中
- javascript - 使用 Puppeteer 使用 regex.match 过滤目录中的文件
- python - 使用python执行屏幕触摸功能
- google-cloud-platform - SQL CLOUD - 中止的连接日志
- python - Is there a more efficient way of converting tif files in Python?
- python - 使用请求进行 Web 抓取 -Python
- android - 如何在 ConstraintLayout 布局中设置 textview 水平 70 和 30 百分比
- javascript - JS Discord Bot 上线但不回复消息
- jquery - 在 MVC 中创建两个甚至更多的自动完成下拉列表