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。
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)
复制表格的长度。 在底部,将所有内容加在辅助列中。