1

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

  Name | Date      | Time        |
  abc  | 12/3/2018 | 12:36:11 PM |
  abc  | 12/3/2018 | 08:30:11 PM |
  EFG  | 13/3/2018 | 09:35:11 PM |
  EFG  | 13/3/2018 | 06:23:11 PM |
  EFG  | 13/3/2018 |  9:36:11 PM |
  abc  | 14/3/2018 | 11:36:11 PM |
  GHT  | 14/3/2018 |  3:36:11 PM |
  GHT  | 14/3/2018 | 01:36:11 PM |
  abc  | 15/3/2018 | 10:36:11 PM |

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

  Name | Date      | Time        | new cell    | new cell    |
  abc  | 12/3/2018 | 12:36:11 PM | 08:30:11 PM |
  EFG  | 13/3/2018 | 09:35:11 PM | 06:23:11 PM |  9:36:11 PM |
  abc  | 14/3/2018 | 11:36:11 PM |
  GHT  | 14/3/2018 |  3:36:11 PM | 01:36:11 PM |
  abc  | 15/3/2018 | 10:36:11 PM |

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

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

1 ответ1

0

Это не сложно сделать с формулами рабочего листа.  Я предполагаю, что ваши существующие столбцы «Имя», «Дата» и «Время» - это столбцы A , B и C И я предполагаю, что вы хотите спроецировать данные на новый лист; то есть, что у вас есть данные в вашей первой иллюстрации на Sheet1, и вы хотите макет вашей второй иллюстрации на Sheet2.  Проецирование его в другой регион на том же листе является тем же, за исключением деталей формул.  В любом случае, если вы хотите заменить исходные данные, вы можете скопировать и вставить значения.

Выберите три столбца на Листе 1, которые вы не используете; скажем, X , Y и Z

  • Убедитесь, что ячейка X1 пуста (или введите там 0 ).
  • В ячейке X2 введите =IF(AND(A1=A2,B1=B2),X1,X1+1) .
  • В ячейку Y2 введите =MATCH(ROW()-1,X:X,0) .
  • В ячейку Z2 введите =COUNTIF(X:X,ROW()-1) .
  • Выберите X2:Z2 и перетащите / заполните вниз (по крайней мере), насколько у вас есть данные.

На листе 2,

  • Введите заголовки столбцов по желанию в строке 1.
  • В ячейку A2 введите =IFERROR(INDEX(Sheet1!A:A,Sheet1!Y2),"") .
  • В ячейку B2 введите =IFERROR(INDEX(Sheet1!B:B,Sheet1!Y2),"") .
  • В ячейке C2 введите =IF((COLUMN()-COLUMN($C:$C))<Sheet1!$Z2, INDEX(Sheet1!$C:$C,Sheet1!$Y2+(COLUMN()-COLUMN($C:$C))),"") .
  • Выберите C2 и перетащите / заполните вправо (по крайней мере) достаточно далеко, чтобы охватить ваши данные (т. Е. Максимальное количество повторяющихся строк, которые у вас есть для любой пары имя / дата).
  • Выберите заполненные ячейки в строке 2 (т. Е. Через ячейку A2 в которую вы перетаскивали на предыдущем шаге) и перетащите / заполните (как минимум) достаточно далеко, чтобы охватить ваши данные (т. Е. Количество уникальных пар имя / дата, которые у вас есть)).

Вуаля

Лист1:

       Лист1

Лист2:

       Sheet2

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