2

У меня есть таблица, которая выглядит так

Emp.    date       time
1       5-13-13    8:00
1       5-13-13    12:00
1       5-13-13    12:30
1       5-13-13    15:00
2       5-13-13    8:00
2       5-13-13    12:00
3       5-13-13    8:00
3       5-13-13    12:00
3       5-13-13    12:30
3       5-13-13    15:00
1       5-14-13    8:00
1       5-14-13    12:00
1       5-14-13    12:30

и я хотел бы автоматически преобразовать его в нечто подобное

Emp.    date       in    lunch1   lunch2    out
1       5-13-13    8:00  12:00    12:30     15:00 
2       5-13-13    8:00                     12:00
3       5-13-13    8:00  12:00    12:30     15:00
1       5-14-13    8:00  12:00    12:30     15:00  

Есть простой способ сделать это?

2 ответа2

0

Если вы хотите делать это часто, включите запись макросов. Скопируйте ваши данные на новый лист, сортируйте по дате и по Emp. Промежуточный итог для подсчета времени каждого изменения в Emp. В B6 вставить =B5 . Примените следующие формулы к D6, D7, D8 и D9 соответственно:

= ЕСЛИ ($ С6 = 4, OFFSET ($ С6, -4,0), OFFSET ($ С6, -2,0))
= ЕСЛИ ($ С6 = 4, OFFSET ($ С6, -3,0), "")
= ЕСЛИ ($ С6 = 4, OFFSET ($ С6, -2,0), "")
= ЕСЛИ (ИЛИ ($ С6 = 2, $ С6 = 4), OFFSET ($ С6, -1,0))

Фильтр, чтобы выбрать, если A содержит "co" и дату и формулы вниз, как требуется. Выключите фильтр. Скопируйте весь лист и вставьте специальные значения поверх. Фильтр Emp. for не содержит co и удаляет все видимое, кроме заголовков. Удалите фильтр и промежуточный итог с помощью команды "Удалить все". Замените "Count" ничем, удалите нижний ряд и время. Добавьте заголовки. Формат подойдет.

Отрегулируйте ссылки, чтобы удовлетворить.

0

Добавьте еще один столбец, который указывает, что означает время, то есть in, out, lunch1, lunch2. Убедитесь, что в каждой строке есть эта деталь. Затем вы можете построить сводную таблицу с помощью нескольких кликов

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .