@moistrenko

Как при отборе формулой QUERY с лимитом 2 повторить данные с предыдущей строки, если вторая будет пустой?

Добрый день)

Имеется формула QUERY для выборки определенных строк
=QUERY('Лист 1'!A:AK;"SELECT * WHERE (I contains 'Данные 1' AND AB = 'Моно' AND D > '199') ORDER BY C ASC, D DESC LIMIT 2";0)

Т.е. по заданным параметрам выбираются две строки
Есть две проблемы важная и не очень:
1 важная: как сделать так, что если нужных данных меньше, т.е. выводится только одна строка- то вторая бы не оставалась бы пустой, а копировала бы предыдущую строку?
2 не такая важная: если данные в столбцах A,C, D при выводе строк будут одинаковые- то дубль бы не выводился, а продолжал поиск следующего подходящего по параметру?
  • Вопрос задан
  • 45 просмотров
Решения вопроса 1
ProgrammerForever
@ProgrammerForever Куратор тега Google Sheets
Учитель, автоэлектрик, программист, музыкант
п1:
=LAMBDA(data;if(ROWS(data)<2;{data;data};data))(ваша_формула)

п2:
Получайте все строки, оборачивайте всё в UNIQUE() и берите от этого функцией ARRAY_CONSTRAIN() первые 2.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы