找到第一个非空单元格的公式

时间:2012-01-23 18:52:29

标签: excel excel-formula

我有一个包含2列数据的电子表格,A列和B列,以及C列,我正在寻找公式。

row    A      B       C
 1     50
 2   
 3   
 4   
 5            56      6
 6   
 7   
 8     46            10
 9   
 10   
 11           64     18

如您所见,行包含或不包含值。在C列中,我想要计算

之间的差异

a)B列中的值和 A列第一个非空单元格中的值(例如,在第5行,我计算B5和A1之间的差值56 - 50 = 6)如果B的值是数字且

b)A列中的值和B列第一个非空单元格中的值(第8,56 - 46 = 10行)

如果A列和B列都不为空,则不加任何内容。

我一直在努力用“第一个非空单元格”来编写R1C1公式。请注意,我知道我可以在VBA中执行此操作,但我正在寻找R1C1公式。

感谢您的帮助。

2 个答案:

答案 0 :(得分:4)

这是一个数组公式(您需要使用 Ctrl + Shift + Enter 进行验证),您可以输入{{1}并拖放到数据的末尾:

C1

或者,在法语版的Excel中:

=IF(OR(A1<>"",B1<>""),INDEX($B$1:B1,MAX(IF($B$1:B1="",0,ROW($B$1:B1))))-INDEX($A$1:A1,MAX(IF($A$1:A1="",0,ROW($A$1:A1)))),"")

请注意,如果您有兴趣,可以提交Stackoverflow in french

答案 1 :(得分:3)

也许在C2中复制这个公式

=IF(B2="",IF(A2="","",LOOKUP(9.99E+307,B$1:B1)-A2),B2-LOOKUP(9.99E+307,A$1:A1))