我在单元格B5中编写了以下公式
=SUMPRODUCT(--(COLORINDEXOFRANGE(Data!D10:HO10,FALSE,1)=COLORINDEXOFONECELL(Data!$F$3,FALSE,1)))
当我从B5向下拖动到下一行时,公式中的单元格变为COLORINDEXOFRANGE(Data!D11:HO11,FALSE,1)
但我希望列号保持不变,只需要将行号更改为,例如单元格C5为COLORINDEXOFRANGE(Data!E10:HO10,FALSE,1)
,单元格D5为COLORINDEXOFRANGE(Data!F10:HO10,FALSE,1)
,依此类推。
COLORINDEXOFRANGE是我在互联网上找到的内置功能。
请帮忙。感谢
答案 0 :(得分:3)
如果范围的结尾保持不变,那么您可以使用INDEX
更改范围的开头,即用
Data!D10:HO10
=INDEX(Data!D$10:HO$10,ROWS(B$5:B5)):Data!HO$10
此类型的INDEX公式只是半挥发性的(它们在打开工作表时重新计算),这可能比完全不稳定的OFFSET
和INDIRECT
函数更好。 ROWS
函数也优于ROW
,因为它将处理在公式上方插入(或删除)的行而不更改结果
答案 1 :(得分:1)
要从水平参考更改为垂直参考,我使用OFFSET
,我使用=OFFSET('Forecast'!$I$17,COLUMN()-3,0)
引用另一个工作表中的值,以便参考的列()成为行参考
答案 2 :(得分:0)
有几种方法可以解决这个问题,即将丢弃的公式拖到固定的引用单元格中:
ROW()
引用当前行号,因此ROW() - 1
会显示上一行号。INDIRECT()
,看看文档,但这可以用作INDIRECT(“R5C”& COLUMN(),FALSE)答案 3 :(得分:0)
我遇到了类似的问题:拖动一个值,没有按预期增加。问题是我有过滤器应用于数据。删除过滤器可恢复功能。