Возврат последнего значения из функции FILTER в листах Google - PullRequest
1 голос
/ 11 января 2020

Я использую Google Sheets и хотел бы получить последнее значение в столбце при его фильтрации на основе значений в отдельном столбце, как показано на скриншоте:

Screenshot of example spreadsheet

Я хотел бы получить последнее значение из столбца A, где значение в столбце B соответствует значению, указанному в ячейке D1.

Мне удалось сделать это с помощью следующего :

=INDEX(FILTER($A:$A,$B,$B=$D$1),COUNTA(FILTER($A:$A,$B:$B-$D$1)),1)

Это работает, но, кажется, нет необходимости иметь второй ФИЛЬТР и СЧЕТЧИК, так как это усложняет понимание. Нет ли способа, которым я могу просто вернуть последнее значение из функции FILTER?

С момента публикации я нашел другой способ, который является более кратким, но я должен признаться, что на самом деле не понимаю, как это работает:

=ArrayFormula(LOOKUP(2,1/($B:$B=$D$1),$A:$A))

Ответы [ 2 ]

1 голос
/ 11 января 2020

Здесь вы узнаете о sort и array_Constrain:

=array_constrain(filter(sort({A1:A,row(A1:A)},2,false),B1:B=D1),1,1)

, или вы можете использовать запрос:

=query(filter({A1:A,row(A1:A)},B1:B=D1),"Select Col1 order by Col2 desc limit 1")

, или вы можете использовать косвенный:

=indirect("A" & max(filter(row(A:A),B:B=D1)))
1 голос
/ 11 января 2020

Я знаю, что так я иногда делаю. он использует опцию VLOOKUP (.... TRUE) [по умолчанию].

= VLOOKUP (9 ^ 99, ФИЛЬТР ({ROW (A: A), A: A}, B: B = D1), 2)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...