Местоположение
Украина, Одесская обл., Одесса

Достижения

Все достижения (2)

Наибольший вклад в теги

Все теги (5)

Лучшие ответы пользователя

Все ответы (17)
  • Почему MATCH может выдавать неверный результат?

    Geleoss
    @Geleoss
    Любитель таблиц
    ПОИСКПОЗ(запрос; диапазон; метод_поиска)
    1 (значение по умолчанию) указывает функции ПОИСКПОЗ, что диапазон отсортирован в порядке возрастания. Функция возвращает наибольшее значение среди всех значений, которые меньше или равны запросу.
    0 указывает функции, что требуется вернуть точное совпадение. Применяется в случаях, когда диапазон не отсортирован.


    Вам же нужно в своей функции указать 0, =MATCH(B2;B:B;0).
    Ещё лучше, не "растягивать" формулу по ячейкам, а воспользоваться формулой массива:
    =ArrayFormula(IFNA(MATCH(B2:B;B:B;0)))
    Ответ написан
    2 комментария
  • Почему не появляется QR-код при введении формулы?

    Geleoss
    @Geleoss
    Любитель таблиц
    QR-cервис гугла отключен.

    Используйте любой сторонний сервис. Например, quickchart.io.
    Документация по формированию запроса.

    =IMAGE("https://quickchart.io/qr?text="&A1&"&size=500x500")
    Ответ написан
    Комментировать
  • Зафиксировать дату с использованием функции TODAY()?

    Geleoss
    @Geleoss
    Любитель таблиц
    Попробуйте вот такой хак:
    =LAMBDA(tmp;IF(A123;tmp;))(NOW())
    , где A123 - ячейка с вашим флажком
    Ответ написан
    4 комментария
  • Как через запрос query в консолидированной таблице google sheets добавить столбец с названием листа?

    Geleoss
    @Geleoss
    Любитель таблиц
    1. Делаете служебный лист c названиями всех имеющихся листов (городов) в Вашей таблице.
    Можете сделать это вручную, можете скриптом, он достаточно простой.
    Можно даже запускать такой скрипт при открытии таблицы автоматически, если предполагается изменение количества страниц.

    2. Собираете данные со всех листов, но в первую колонку вставляете название листа.
    Делаетеся это такой формулой:
    =REDUCE({"Город"\"Продукт"\"Дата"\"Сумма"\"Менеджер"};
      tocol('Города'!A2:A;1);
      LAMBDA(acc;city;
        VSTACK(acc;
          BYROW(INDIRECT(city&"!A2:D");LAMBDA(_row;{city\_row})))
      )
    )


    Reduce - сводит воедино данные по страницам (городам в Вашем случае). lambda - составная часть этой функции.

    TOCOL cо вторым параметром 1 используется в данном случае чтоб убрать пустые строки, так как количество городов неизвестно и мы используем открытый диапазон A2:A.

    VSTACK - объединяет массивы. В данном случае - массив acc, результат предыдущих итераций reduce, с текущим.

    BYROW - используется для построчной обработки данных. В данном случае - для формирования строки из названия текущего города (city из текущей итерации reduce) и каждой строки со страницы текущего города.

    3. Эту формулу оборачиваете в нужный вам QUERY, где в том числе фильтруете пустые строки.

    Вот ваш QUERY:
    664066ab55d26686658205.png

    А вот так он будет выглядеть, когда в качестве "входящего" диапазона используется формула из п2.
    6640679b896d2483327392.png

    =QUERY(
      REDUCE(...
      );
      "SELECT ..")
    Ответ написан
    2 комментария