учет рабочего времени в гугл таблицах

Содержание

Учёт рабочего времени в Google Docs

В целях повышения личной эффективности я решил вести учёт своего рабочего времени. Цели:

Pomodoro

Сразу отмечу, что техника Pomodoro мне не подошла. Тест-драйв был больше месяца, но я понял, что:

IFTTT

Поэтому решено было следовать за своим ритмом работы, а корректировки вносить по достигнутым результатам и анализу затраченного времени. Первое, что пришло в голову — это ведение таблицы в Google Spreadsheets плюс автоматизация. С первым компонентом всё очевидно, а вот автоматизировать добавление времени мне помогла программа Do Button от сервиса IFTTT ( If T his T hen T hat). Оказалось, что там уже есть готовый «рецепт», позволяющий вести нужную таблицу, вставляя записи по нажатию на кнопку-виджет.

Примечание: в настоящее время функциональность программы Do Button, ранее поставлявшейся отдельно, интегрирована в программу IFTTT, а «рецепты» стали называться «апплетами».

Свой скрипт

Всё было хорошо ровно до тех пор, пока таблица не выросла до 2000 строк. После этого при нажатии на Do-кнопку создавался новый файл. Для меня это было неприемлемо, т.к. на соседних листах документа велась статистика по неделям, месяцам и проектам (типам задач).

Пришлось написать свой скрипт для Google Docs, который делал бы всё то же самое, что и Do-кнопка. В качестве бонуса — теперь нет необходимости прикасаться к телефону для вставки строк в таблицу.

// Глобальные переменные:
var ss = SpreadsheetApp. getActive ( ) ;

Читатель, знакомый со скриптами Google Docs, сразу увидит тут несколько усложнений. Особенно это касается формата и обработки даты / времени. В моём случае это было оправданно, т.к. мне нужно было продолжать исходную таблицу. Но вы — в качестве небольшого домашнего задания — можете оптимизировать формулы Google Docs.

Работает всё просто: в таблицу вставляется время начала или окончания задачи, остальные поля рассчитываются автоматически, а последние два оставляются пустыми — для заполнения вручную.

Пример таблицы, изображение кликабельно

Как видите, в таблице 8 столбцов:

Последние два столбца не заполняются автоматически. Хотя «тип задачи», наверное, и можно заполнять с помощью отдельных кнопок меню Extra, если список этих типов ограничен. Я не стал заморачиваться, хотя за 5 месяцев использования таблицы у меня и сформировался практически неизменный список из десятка типов.

Как я и говорил, на соседних листах с помощью сводных таблиц ведётся статистика на основе данных первого листа. Например, вот диаграмма распределения рабочего времени по проектам:

А что ещё?

Клик по картинке приведёт на страничку проекта.

Источник

Как облегчить себе жизнь с помощью Google Таблиц

Было время, когда я думал, что Excel и подобные ему программы нужны, чтобы делать таблички. А на самом деле электронные таблицы могут проводить расчёты, составлять диаграммы, вычислять простые и сложные функции. В электронной таблице можно вести домашний бюджет, учёт рабочего времени, любые вычисления и даже расчёт заработной платы на небольшом предприятии.

Идём с таблицами за покупками

Психологи советуют ходить в магазин сытыми и со списком покупок, чтобы не покупать лишнего. Таблицы Google помогут нам иметь список и не быть обманутыми на кассе.

Составляем список на компьютере, а в магазин идём с телефоном. Для начала простой перечень покупок:

Напротив каждой покупки мы будем вбивать её стоимость, а чтобы всё суммировалось автоматически, используем вычислительные способности электронных таблиц. Когда в ячейке первым стоит символ «=», таблица воспринимает содержимое как формулу. В данном случае после «=» пишем SUM, открываем скобку, выделяем все ячейки, которые хотим суммировать, закрываем скобку:

В магазине вбивать цены в телефоне можно в браузере, но удобнее это делать в специальном приложении:

Когда вы подойдёте к кассе, у вас будет цена каждого товара и общая сумма. Я уже давно веду бюджет и заметил, что когда закупаюсь со списком, то действительно трачу меньше. А с того времени, как стал вбивать цену товара, с удивлением обнаружил, что сумма в таблице и сумма чека не сходятся в пользу магазина неожиданно часто. В основном это: «Ой, у нас поднялась стоимость этого товара, ценники ещё не успели поменять».

Ведём учёт рабочего времени

Бывают случаи, когда таблице надо объяснять, с какими данными она работает. Например, надо вести учёт рабочего времени. Здесь мы имеем дело не с простыми числами, а со временем, поэтому присваиваем всем ячейкам, которые участвуют в вычислении, формат «Продолжительность»: «Формат» ⟼ «Числа» ⟼ «Продолжительность»:

Теперь создаём формулу. Начинаем со знака «=», мышкой отмечаем нужные ячейки, с клавиатуры вводим нужные знаки:

Чтобы не создавать формулу 31 раз, выделяем её и тянем за маленький квадратик в правом нижнем углу вниз так, чтобы выделились все нужные ячейки:

Электронная таблица «поймёт», что формулу надо изменить так, чтобы каждая ячейка из столбца «Часы» подсчитывала свою строку, и заменит цифры в формуле с «4» на номер нужной строки:

Теперь создаём формулу, которая будет суммировать рабочие часы за месяц. Пишем «=SUM( », мышкой выделяем все ячейки и закрываем скобку:

Обратите внимание на вопросительный знак слева от формулы. Нажав на него, вы получите краткую справку по функции:

Логические операции

Электронные таблицы понимают условие «Если…, то…». Возьмём тот же учёт рабочего времени и поставим таблице задачу: показать в конце месяца, сколько было дней, когда мы работали больше восьми часов. Для этого нам понадобится функция IF:

В скобках пишем сначала условие, на которое будет ориентироваться таблица: если мы отработали больше восьми часов (G4>8). После пишем, что делать, если условие соблюдается: присвоить ячейке значение «1». И в конце — значение ячейки, когда условие не соблюдается. Условия и значения разделены точкой с запятой. Если нам нужно присвоить не цифровое значение, пишем в кавычках:

Описать все возможности электронных таблиц от Google в одной статье невозможно. Возможностей очень много и на любой вкус. Например, функция «ДАТА» со значением «ЧИСТРАБДНИ.INTL» вычисляет количество полных рабочих дней между двумя указанными датами, исключив заданные выходные и праздничные дни. Но если вы хотите автоматизировать работу с данными, посмотрите справку и список всех функций.

Пользование таблицами Google бесплатно, как в браузере, так и в мобильных приложениях. Нужен только аккаунт Google.

Источник

Таймтрекер на Google Scripts, Docs и Spreadsheets

В предыдущей статье речь шла о подходе к техническому заданию в Decart IT-production. Когда мы внедрили эти изменения, проекты велись в облачной Jira, но ее потенциал использовался на минимальном уровне. Для небольшой компании достаточно грамотной постановки задач, таймтрекера, багтрекера и статистики по проекту и команде. Команде было намного удобнее работать с ТЗ, как единым документом, чем с отдельными задачами в Jira, хотя бы из-за простоты навигации в Google Docs(далее — Docs). Еще в самом начале работы по новому ТЗ появились мысли упростить процесс работы, как-то “доделав” Docs, но череда проектов не оставляла времени на погружение в этот вопрос. И вот, когда время все же нашлось, я составил список целей, которых мы хотели достичь:

Google Scripts

Google Apps Script (далее GAS) — диалект JavaScript для создания автоматизирующих скриптов и расширений для сервисов Google. Хоть GAS и не сильно популярен в русскоязычном интернет-сообществе, но сомневаться в его полезности не приходится. GAS является хорошим инструментом для автоматизации различных бизнес-процессов, так как имеет широкий набор интеграций. На данный момент у языка есть классы и методы для работы со следующими сервисами: Таблицы, Документы, Формы, Диск, Gmail, Календарь, Контакты, Карты, Группы, Переводчик.

Один скрипт может работать сразу с несколькими сервисами, что позволит вам сформировать подходящую для вашей задачи комбинацию инструментов.

Также с помощью Google Apps Script можно создавать полноценные веб-приложения с графическим интерфейсов на HTML/встраивать Google Apps Script на свои сайты. Простейший пример: сделать на сайте форму загрузки файлов с компьютера на Google Drive

В итоге хочется отметить следующие плюсы:

Теперь перейдем непосредственно к реализации.

Структура

Для хранения и визуализации данных мы решили использовать Google Spreadsheets и построили простую архитектуру на основе трех таблиц.

Таблица “Трудозатраты”

Мы сделали ее сразу на год. Листы — месяцы. Столбцы:

Фактически это наша база, на основе которой формируются другие таблицы. Каждая строка представляет отдельную запись о трудозатрате.

Таблица “Отчет за месяц”

Она нужна, чтобы и сам сотрудник, и руководство видели в какой день над какими проектами и сколько было отработано. Листы — сотрудники. Столбцы:

Число и суммарное время за это число на отдельной строке, ниже сами трудозатраты.

Таблица “Работы по Проекту”

Позволяет понять отведенное на задачу время, сколько уже потрачено, сколько осталось часов у каждого из отделов (дизайн, front-end, back-end). Листы — версии продукта. Столбцы:

Последней строкой идет подведение итогов по столбцам D-L.

Как это работает

Мы написали это дополнение на google scripts, которое после установки можно использовать в любом Google Документе с помощью вкладки “Дополнения”. Когда все документы с заказчиком подписаны, мы делаем копию ТЗ, с которой и будем в дальнейшем работать. При инициализации проекта проверяется была ли уже создана таблица “Работы по Проекту”. Если нет, создается новая. Если да, то в старую добавляется новый лист. Для корректной работы, конечно, необходимо называть файлы по выбранному нами шаблону, но это можно опустить.

Все задачи должны иметь следующее наименование:
Название_задачи(Оценка_времени_дизайна+Оценка_времени_фронта+Оценка_времени_бэка)[ID_задачи].
ID генерируется автоматически при инициализации проекта.

Теперь файл готов для работы. Чтобы отметить время, нужно поставить курсор на заголовок задачи, а в меню выбрать пункт “Добавить трудозатраты”, при клике на который откроется окно.

Трудозатраты сразу добавляются во все перечисленные выше таблицы. Под заголовком задачи в Docs появляется строка “Участники”, где перечислены все, кто работал над ней с указанием отмеченных часов.

Багтрекер

Для каждого проекта, помимо файлов с версиями ТЗ, мы создаем файл с ошибками, который в терминах системы является такой же версией. Оценкой задач(временем, оплачиваемым Заказчиком) будут нули.

Но в отличие от файла с ТЗ, он будет постоянно пополняться. На этот случай мы реализовали одиночное добавление задачи, а также изменение названия/оценки задачи в таблицах, если они поменялись.

Чтобы баги не терялись в этом файле, заголовки всех свежих задач мы дублируем в отдельный чат в телеграме с указанием проекта, степени важности и ответственного разработчика. Когда баг поправлен, разработчик отвечает на нее плюсом, а ПМ проверяет и удаляет из чата все сообщения, касающиеся этого бага. Таким образом, цель — пустой чат.

Да, в плане багтрекера можно было бы придумать более изящное решение, но этот подход не потребовал от нас никаких доработок, и при этом уже хорошо себя проявил.

Планы на будущее

На данный момент мы сделали MVP, а в дальнейшем реализуем как минимум статусы задач(сейчас это просто выделение цветом) и базовую финансовую статистику, не превращая при этом проект в чудовище Франкенштейна.

Спасибо, что прочитали до конца, и хорошего дня!

Источник

Планировщик с показателем эффективности в гугл таблицах

У меня появилась потребность в планировщике с диаграммой эффективности, чтобы наглядно видеть сколько задач я выполнил, а сколько ещё осталось. Короче, сразу к делу.

Как вы видите я поставил условия для диапазона А1:С34. В приделах этой области должен находиться ваш планировщик чтобы выполненные задачи зачёркивались, закрашивались. Если форматировать ячейки по формуле «=$A:$A», то вам останется только выбрать цвет фона и зачёркивание.

Ищем место где будет находиться диаграмма эффективности. На её месте вбиваем 2 формулы как на картинке.

MS, Libreoffice & Google docs

458 постов 12.7K подписчиков

Правила сообщества

2. Публиковать посты соответствующие тематике сообщества

3. Проявлять уважение к пользователям

4. Не допускается публикация постов с вопросами, ответы на которые легко найти с помощью любого поискового сайта.

По интересующим вопросам можно обратиться к автору поста схожей тематики, либо к пользователям в комментариях

Чет шляпа какая-то. Зачем это?

Для начала, есть куча софта, которое позволяет вести список дел с куда большим функционалом.

Ну ок, допустим надо что-то простое, чтоб ничего не устанавливать. Ну тогда надо действительно сделать просто.

— Если я раздолбай и не выполняю все свои дела сразу, но хочу их делать, то через неделю у меня будет мешанина из зачеркнутых/активных записей. Нет, удалять выполненные я не хочу.

Кароч, если уж делать это на экселе и выкладывать в общий доступ, то допили до ума идею сначала, а потом выложи настроенный экселевский файлик, а не инструкцию это это всё «собирать»

Источник

Cоветы и руководства по Google Таблицам

Мастер Google Таблиц с полезными советами и руководствами

Как рассчитать дни между двумя датами в Google Таблицах

Работать с датой и временем в Google Таблицах стало легко благодаря некоторым формулам. Вы можете легко рассчитать количество дней между двумя датами, просто вычтя даты (если вам нужны все дни), или использовать формулы, чтобы определить рабочие или нерабочие дни.

В этом руководстве я расскажу о различных сценариях, в которых вы можете рассчитывать дни между двумя датами в Google Таблицах.

Одна вещь, которую вы должны знать о датах, — это то, что это просто числа, отформатированные так, чтобы они выглядели как даты. Поскольку это числа, вы можете выполнять такие операции, как сложение и вычитание с датами.

Расчет общего количества дней между двумя датами

Предположим, у вас есть дата начала и дата окончания проекта (как показано ниже), и вы хотите быстро узнать общее количество дней между этими двумя датами.

Поскольку даты представляют собой не что иное, как числа, вы можете легко получить это, вычтя дату начала из даты окончания.

Приведенная ниже формула даст вам общее количество дней между этими двумя датами.

Приведенная выше формула говорит нам, что между датой начала и окончания проекта есть 274 дня.

Легко, правда!

При вычитании дат вам нужно знать одну вещь. Количество дней, указанное в приведенном выше примере, не включает дату начала. Если вы хотите включить дату начала в результат, вам нужно добавить 1 к полученным данным.

Чтобы получить количество дней, которые включают дату начала и окончания проекта, используйте следующую формулу:

Расчет рабочих дней между двумя датами

Хотя легко и приятно получить общее количество дней между двумя датами, в большинстве случаев вам просто нужны не общие дни, а рабочие дни.

И на всякий случай предполагаю, что рабочие дни будут с понедельника по пятницу. В случае, если рабочие дни разные, вам нужно будет изменить формулу (рассматривается далее в этом руководстве).

В конце концов, если это проект, вы не можете ожидать, что ваша команда будет работать по выходным … верно!

Подсчитать количество рабочих дней между двумя датами не так просто, как вычитание значений, но это не так сложно (поскольку в Google Таблицах есть формула для этого).

Предположим, у вас есть набор данных, как показано ниже, и вы хотите рассчитать количество рабочих дней между этими двумя датами.

Приведенная ниже формула даст вам количество рабочих дней между этими двумя датами:

Функция ЧИСТРАБДНИ (как следует из названия) дает вам сетевые дни между двумя датами (она принимает дату начала и дату окончания в качестве входных аргументов)

О функции ЧИСТРАБДНИ вам нужно знать две вещи:

Хотя это может сработать в большинстве случаев, есть два распространенных сценария, в которых вы можете захотеть настроить эту формулу:

Хорошая новость в том, что Google Таблицы легко справятся со всем этим.

Расчет рабочих дней без учета государственных праздников

Чтобы это сработало, у вас должен быть список праздников, которые вы хотите исключить. В большинстве компаний есть календарь праздников, которым вы можете пользоваться. Или, если вы фрилансер или малый бизнес, вы тоже можете создать это самостоятельно.

Ниже приведен пример календаря праздников, который у меня есть на 2020 год.

Теперь, когда я подсчитываю количество рабочих дней между двумя датами в Google Таблицах, я не хочу считать дни выходных.

К счастью, функция ЧИСТРАБДНИ уже имеет эту встроенную функцию. Вы можете указать диапазон, в котором есть праздничные дни, и он будет автоматически игнорировать их при вычислении рабочих дней.

Предположим, у вас есть набор данных, как показано ниже:

Приведенная ниже формула даст вам количество рабочих дней между датой начала и окончания, не считая праздников:

Эта формула принимает три аргумента:

Обратите внимание, что функция ЧИСТРАБДНИ достаточно умна, чтобы самостоятельно настраивать праздничные и выходные дни. Например, в следующих праздничных датах с 1 апреля по 30 декабря восемь праздников.

Но функция ЧИСТРАБДНИ учитывает только шесть из них, а два в любом случае приходится на выходные дни (Пасха и День независимости). Поскольку формула ЧИСТРАБДНИ в любом случае не учитывает выходные дни при вычислении, она также будет следить за тем, чтобы дни не удалялись дважды (как в выходные, так и в праздничные дни).

Расчет рабочих дней, когда выходные не суббота и воскресенье

Хотя функция ЧИСТРАБДНИ автоматически предполагает, что выходные дни — это суббота и воскресенье, это может быть не так для всех. У некоторых из вас может быть только воскресенье, а некоторые могут работать в странах, где пятница и суббота нерабочие дни, а воскресенье — рабочее время.

Чтобы настроить эти варианты, в Google Таблицах есть еще одна функция, которую вы можете использовать.

NETWORKDAYS.INTL — где INTL означает международный.

Когда вы используете функцию NETWORKDAYS.INTL, помимо даты начала, даты окончания и праздников, она также позволяет вам указать выходные, где выходными могут быть любой день недели или любые два последовательных дня недели,

Допустим, у вас есть пример ниже, и вы хотите рассчитать количество рабочих дней, когда выходные дни — пятница и суббота.

Следующая формула даст вам результат:

Приведенная выше формула вернет 191, то есть количество дней между датами начала и окончания, с пятницей и субботой в качестве выходных.

Эта формула принимает четыре аргумента:

Почему я использовал 7, чтобы сделать пятницу и субботу выходными?

Вот как была закодирована эта формула. Эти числа указывают выходные дни и предварительно закодированы в формуле.

Поэтому, когда я использую 7, он знает, что я хочу, чтобы выходные были пятницей и субботой.

Ниже приведена таблица, в которой показаны все числа, которые вы можете использовать, и их значение:

Аргумент Выходные дни
1 Суббота / воскресенье — выходные дни
2 Воскресенье / понедельник — выходные дни
3 Понедельник / вторник — выходные дни
4 Вторник / среда — выходные дни
5 Среда / четверг — выходные дни
6 Четверг / пятница — выходные дни
7 Пятница / суббота — выходные дни
11 Воскресенье — единственный выходной день
12 Понедельник — единственный выходной день
13 Вторник — единственный выходной день
14 Среда — единственный выходной день
15 Четверг — единственный выходной день
16 Пятница — единственный выходной день
17 Суббота — единственный выходной день

Основываясь на приведенной выше таблице, если вы хотите, чтобы выходными считалось только воскресенье (при шестидневной рабочей неделе), вам нужно использовать 11 в качестве третьего аргумента в функции NETWORKDAYS.INTL.

Расчет рабочих дней с непоследовательными выходными днями

Предположим, вы работаете на работе только в определенные дни недели (скажем, понедельник, вторник и четверг).

При таком расположении становится еще труднее подсчитать количество рабочих дней между двумя заданными датами.

К счастью, когда формулировалась функция NETWORKDAYS.INTL, это также было учтено.

Когда вы используете функцию NETWORKDAYS.INTL для чего-то вроде этого, вам необходимо четко указать, какие дни рабочие, а какие нет.

И вы делаете это, используя серию из семи последовательных чисел (где каждое число равно 1 или 0). Эти числа представляют семь дней в неделе. Первое число в ряду представляет понедельник, второе — вторник и так далее.

«0» означает рабочий день, а «1» — нерабочий день. Таким образом, 0000011 будет означать, что первые пять дней (с понедельника по пятницу) рабочие, а суббота и воскресенье — выходные (или нерабочие дни).

Теперь вы можете создать любую комбинацию недели с сочетанием рабочих и нерабочих дней. И они не обязательно должны быть последовательными.

Итак, в нашем примере, где понедельник, вторник и четверг — рабочие дни, код будет 0010111.

И вы можете использовать этот код в функции NETWORKDAYS.INTL, как показано ниже:

Обратите внимание, что третий аргумент — это строка чисел, обозначающая рабочие и нерабочие дни. Это должно быть в двойных кавычках

Последний аргумент в этой формуле указывает диапазон, в котором есть праздничные даты.

Рассчитать все понедельники между двумя датами

Иногда может потребоваться вычисление не рабочих дней, а числа одного конкретного дня недели.

Например, предположим, что вы хотите рассчитать количество понедельников, которые попадают в заданный диапазон дат (с учетом праздничных дней).

На практике это может быть, когда вы хотите знать, сколько вызовов обновления будет выполнено в указанные даты, если вызов произойдет по понедельникам.

Предположим, у вас есть приведенный ниже набор данных, в котором вы хотите найти число понедельника между начальной и конечной датами:

Чтобы вычислить количество понедельников, я буду использовать функцию ЧИСТРАБДНИ.INTL со строкой из семи последовательных чисел, которые представляют дни недели.

Это не что иное, как разновидность примера, в котором мы вычисляем непоследовательные рабочие дни. В этом примере нам нужно указать только понедельник в качестве рабочего дня, а все остальные — выходные.

Таким образом, строка чисел будет «0111111», где 0 представляет рабочий день понедельника.

Приведенная ниже формула даст вам количество рабочих понедельников между датой начала и окончания (с учетом праздников):

Если вы знаете, как использовать функции NETWORKDAYS и NETWORKDAYS.INTL в Google Таблицах, вы можете легко управлять ситуациями, когда вам нужно рассчитывать рабочие дни между двумя днями.

Источник

Операционные системы и программное обеспечение