首页 文章

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

提问于
浏览
4

我有一个包含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列和 the value in column A's first non-empty cell directly above 中的值(例如,在第5行,我计算B5和A1之间的差值56-50 = 6)如果B的值是一个数字并且

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

如果A列和B列都不为空,则不要输入任何内容 .

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

谢谢你的帮助 .

2 回答

  • 3

    这是一个数组公式(您需要使用Ctrl Shift Enter验证),您可以放入 C1 并拖放到数据末尾:

    =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)))),"")
    

    或者,在法语版的Excel中:

    =SI(OU(A1<>"";B1<>"");INDEX($B$1:B1;MAX(SI($B$1:B1="";0;LIGNE($B$1:B1))))-INDEX($A$1:A1;MAX(SI($A$1:A1="";0;LIGNE($A$1:A1))));"")
    

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

  • 4

    也许在C2中复制这个公式

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

相关问题