Возвращает заголовок столбца для последней даты в Google Sheets в виде формулы массива - PullRequest
0 голосов
/ 07 сентября 2018

У меня есть несколько столбцов, используемых для отслеживания некоторых этапов записей в Google Листах с датами. Мне бы хотелось, чтобы столбец возвращал последнюю стадию для каждой записи, предпочтительно с использованием формулы массива, поскольку этот список будет постоянно добавляться, а копирование формул вниз в новые строки - это боль (это то, что закончится с конечным пользователем, поэтому должен быть простым).

Это образец моего желаемого ввода / вывода. Desired output

Я пытался использовать формулы массива в сочетании с этим приемом поиска , но я думаю, что изменение входных данных этой формулы на многострочные диапазоны означает, что результат игнорирует строку, в которой находится запись. Например, завершение поиска в ARRAYFORMULA и применение его к примеру возвращает «Stage4» в каждой строке. В качестве альтернативы я думаю, что мог бы быть способ сделать это, используя QUERY / FILTER, но я ничего не получаю. Спасибо всем.

РЕДАКТИРОВАТЬ: Для пояснения, «Этапы» не будут пронумерованы, но будут текстовыми полями (потенциально динамическими, поэтому я не хочу использовать HLOOKUP).

1 Ответ

0 голосов
/ 08 сентября 2018

Предполагая, что "Stage1" находится в ячейке A2 и что вы можете не этапы прыжка. Вы можете использовать эту формулу для F3 для автоматического заполнения вашего вывода:

=ArrayFormula(transpose(
    split(
      concatenate(
        if((A3:D<>"")*(B3:E=""),A2:D2,"")&
        if(column(A2:D2)=column(D2),char(9),"")
      )
      ,char(9),true,false
    )
 ))

Вы можете видеть, что мы определяем стадию, проверяя не пустой , за которым сразу следует пустой один. Отсюда никаких этапов прыжка правило :-) Кроме того, для этого требуется дополнительный пустой столбец после последнего столбца этапа (в вашем примере столбец E должен быть пустым ).

ps: добавлен бонус, эта формула также работает для строк без этапа; -)

...