在一个范围内find第一个负数的函数

我想在Excel中编写一个函数,在列中find第一个负数,然后返回此数字旁边的单元格。 例如

AB 1 1 2 56 3 7 4 -3 5 -4 6 -20 7 -50 

我写的是:

 {=INDEX(B1:B7,MATCH(TRUE,B1:B7<0),1)} 

但这在B列中find最小的数字。

我想要一个find第一个否定的函数,在这种情况下-3,然后给我A4(4)中的数字。

另外我需要它与空单元格一起工作。 我的意思是我想这个区域是例如B1:B200,但它只能看到其中有值的单元格。

较长的答案,但不需要input数组

 =INDEX(A1:A7,MATCH(TRUE,INDEX(B1:B7<0,0,1),0))