Lookup Acct. Остаток на указанный день в Google Таблицах

Звучало так просто! У меня есть лист под названием «Счет», содержащий текущий баланс в столбце «G», и у меня есть еще один лист под названием «Производительность» с таблицей, в которой перечислены исторические даты, а в столбце «D» необходимо найти баланс счета в указанный день. в столбце «А».

Лист «Учетная запись»  Аккаунт

Лист "Производительность"
 Производительность

Например, «Производительность! D2» должна быть «210 000,00».
Производительность! D7 должна быть «110 000,00».
Производительность! D9 должна быть «40 000,00».

Чтобы сделать это немного сложнее, я предпочитаю помещать формулы в строку заголовка в виде формул массива, где это возможно, чтобы избежать проблем при копировании и вставке данных или добавлении новых строк и т. Д.

Я пробовал много разных возможностей, но ничего не помогло. В настоящее время я пытаюсь заставить работать следующую формулу, которая находится в Performance! D1.

=ARRAYFORMULA(if(row(D1:D) = 1, "Cash", VLOOKUP(A1:A, MIN('Balance'!A4:A <= A1:A), 7, 1)))

Я также пробовал некоторые решения, включающие MATCH (), FILTER (), VLOOKUP () и LOOKUP (), но пока никаких файлов cookie!


person Peter White    schedule 01.06.2020    source источник


Ответы (1)


это должно работать:

=ARRAYFORMULA({"Cash";if(A2:A="",,VLOOKUP(A2:A, SORT('Account'!A4:G),7,TRUE))})

ВПР (..., истина) возвращает значение, связанное с ближайшим соответствием в первом столбце, без перехода. При условии, что диапазон, в котором вы выполняете vlookup, сортируется по первому столбцу этого диапазона.

person MattKing    schedule 01.06.2020
comment
Фантастика! Я потратил весь день, пытаясь понять это. Прекрасно работает. Столбец всегда сортируется по первому столбцу, так как новые записи всегда добавляются последовательно. - person Peter White; 01.06.2020
comment
Рад, что это сработало. Если этот диапазон всегда будет отсортирован, вы можете технически избавиться от SORT (), который у меня там есть. Кроме того, поскольку значение TRUE по умолчанию, вы также можете избавиться от этого, оставив просто .... = ARRAYFORMULA ({Cash; if (A2: A = ,, VLOOKUP (A2: A, 'Account'! A4: G , 7))}) - person MattKing; 01.06.2020
comment
Понятно. Спасибо. - person Peter White; 02.06.2020