SUMPRODUCT无法识别OFFSET数组

时间:2017-07-12 11:30:16

标签: arrays excel

我正在进行Excel练习,其中我需要SUMPRODUCT两个相关值表。不幸的是,我无法确定这些表总是以相同的顺序排列。

为了解决这个问题,我已将他们的价值观提升到新的第三张表中;这有效,但我现在正在寻找一种方法在一个单元格中完成。

我的代码目前正在

SUMPRODUCT(Resources_Used18[In House],OFFSET(Rate_comparison[Role],MATCH(Resources_Used18[Role],Rate_comparison[Role],0)-1,1))

出于某种原因,这似乎不起作用,只返回零。 OFFSET(,MATCH())用于重建第二个数据数组,这似乎有效,当我用F9测试它时,它会产生我期待的数组。

此外,当我手动输入数组时,它会提供正确的答案。

所以我认为错误必须是SUMPRODUCT无法将其识别为数组。

错误在哪里?如何更正我的公式?谢谢你的帮助。

编辑:实际上我需要纠正自己,OFFSET在运行单元格时生成正确的数组但是在运行单元格之后如果我没有ctrl-shift-enter然后产生一个错误数组。 编辑:编辑:我正在寻找的数据类型的一个例子是,

Rate_comparison

| Role | Rate |
|------|------|
| 1    | 50   |
| 2    | 100  |
| 3    | 150  |
| 4    | 200  |
| 5    | 250  |
| 6    | 300  |
| 7    | 350  |
| 8    | 400  |
| 9    | 450  |

Resources_Used18

| Role | In house |
|------|----------|
| 9    | 23       |
| 8    | 24       |
| 4    | 25       |
| 3    | 26       |
| 1    | 27       |
| 7    | 28       |
| 6    | 29       |
| 5    | 30       |
| 2    | 31       |

1 个答案:

答案 0 :(得分:0)

我以前见过这个问题,无法解释。但是,如果将OFFSET函数括在N函数中,则会返回实际值。

我没有检查结果(59,300)是否正确。

=SUMPRODUCT(Resources_Used18[ [ In house ] ],N(OFFSET(Rate_Comparison[ [ Role ] ],MATCH(Resources_Used18[ [ Role ] ],Rate_Comparison[ [ Role ] ],0)-1,1)))

根据Tushar Metar,OFFSET函数与数组一起用作第二个或第三个参数时,返回一个只有Excel才能理解的未记录的数据结构。 N功能将内部结构中的数据转换为可以显示或用于进一步分析的数据。 Laurent Longre因发现N功能的这种能力而值得称赞。