Отчет о посещаемости таблиц Google - PullRequest
0 голосов
/ 14 июля 2020

Итак, я сделал уникальный штрих-код для каждого сотрудника, где при сканировании он будет регистрироваться в таблицах Google с их именем и идентификационным номером, а затем он будет записан с помощью метки времени. Я сделал это с помощью формы Google ..

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

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

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

Надеюсь, я объяснил это так, как вы понимаете :) Я знаю только basi c в excel.

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

Заранее спасибо.

1 Ответ

1 голос
/ 14 июля 2020

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

Если вы поделитесь листом с образцом, обязательно установив разрешения на «Любой, у кого есть ссылка, может редактировать», кто-то здесь сможет помочь вам.

Тем не менее, я могу попытаться помочь по общим принципам.

Допустим, ваша форма отправляет данные на лист под названием «Форма». Допустим, метка времени идет в столбец A, а идентификатор работника - в столбец B. На новом листе (назовем его «FormProcessed», вы можете поместить эту формулу в A1 вновь созданного листа, и он создаст список, который исключает дублирование в один и тот же день. Это предполагает, что вас не волнует точное время кто-то отметился, а только день :

=UNIQUE(FILTER({IFERROR(INT(Form!A:A),Form!A:A),Form!B:B},Form!B:B<>""))

В той же настройке, которую я описал, если вам НЕОБХОДИМО сохранить точное время (первой регистрации) без дубликатов, эта более длинная формула, помещенная в новый лист, должна выполнить sh что:

=ArrayFormula({Form!A1:B1;FILTER({Form!A2:A,Form!B2:B},Form!A2:A<>"",VLOOKUP(INT(Form!A2:A)&Form!B2:B,{INT(Form!A2:A)&Form!B2:B,ROW(Form!A2:A)},2,FALSE)=ROW(A2:A))})

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

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

...