Arrays SUMPRODUCT没有';t识别偏移阵列
我正在做一个Excel练习,其中我需要Arrays SUMPRODUCT没有';t识别偏移阵列,arrays,excel,Arrays,Excel,我正在做一个Excel练习,其中我需要SUMPRODUCT两个相关值表。不幸的是,我不能确定这些表的顺序是否总是相同的 为了解决这个问题,我在新的第三个表中查找了它们的值;这是可行的,但是我现在正在寻找一种在一个单元中实现的方法 我的代码目前是 SUMPRODUCT(Resources_Used18[In House],OFFSET(Rate_comparison[Role],MATCH(Resources_Used18[Role],Rate_comparison[Role],0)-1,1))
SUMPRODUCT
两个相关值表。不幸的是,我不能确定这些表的顺序是否总是相同的
为了解决这个问题,我在新的第三个表中查找了它们的值;这是可行的,但是我现在正在寻找一种在一个单元中实现的方法
我的代码目前是
SUMPRODUCT(Resources_Used18[In House],OFFSET(Rate_comparison[Role],MATCH(Resources_Used18[Role],Rate_comparison[Role],0)-1,1))
然而,出于某种原因,这似乎不起作用,只会返回零。偏移量(,MATCH())
用于重建第二个数据数组,这似乎有效,当我使用F9
对其进行测试时,它会生成我期望的数组
另外,当我手动输入数组时,它会提供正确的答案
因此,我认为错误一定是由于SUMPRODUCT
未能将其识别为数组
错误在哪里?如何更正公式?谢谢你的帮助
编辑:实际上我需要自己更正,OFFSET
在其单元格中运行时生成正确的数组,但是在运行单元格后,如果我不按ctrl-shift-enter键,则会生成一个错误数组。
编辑:编辑:我正在查找的数据类型的一个示例是
比率比较
及
使用的资源18
我以前见过这个问题,无法解释。但是,如果将
OFFSET
函数括在N
函数中,则会返回实际值
但是,我没有检查结果(59300)是否正确
=SUMPRODUCT(Resources_Used18[ [ In house ] ],N(OFFSET(Rate_Comparison[ [ Role ] ],MATCH(Resources_Used18[ [ Role ] ],Rate_Comparison[ [ Role ] ],0)-1,1)))
根据,OFFSET函数与数组一起用作第二个或第三个参数时,返回只有Excel才能理解的未记录数据结构。N函数将内部结构中的数据转换为可显示或用于进一步分析的数据。Laurent Longre发现N函数的此功能值得称赞。如果您提供指向以下示例工作表的链接:演示此问题后,将更容易帮助您调试。不幸的是,工作表是练习的一部分。我有权提问,因为老师找不到方法,但是他们自己的工作表不属于我。然后创建一个类似的工作表来演示问题,然后发布。最好的方法是将文件上传到一些公共文件共享网站,不需要注册就可以从Dropbox或OneDrive下载,然后在这里发布一个链接。如果数据很小,您可以尝试。这只会显示数据,因此请确保在您的问题中明确适用的公式。@J.Blake可能会这样认为,但如果您检查偏移函数的输出,它们似乎是数字<代码>=OFFSET(Resources\u Used18[[Role]],MATCH(Rate\u Comparison[[Role]],Resources\u Used18[[Role]],0),1,1,1)-->{28;0;27;26;31;30;29;25;24}@J.Blake我已经编辑了我的答案,以显示对
N()
函数需求的可能解释
| Role | In house |
|------|----------|
| 9 | 23 |
| 8 | 24 |
| 4 | 25 |
| 3 | 26 |
| 1 | 27 |
| 7 | 28 |
| 6 | 29 |
| 5 | 30 |
| 2 | 31 |
=SUMPRODUCT(Resources_Used18[ [ In house ] ],N(OFFSET(Rate_Comparison[ [ Role ] ],MATCH(Resources_Used18[ [ Role ] ],Rate_Comparison[ [ Role ] ],0)-1,1)))