Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays SUMPRODUCT没有';t识别偏移阵列_Arrays_Excel - Fatal编程技术网

Arrays SUMPRODUCT没有';t识别偏移阵列

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))

我正在做一个Excel练习,其中我需要
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)))