Size: a a a

Чат | Google Таблицы и скрипты

2018 October 26

v

volond in Чат | Google Таблицы и скрипты
Eugeny Namokonov
Это формулами?
Да
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Ну либо чуть иначе
источник

v

volond in Чат | Google Таблицы и скрипты
={TRANSPOSE(split(REPT(JOIN(",";TRANSPOSE(TIMES))&",";(COUNT(DIYS)*COUNTA(TIMES))/COUNTA(TIMES));","))\arrayformula({SORT(TRANSPOSE(split(REPT(JOIN(",";TRANSPOSE(DIYS))&",";(COUNT(DIYS)*COUNTA(TIMES))/COUNTA(DIYS));","));1;TRUE)+TRANSPOSE(split(REPT(JOIN(",";TRANSPOSE(TIMES))&",";(COUNT(DIYS)*COUNTA(TIMES))/COUNTA(TIMES));","))})\TRANSPOSE(split(REPT(JOIN(",";TRANSPOSE(GRUPS))&",";(COUNT(DIYS)*COUNTA(TIMES))/COUNTA(TIMES));","))}
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Делаем сетку из уникальных дат + времени.
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
И потом в эту сетку подтягиваем красиво кол-во строк по каждой дате и времени
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
И в следующей колонке - умножаем на стоимость часа
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
volond
={TRANSPOSE(split(REPT(JOIN(",";TRANSPOSE(TIMES))&",";(COUNT(DIYS)*COUNTA(TIMES))/COUNTA(TIMES));","))\arrayformula({SORT(TRANSPOSE(split(REPT(JOIN(",";TRANSPOSE(DIYS))&",";(COUNT(DIYS)*COUNTA(TIMES))/COUNTA(DIYS));","));1;TRUE)+TRANSPOSE(split(REPT(JOIN(",";TRANSPOSE(TIMES))&",";(COUNT(DIYS)*COUNTA(TIMES))/COUNTA(TIMES));","))})\TRANSPOSE(split(REPT(JOIN(",";TRANSPOSE(GRUPS))&",";(COUNT(DIYS)*COUNTA(TIMES))/COUNTA(TIMES));","))}
Уровень! На самом деле уровень.
источник

v

volond in Чат | Google Таблицы и скрипты
GRUPS
=query(arrayformula({split(transpose(SPLIT(B2;","));" ")});"select Col1"),
где B2 вида:
Группа1 18:00,Группа2 10:00
источник

v

volond in Чат | Google Таблицы и скрипты
TIMES
=arrayformula({TIMEVALUE(query(arrayformula({split(transpose(SPLIT(B2;","));" ")});"select Col2"))})
где B2 вида:
Группа1 18:00,Группа2 10:00
источник

v

volond in Чат | Google Таблицы и скрипты
DIYS
=ARRAYFORMULA({date(NUMYEAR;NUMMOTH;query(transpose(SPLIT(trim(D2);","));"select Col1"))})
где D2 вида:
1,8,12,15,19,22,26,29,3,6,10,13,17,20,24,27
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
volond
DIYS
=ARRAYFORMULA({date(NUMYEAR;NUMMOTH;query(transpose(SPLIT(trim(D2);","));"select Col1"))})
где D2 вида:
1,8,12,15,19,22,26,29,3,6,10,13,17,20,24,27
Это круто, кстати - скоро будет пост про максимум по каждой строке, там вас упомяну.
источник

v

volond in Чат | Google Таблицы и скрипты
Eugeny Namokonov
Это круто, кстати - скоро будет пост про максимум по каждой строке, там вас упомяну.
В формуле
=arrayformula({SORT(TRANSPOSE(split(REPT(JOIN(",";TRANSPOSE(ARRAYFORMULA({date(NUMYEAR;NUMMOTH;query(transpose(SPLIT(trim(D2);","));"select Col1"))})))&",";(COUNT(ARRAYFORMULA({date(NUMYEAR;NUMMOTH;query(transpose(SPLIT(trim(D2);","));"select Col1"))}))*COUNTA(TIMES))/COUNTA(ARRAYFORMULA({date(NUMYEAR;NUMMOTH;query(transpose(SPLIT(trim(D2);","));"select Col1"))})));","));1;TRUE)+TRANSPOSE(split(REPT(JOIN(",";TRANSPOSE(TIMES))&",";(COUNT(ARRAYFORMULA({date(NUMYEAR;NUMMOTH;query(transpose(SPLIT(trim(D2);","));"select Col1"))}))*COUNTA(TIMES))/COUNTA(TIMES));","))})
заменяю именованый диапазон TIMES
на
arrayformula({TIMEVALUE(query(arrayformula({split(transpose(SPLIT(B2;","));" ")});"select Col2"))})

и формулу ломает
источник

v

volond in Чат | Google Таблицы и скрипты
Сама формула интересна тем имеем список дат и список времени в результате Список ДАТА+ВРЕМЯ
источник

v

volond in Чат | Google Таблицы и скрипты
Но в экселе легче там есть оператор пересечения "_" дипазонов
источник

S

SeWa in Чат | Google Таблицы и скрипты
Поскажите, плиз, куда копнуть. Есть ведомость типа "дата" и "расходы". Это один файл. Есть другой файл, где собирается подыток из кучи таких вот первых файлов.
Вот как бы мне применить во втором СУММЕСЛИ, но ссылаясь на данные первого файла? Импортировтаь всё не хочу
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
SeWa
Поскажите, плиз, куда копнуть. Есть ведомость типа "дата" и "расходы". Это один файл. Есть другой файл, где собирается подыток из кучи таких вот первых файлов.
Вот как бы мне применить во втором СУММЕСЛИ, но ссылаясь на данные первого файла? Импортировтаь всё не хочу
=importrange(query(
источник

S

SeWa in Чат | Google Таблицы и скрипты
а без импорта?
источник

S

SeWa in Чат | Google Таблицы и скрипты
чтобы данные не тянуть вообще
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
SeWa
а без импорта?
Как получить данные из другого документа? Тогда скриптами
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Друзья, привет. Сегодня суббота и выходит наша традиционная подборка ответов на ваши вопросы (ссылку, чтобы задать вопрос, можно найти в закрепленном сообщении).

ВНУТРИ:
— подробнейший разбор GAS скрипта копирования однотипных вкладок или что делать, когда не справляется IMPORTRANGE
— скрываем от посторонних глаз формулы
— и учимся сортировать ячейки по цвету
http://telegra.ph/Subbotnik-otvetov-voprosy-16-02-18-02-16
источник