使用Excel公式A1 / $ A $ 1,在另一个单元格值更改时更改$ A $ 1参考

在下面的(非常简化的)例子中,我想计算第B1/$B$1行的B1/$B$1 ,并重复每行(即B2/$B$1B3/$B$2等)。 当列A的值发生变化时,我需要将它在第B4/$B$4行中更改为B4/$B$4 4,然后在第6行中更改B4/$B$4 B6/$B$6 6(依此类推)。

  AB ----------- 1| 2 2 2| 2 5 3| 2 8 4| 3 2 5| 3 4 6| 4 15 7| 4 3 8| 4 7 

希望这是有道理的。 任何公式/macros的build议非常赞赏。

您可以使用“助手”列C,其中可以根据A列中的值的变化计算每行的分母。然后,您可以使用相对链接计算列D中的结果。

例:

 A | B | C | D 2 | 2 | =B1 | =B1/C1 2 | 5 | =IF(A2<>A1,B2,C1) | =B2/C2 2 | 8 | =IF(A3<>A2,B3,C2) | =B3/C3 3 | 5 | =IF(A4<>A3,B4,C3) | =B4/C4 3 | 4 | =IF(A5<>A4,B5,C4) | =B5/C5 4 | 9 | =IF(A6<>A5,B6,C5) | =B6/C6 4 | 3 | =IF(A7<>A6,B7,C6) | =B7/C7 4 | 7 | =IF(A8<>A7,B8,C7) | =B8/C8 

请注意,您将需要为第1行(单元格C1)设置初始值。 从第2行开始,您可以简单地从C2:D2复制粘贴公式。

不,不是很清楚你想要做什么。 但是,如果使用列A指定B中的公式正在使用的单元格,则应该使用OFFSET函数。

例如:将单元格A5设置为5.在单元格C5中使用=B5 / OFFSET($B$1,A5-1,0)

这与=B5/B5相同。 但是,如果将单元格A5更改为7,则它与=B5/B7相同。