Excel:如何在一行中find最后的“有效”值

我有一个以下风格的工作簿:

| A | B | C | | 1 | y | | | 2 | y | | | 3 | n | | | 4 | y | | | 5 | n | | | 6 | n | | | 7 | y | | 

在列CI中,希望列B中具有“y”的当前行上方最后一个值。

所以,预期的产出将是:

 | A | B | C | | 1 | y | --- | | 2 | y | 1 | | 3 | n | 2 | | 4 | y | 2 | | 5 | n | 4 | | 6 | n | 4 | | 7 | y | 4 | 

注意:我其实想要做的就是Google表格,但是我猜一个普通的Excel函数就足够了。

非常感谢!

您的公式必须检查上一行中的“y”,因此在C2中,需要引用B1中的string,并使用A1中的数字或C中先前select的值。

所以公式是:

 =if(B1="y",A1,C1) 

下面是它的样子的截图: 在这里输入图像说明


根据OP的评论,这里是另一个屏幕截图,显示了上面问题中所要求的输出:

在这里输入图像说明

将下面的公式放入单元格C2 ,它的数组公式(不包括花括号,但按CTRL + SHIFT + ENTER来确认公式(而不是只是ENTER

{=MAX(($B$1:$B1="y")*$A$1:$A1)}

您可以拖动该公式。 我还没有在Google Docs上testing过这个function,但是它可以和excel一起使用。

请在C2中尝试复制下来:

 =IF(B1="y",MAX(A$1:A1),C1)