我需要从“聚合”公式向左偏移1列。当前,如果满足条件,该公式将返回第K个最小值。
=AGGREGATE(15,6,$B$2:$C$1000/($A$2:$A$1000=$G$9),ROW(1:1))
基本上,如果满足条件,它将除以1,从而得出Aggregate的原始值。我想从1列中获取值,但是我不确定该怎么做。
只需使用:
=OFFSET(AGGREGATE(15,6,$B$2:$C$1000/($A$2:$A$1000=$G$9),ROW(1:1)),0,-1)
不起作用。
答案 0 :(得分:1)
偏移量作用于范围,而不是功能。您需要将OFFSET包裹在聚合函数的范围参数周围。
从您的问题中不清楚您要偏移一列的范围。将参数generateScopedName
偏移一列的示例是
$G$9
请注意,偏移量如何应用于范围,而不是功能。
但是,如果对G9使用相对单元格引用,则只需将公式复制到左侧的一个单元格中即可获得相同的结果。
例如,如果此公式位于单元格Z1中...
=AGGREGATE(15,6,$B$2:$C$1000/($A$2:$A$1000=offset($G$9,0,-1)),ROW(1:1))
(请注意,对G9的引用没有$符号,因此是相对的,因此在将公式复制到其他单元格时它会更改)
...如果将公式复制到单元格Y1,则可以得到带有Offset的更改结果。
使用此技术的辅助单元将比使用OFFSET快得多,因为OFFSET易失,并且每当更改一个单元时,都会导致整个工作簿的重新计算。因此,如果您认为工作簿很慢,请摆脱OFFSET和其他易失功能。