Внутри формулы помещается много условий с поиском других столбцов по названию первой строки, что и требовалосьНапример, Причина, Ответ, Дата коммуникации 2 и проч ИНДЕКС($A$2:$J$13;0;ПОИСКПОЗ("Статус коммуникации "&$L6; $A$1:$J$1; 0)); "Решено") или ИНДЕКС($A$2:$J$13;0;ПОИСКПОЗ("Статус коммуникации "&$L6; $A$1:$J$1; 0)); "Отказ") или ИНДЕКС($A$2:$J$13;0;ПОИСКПОЗ("Причина отказа "&$L6; $A$1:$J$1; 0)); "<>") или ИНДЕКС($A$2:$J$13;0;ПОИСКПОЗ("Причина отказа "&$L6; $A$1:$J$1; 0)); "Бюджет") и т.д.
Важно, что везде проверяется соответствие название единственному столбцу по первой строке и ведется поиск и подсчёт всех данных, заполненных по строкам на ФИО сотрудника. Хотя было бы отличной возможностью собирать данные из ячеек с датами, соответствующими искомому периоду в разных столбцах с одинаковым наименованием и разных строках с одинаковым наименованием.
Согласна Давайте пресекать Думаю, если я закреплю столбцы за определенным периодом, т.е. дату 05.09 нельзя будет вносить в следующие столбцы с датами, только в столбец с названием "Дата коммуникации 01.09-08.09", в таком случае будет легче доработать формулу.
Столбец Дата коммуникации вариант найден: =ЕСЛИОШИБКА(СЧЁТЗ(LET(tab; CHOOSECOLS($A$1:$J$13; ПОИСКПОЗ("Дата коммуникации "&$L6;$A$1:$J$1;0));FILTER(tab;$A$1:$A$13=$M6)));0) Хотела бы еще в эту формулу добавить условие, чтобы соседний столбец Статус был обязательно заполнен, пока не получается.
Но главное - нет решения по добавлению доп условий по столбцу Статус: Решено, В процессе и Отказ Может быть, это можно написать через query, sos)) понимаю, что это точно можно сделать. Пробовала использовать ТРАНСП, ИНДЕКС + ПОИСКПОЗ
Прошу, посмотрите, можно ли сводную таблицу разложить в удобную табличку данных, посчитав количество коммуникаций. Не получается соединить и поиск по названию столбцов, и соответствие датам + подсчёт всех встречающихся подходящих значений (ПОИСКПОЗ у меня ищет только первый встретившийся столбец и дальше не смотрит).
Подсчет по конкретным столбцам не подходит, т.к. столбцы добавляются менеджерами то слева, то справа, пыталась посчитать подходящие значения по первой строке в названиях столбцов "Дата коммуникации*", "Статус коммуникации*", "ФИО" и "Причина" через query и let (tab; CHOOSECOLS).
Соответствие дате смотрю формулами ">="&ДАТАЗНАЧ(ЛЕВСИМВ($L2;5)) и "<="&ДАТАЗНАЧ(ПРАВСИМВ($L2;5)). Как докрутить и запихать все в одну формулу или в 4 - для каждого столбца. Пример как должна выглядеть табличка, добавила.
Вот мой вариант без суммирования =ЕСЛИОШИБКА(LET(tab;CHOOSECOLS('Лист3'!$A$1:$D$7;ПОИСКПОЗ(B4;'Лист3'!$A$1:$D$1;0));FILTER(tab; CHOOSECOLS(tab;1)>0;'Лист3'!$A$1:$A$7=A$5));0)
А это вариант с последовательной проверкой Разндат для определения диапазона суммирования =ЕСЛИ(РАЗНДАТ(A5;A6;"M")=0;ЕСЛИОШИБКА(LET(tab;CHOOSECOLS('Лист3'!$A$1:$D$7;ПОИСКПОЗ(B4;'Лист3'!$A$1:$D$1;0));FILTER(tab; CHOOSECOLS(tab;1)>0;'Лист3'!$A$1:$A$7=A5));0);
Serg091, добрый день. Подскажите, есть ли возможность суммировать данные, полученные с помощью функции LET сразу же одной формулой, если по условию в таблице могут быть данные, подходящие для выгрузки из разных ячеек.
Теперь в условии поиск города в строке и дата в первом столбце. Нужно суммировать данные всех ячеек по нужному городу в диапазоне между датами. Фильтрация с помощью символов >= и <= не получилась у меня успешной, приходится вычислять Разндат и по каждому из случаев суммировать нужные ячейки. Это сильно грузит скорость реакции google sheet даже на 5 проверке Разндат, а придется добавить до 20 условий.
bigorq благодарю, это то, что нужно! Добавила так же вариант для разных столбцов через || тоже работает
function onEdit() {var s = SpreadsheetApp.getActiveSheet ();
if (s.getName () == "Лист2") {// проверяет, находимся мы на Sheet1 или нет
var r = s.getActiveCell ();
if (r.getColumn () == 1 || r.getColumn () == 4) {// проверяет, находится ли редактируемая ячейка в столбце A или D
var nextCell = r.offset (0, 1);
if (nextCell.getValue () === '') // проверяет, пуста ли соседняя ячейка?
nextCell.setValue (new Date());
}
}
}
Единственное, интересно, можно ли написать код так, чтобы работали оба, первый вариант на Лист1 и второй вариант на Лист2. Было бы удобно, чтобы не менять их местами)) отключаются в зависимости от того, какой перемещаю вверх
function onEdit() { var s = SpreadsheetApp.getActiveSheet ();
if (s.getName () == "Лист1") {// проверяет, находимся мы на Sheet1 или нет
var r = s.getActiveCell ();
if (r.getColumn () == 1) {// проверяет, находится ли редактируемая ячейка в столбце A
var nextCell = r.offset (0, 5);
if (nextCell.getValue () === '') // проверяет, пуста ли соседняя ячейка?
nextCell.setValue (new Date());
}
}
}
Как масштабировать на ближайшие 4 столбца? Чтобы заполнение ячеек столбца А по-прежнему выдавали дату в F и остальные заполнялись последовательно - В в G, С в H, D в I. Копирую данный скрипт и редактирую для нового столбца => прочитывается последний, предыдущий запрос перестает работать.
function onEdit() {var s = SpreadsheetApp.getActiveSheet ();
if (s.getName () == "Лист1") {// проверяет, находимся мы на Sheet1 или нет
var r = s.getActiveCell ();
if (r.getColumn () == 2) {// проверяет, находится ли редактируемая ячейка в столбце B
var nextCell = r.offset (0, 5);
if (nextCell.getValue () === '') // проверяет, пуста ли соседняя ячейка?
bigorq, добрый день! Подскажите, пожалуйста, если я хочу задать другой диапазон для проверки данных (город и количество с 4 строки), почему формула выдает неверный результат (столбец L)? Наименование осталось в том же диапазоне со 2
Доброго дня! Требуется выгружать все данные (количество) последовательно по заданному условию (город) А1:В9. Пробую ВПР, ИНДЕКС + ПОИСКПОЗ, СЧЁТЕСЛИ + МАКС, но у меня выгружаются только первые значения, встречаемые по условию город Москва и Калуга. Подскажите, пожалуйста, вариант для решения, доступ открыт по ссылке https://docs.google.com/spreadsheets/d/1wcaFfacYrapnJjAVxgQX5UzY-e-Fk9TiMf1zOVR3RkQ
Serg091 супер, поменяла план и источник, всё работает! Нужно всерьез изучать список формул для Google Sheet. Нашла сайт https://creatium.uplinestudio.ru/formulas/google-sheet Если есть что посоветовать, чем удобно пользоваться для написания формул, посоветуйте)
Serg091, здравствуйте. Здесь нужно выгружать данные, учитывая условия не по заданным столбцам В и С, а по столбцам, которые мы идентифицируем по названию, указанному в ячейке F2. Есть столбцы C, D, E с соответствующими названиями и если мы внесем в ячейку F2 название столбца С, FILTER должен выгружать ненулевые значения столбца С, а если укажем в ячейке название столбца Е, то FILTER выгрузит ненулевые значения столбца Е.
mechanix 85 спасибо. Выходит ошибка Не удалось интерпретировать query string. Подробности: Параметр 2 в функции QUERY:PARSE_ERROR: Encountered " <UNEXPECTED_CHAR> "; "" at line 1, column 46. Was expecting one of: <EOF> "group" ... "pivot" ... "order" ... "skipping" ... "limit" ... "offset" ... "label" ... "format" ... "options" ... "and" ... "or" ... Пыталась самостоятельно поправить, не могу определить проблему
Добрый день! В столбец вывожу названия городов формулой FILTER по условию столбца План: =FILTER('Лист2'!A:A;НЕ('Лист2'!B:B<E2)) где А - список городов В - план Е - условие для столбца план
Требуется добавить условия для выгрузки по Источнику в строке 1 столбцов С-Е, если данные в нужном столбце >0. То есть исключить Самару, т.к. в проверяемом источнике Соцсети напротив Самары стоит 0. Не получается тем же способом FILTER + НЕ исключить ненужные столбцы или настроить выгрузку по значениям в нужном столбце
Доброго дня всем форумчанам! С помощью формулы FILTER выгружаю данные по 2 условиям в столбцах А и В - условно по городу и продукту. =filter('Лист2'!C:C;'Лист2'!A:A="Пермь";'Лист2'!B:B="Яблоко") =filter('Лист2'!C:C;'Лист2'!A:A=E1;'Лист2'!B:B=E2)