Excel公式计算差异b / w第一个值和最后一个列的值(Excel)?

我有以下列:(使用Excel公式)

AB ------------------------ 1 | Date | Value | ------------------------ 2 | 8/20/2011 | 92.8 | 3 | 8/21/2011 | 92.4 | 4 | 8/22/2011 | 91.8 | 5 | 8/23/2011 | 90.7 | 6 | 8/24/2011 | 91.1 | 7 | 8/25/2011 | | 8 | 8/26/2011 | | 9 | 8/27/2011 | | ------------------------ 

我想计算第一个值(B2)和最后一个值(B列中最后一个填充行)之间的差异,

编辑:

使用公式: =B2-B6不是必需的。 (我想单元格C2中的差异)

我想当用户inputB7中的值时,它会自动显示B2和B7之间的差异,当他填充B8时,它将显示B2和B8之间的差异,等等。

我不想要一些直接的方法在Excel中执行此操作,而不是通过迭代所有值来检查最后一个值。 请在Excel中build议最好的方法。

这更是一个逻辑问题!

纯粹的Excel解决scheme是受欢迎的,我可以手动做到这一点。

编辑:使用Excel公式!

我希望我解释我的问题妥善..

如果标题在A1和B1,而您的表是A2:B9例如,使用公式:

 =$B$2-OFFSET($B$2,COUNTA($B$2:$B$9)-1,0,1,1) 

要查找列中的最后一个数字,您可以在单列上使用VLOOKUP ,其中1E + 99是lookup_value ,可选range_lookup保留为默认值。 数据不必被sorting。

最后一个数字是VLOOKUP

C2中的公式是=VLOOKUP(1E+99,$B$2:$B$99,1)-B2 。 类似地,你可以用=VLOOKUP("zzzzz",$E$2:$E$99,1)find最后一个非空白字母值(例如在F2中)。

要查找混合有字母和数字值的最后一个非空值,请使用INDEX并将MAX应用于MATCH ,例如=INDEX(E2:E99,MAX(IFERROR(MATCH(1E+99,E2:E99),0),IFERROR(MATCH("zzzz",E2:E99),0))) 。 这些公式中的任何一个都可以很容易地进行调整,以便从对应于查找列中最后一个值的另一列中返回一个值。

我知道你不是在寻找一个纯粹的 Excel解决scheme,但你可以用不同的方式>>你可以用vb / vba添加一个Excel公式。

=B7-$B$2是需要的公式。

因此,你可以做一些事情:

 Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("B:B")) Is Nothing Then Target.Offset(0, 1).Formula = "=" & Target.Address & "-$B$2" End If End Sub 

用Excel公式单独做这件事的另一个较不优雅的方法是使用一个助手列,这是一个伸缩系列。

在C2列中,input0.在C3列中,使用公式

 =IF(B3="",0,B2-B3) 

复制表格的长度。 在底部,将所有内容加在辅助列中。