跨列复制公式

我有一个包含4列的电子表格:A,B,C,D。

我想计算AB和CD之间的差异。 所以在E2单元格中input公式= A2-B2,得到我想要的结果,这是AB之间的差异。

现在我把E2中的公式拖到F2单元格中,期待Excel能“想”到现在我想要CD之间的区别。 但是,当我从列E拖动公式列get = B2-C2(你看,Excel假设我想再次使用B2)。

我的问题是:如何让excel“理解”我想在= A2-B2之后使用= C2-D2,而不是= B2-C2?

这是一个简短的例子。 原始数据集有数百列。 谢谢你的帮助。

用户界面中没有任何办法可以让Excel“思考”这么多,只有拖动它时,才会将引用移动一列。 如果删除中间的列不是一个选项,你需要重写你的公式,例如:

 = OFFSET(A1,0,COLUMN(L1)列($ L1)) -  OFFSET(B1,0,COLUMN(L1)列($ L1))

在这个例子中,假设你开始在列L中显示差异 – 当然你需要根据你的工作表进行调整 – 但是一旦完成,你可以拖拽公式到你需要的地方。

  1. 在E2中input公式
  2. 将公式拖至G2。 现在G2会有你想要的公式。
  3. 删除Col F.现在Col G将移动到Col F,这将有您需要的公式

由于您的原始数据集有数百列,因此您可能需要使用非易失性公式,例如:

=INDEX(A1:K1,1+COLUMN(L1)-COLUMN($L1))-INDEX(A1:K1,2+COLUMN(L1)-COLUMN($L1))

这将加速工作簿中的计算。 根据数据集的大小和工作簿中有多less其他公式,速度的差异可能是巨大的。

彼得的例子也适用同样的条件。