Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Учет рабочего времени, входы и выходы в одной ячейке - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Учет рабочего времени, входы и выходы в одной ячейке (Формулы/Formulas)
Учет рабочего времени, входы и выходы в одной ячейке
krdimk Дата: Суббота, 11.09.2021, 18:11 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 20% ±

Добрый день.
Нужна помощь с формулой..
Есть файл, где отмечены время прихода и ухода каждого сотрудника. И нужно посчитать сколько времени каждый из них находился на территории предприятия.
Там больше трёхсот человек и я не знаю как прописать формулу для подсчета.
Время с минусом справа, типа "06:26-" это вход, а время с минусом слева, типа "-16:51" это выход сотрудника.
Подскажите, пожалуйста, возможно ли это посчитать формулой?
Может кто-то сможет помочь, файл во вложении.
К сообщению приложен файл: ____.xlsx (84.1 Kb)
 
Ответить
СообщениеДобрый день.
Нужна помощь с формулой..
Есть файл, где отмечены время прихода и ухода каждого сотрудника. И нужно посчитать сколько времени каждый из них находился на территории предприятия.
Там больше трёхсот человек и я не знаю как прописать формулу для подсчета.
Время с минусом справа, типа "06:26-" это вход, а время с минусом слева, типа "-16:51" это выход сотрудника.
Подскажите, пожалуйста, возможно ли это посчитать формулой?
Может кто-то сможет помочь, файл во вложении.

Автор - krdimk
Дата добавления - 11.09.2021 в 18:11
прохожий2019 Дата: Суббота, 11.09.2021, 18:19 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 1241
Репутация: 317 ±
Замечаний: 0% ±

365 Beta Channel
возможно ли это посчитать формулой?
версия Excel какая? именно формулой или PQ допустим? в каком виде нужен результат? и что делать например с четвертой строкой где все начинается с времени выхода?


Сообщение отредактировал прохожий2019 - Суббота, 11.09.2021, 18:39
 
Ответить
Сообщение
возможно ли это посчитать формулой?
версия Excel какая? именно формулой или PQ допустим? в каком виде нужен результат? и что делать например с четвертой строкой где все начинается с времени выхода?

Автор - прохожий2019
Дата добавления - 11.09.2021 в 18:19
krdimk Дата: Суббота, 11.09.2021, 18:44 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 20% ±

Результат нужен в виде количества часов, которые сотрудник провел на территории предприятия за месяц.
Нужно чтобы от времени выхода, типа "-16:51" отнималось время входа, типа "06:26-" и получался результат "10:25".
Проблема в том, что есть ночные смены, где человек зашел вечером и время в одной ячейке, а вышел на следующий день и время выхода в другой ячейке.
Нужно как-то посчитать по условию если левый символ "-", то это время выхода и от него отнять время с правым символом "-" (время входа), но я не знаю как это сделать.
К сообщению приложен файл: 0352913.jpg (39.9 Kb)
 
Ответить
СообщениеРезультат нужен в виде количества часов, которые сотрудник провел на территории предприятия за месяц.
Нужно чтобы от времени выхода, типа "-16:51" отнималось время входа, типа "06:26-" и получался результат "10:25".
Проблема в том, что есть ночные смены, где человек зашел вечером и время в одной ячейке, а вышел на следующий день и время выхода в другой ячейке.
Нужно как-то посчитать по условию если левый символ "-", то это время выхода и от него отнять время с правым символом "-" (время входа), но я не знаю как это сделать.

Автор - krdimk
Дата добавления - 11.09.2021 в 18:44
krdimk Дата: Суббота, 11.09.2021, 18:53 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 20% ±

В четвертой строке человек работал в ночную смену, и зашел вечером предыдущего месяца. Что с ней делать точно не знаю, желательно чтобы "-07:49" прибавилось к общему времени за месяц.
 
Ответить
СообщениеВ четвертой строке человек работал в ночную смену, и зашел вечером предыдущего месяца. Что с ней делать точно не знаю, желательно чтобы "-07:49" прибавилось к общему времени за месяц.

Автор - krdimk
Дата добавления - 11.09.2021 в 18:53
прохожий2019 Дата: Суббота, 11.09.2021, 21:24 | Сообщение № 5
Группа: Проверенные
Ранг: Старожил
Сообщений: 1241
Репутация: 317 ±
Замечаний: 0% ±

365 Beta Channel
строка 14 - Федя, 15 апреля человек вышел в ночную смену... и? как поступать с такими данными? покажите в примере какие числовые значения должны быть на выходе
К сообщению приложен файл: totalhours.xlsx (97.0 Kb)


Сообщение отредактировал прохожий2019 - Воскресенье, 12.09.2021, 00:44
 
Ответить
Сообщениестрока 14 - Федя, 15 апреля человек вышел в ночную смену... и? как поступать с такими данными? покажите в примере какие числовые значения должны быть на выходе

Автор - прохожий2019
Дата добавления - 11.09.2021 в 21:24
krdimk Дата: Воскресенье, 12.09.2021, 10:04 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 20% ±

Ну 14-я строка это какой-то особый случай, он 15-го апреля зашел и не вышел.. Возможно у него охрана отобрала пропуск, если заходил не трезвый и его уволили..
Но если не учитывать последний вход, то на территории предприятия он провел 80 часов 31 минуту. Я посчитал вручную, сумма в красной ячейке.
Единичные случаи не так важны.
К сообщению приложен файл: 0830321.xlsx (96.2 Kb)
 
Ответить
СообщениеНу 14-я строка это какой-то особый случай, он 15-го апреля зашел и не вышел.. Возможно у него охрана отобрала пропуск, если заходил не трезвый и его уволили..
Но если не учитывать последний вход, то на территории предприятия он провел 80 часов 31 минуту. Я посчитал вручную, сумма в красной ячейке.
Единичные случаи не так важны.

Автор - krdimk
Дата добавления - 12.09.2021 в 10:04
krdimk Дата: Воскресенье, 12.09.2021, 10:11 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 20% ±

Я сначала хотел посчитать вручную всех, но это занимает очень много времени..
К сообщению приложен файл: 4653363.xlsx (15.5 Kb)
 
Ответить
СообщениеЯ сначала хотел посчитать вручную всех, но это занимает очень много времени..

Автор - krdimk
Дата добавления - 12.09.2021 в 10:11
прохожий2019 Дата: Воскресенье, 12.09.2021, 10:30 | Сообщение № 8
Группа: Проверенные
Ранг: Старожил
Сообщений: 1241
Репутация: 317 ±
Замечаний: 0% ±

365 Beta Channel
Но если не учитывать последний вход
ну у меня отличается на 5:45 - время прошедшее до полуночи
Единичные случаи не так важны.
и по какому принципу их не учитывать - строки 75, 81, 92, 104, 115 и т.д.
а так результат представил же в файле - вроде сходится
 
Ответить
Сообщение
Но если не учитывать последний вход
ну у меня отличается на 5:45 - время прошедшее до полуночи
Единичные случаи не так важны.
и по какому принципу их не учитывать - строки 75, 81, 92, 104, 115 и т.д.
а так результат представил же в файле - вроде сходится

Автор - прохожий2019
Дата добавления - 12.09.2021 в 10:30
krdimk Дата: Воскресенье, 12.09.2021, 12:09 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 20% ±

Да, спасибо вам большое.
Можете подсказать, как вы это посчитали?
Мне, возможно, не один месяц нужно будет пересчитать..
В вашем файле я формул не нашел...


Сообщение отредактировал Serge_007 - Понедельник, 13.09.2021, 09:48
 
Ответить
СообщениеДа, спасибо вам большое.
Можете подсказать, как вы это посчитали?
Мне, возможно, не один месяц нужно будет пересчитать..
В вашем файле я формул не нашел...

Автор - krdimk
Дата добавления - 12.09.2021 в 12:09
прохожий2019 Дата: Воскресенье, 12.09.2021, 12:14 | Сообщение № 10
Группа: Проверенные
Ранг: Старожил
Сообщений: 1241
Репутация: 317 ±
Замечаний: 0% ±

365 Beta Channel
как вы это посчитали?
дык сказал же - PQ - вкладка Данные - запросы и подключения. Основной запрос[vba]
Код
let
    from = Table.PromoteHeaders(Excel.CurrentWorkbook(){[Name="TData"]}[Content]),
    nms = List.Buffer(Table.ColumnNames(from)),
    item = Text.Start(nms{3},2),
    lst = List.Select(nms,(x)=>Text.Start(x,2)=item),
    comb = Table.CombineColumns(from,lst,Text.Combine,"time")[time],
    trnsf = List.Transform(comb,TotalHours)
in
    trnsf
[/vba]ну и функция [vba]
Код
TotalHours (x)=>
    [  
        textconvert = (x) => [  a = if Text.Start(x,1)="-" then "00:00-"&x else x,
                    b = if Text.End(a,1)="-" then a & "-23:59;" else a][b],
        gethours = (x) => [ a = List.Transform(Text.Split(x,"--"),Time.From),
                            b = if a{0}<=a{1} then a{1}-a{0} else #duration(1,0,0,0)+(a{1}-a{0})][b],
        
        split = Text.Split(textconvert(x),";"),
        rem = List.RemoveMatchingItems(split,{null,""," "}),
        trnsf = List.Transform(rem,gethours),
        sum = List.Sum(trnsf),
        tohours = Duration.TotalHours(sum),
        
        result = if x = null or x = "" or x = " " then 0 else tohours
    ][result]
[/vba]тут надо решить, что делать с отсутствующими данными, когда они в середине (отсюда и 8 ошибок) - пока просто игнорятся
К сообщению приложен файл: totalhours-1-.xlsx (97.0 Kb)


Сообщение отредактировал прохожий2019 - Воскресенье, 12.09.2021, 22:06
 
Ответить
Сообщение
как вы это посчитали?
дык сказал же - PQ - вкладка Данные - запросы и подключения. Основной запрос[vba]
Код
let
    from = Table.PromoteHeaders(Excel.CurrentWorkbook(){[Name="TData"]}[Content]),
    nms = List.Buffer(Table.ColumnNames(from)),
    item = Text.Start(nms{3},2),
    lst = List.Select(nms,(x)=>Text.Start(x,2)=item),
    comb = Table.CombineColumns(from,lst,Text.Combine,"time")[time],
    trnsf = List.Transform(comb,TotalHours)
in
    trnsf
[/vba]ну и функция [vba]
Код
TotalHours (x)=>
    [  
        textconvert = (x) => [  a = if Text.Start(x,1)="-" then "00:00-"&x else x,
                    b = if Text.End(a,1)="-" then a & "-23:59;" else a][b],
        gethours = (x) => [ a = List.Transform(Text.Split(x,"--"),Time.From),
                            b = if a{0}<=a{1} then a{1}-a{0} else #duration(1,0,0,0)+(a{1}-a{0})][b],
        
        split = Text.Split(textconvert(x),";"),
        rem = List.RemoveMatchingItems(split,{null,""," "}),
        trnsf = List.Transform(rem,gethours),
        sum = List.Sum(trnsf),
        tohours = Duration.TotalHours(sum),
        
        result = if x = null or x = "" or x = " " then 0 else tohours
    ][result]
[/vba]тут надо решить, что делать с отсутствующими данными, когда они в середине (отсюда и 8 ошибок) - пока просто игнорятся

Автор - прохожий2019
Дата добавления - 12.09.2021 в 12:14
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Учет рабочего времени, входы и выходы в одной ячейке (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!