find某个单元格上方的第一个特定值

我正在寻找一种方法来查找特定单元格上方的第一个特定值。 使用下面的例子,在结果列中,每次我在COL2中点击A时,我需要将COL1中的值减去上面的第一个A值。

麻烦似乎find一种方法来保持范围dynamic…我想=IF(B5="A";A5-INDIRECT("A"&MATCH("A";B:B;0));"")

但是,当然,这只适用于第一个,因为比赛总是拿起第一个。

有任何想法吗? 谢谢!

例如:

 COL1 COL2 Result 1 A 2 0 3 0 4 A 4 - 1 = 3 5 0 6 A 6 - 4 = 2 7 0 8 0 9 0 10 A 10 - 6 = 4 

尝试这个:

 =IF(AND(ROW(B2)<>2,B2="A"),A2-INDEX($A$1:$A1,AGGREGATE(14,6,ROW($1:1)/($B$1:$B1="A"),1)),"") 

![在这里输入图片描述

AGGREGATE()函数是在2010年推出的。

  • 在D2中input=IF(B2="A",A2-INDIRECT("A"&MATCH("A"&(E2-1),F:F,0)),"")
  • 在E2中input=IF(B2="a",COUNTIFS($B$2:B2,"a"),"")
  • 在F2中input=B2&E2
  • 从D,E和F向下复制所有行的公式

D列是你正在寻找的结果