2

У меня есть рабочая тетрадь с листом, который отформатирован так:

| 1234 | Name 1 |
| 2345 | Name 2 |
| 3456 | Name 3 |

Тогда есть другой лист с данными как это:

| Hours | Employee ID |
| 18    | 1234        |
| 8     | 2345        |
| 2     | 3456        |

Существует ли в Excel автоматический способ автоматической замены всех идентификационных номеров сотрудников на втором листе их соответствующими именами? Как "1234" -> "Имя 1".

2 ответа2

8

Самый простой способ сделать то, на что вы смотрите, - это добавить на лист дополнительный столбец с часами и идентификатором сотрудника и выполнить VLookup в новом столбце. Microsoft может получить помощь по VLookup по адресу http://office.microsoft.com/en-us/excel-help/vlookup-HP005209335.aspx

Обратите внимание на пару важных моментов: список на первом листе должен быть отсортирован по ID (значение, которое вы ищите, когда VLookup останавливается, когда вы нажимаете следующее значение).

Формула для вашего случая была бы приблизительно (при условии, что столбцы расположены рядом друг с другом и начинаются с столбца A, а строка 1 имеет заголовки)

=vlookup(B2,Sheet1!A1:B200,2)

  • B2 - это поле, которое вы ищете (ID)

  • Sheet1!A1:B200 - это ячейки на другом листе, содержащие данные - исключая заголовки

  • 2 - второй столбец на другом листе.

2

Я не могу комментировать здесь, но в дополнение к комментариям на ответ Алена Кинга.

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

В этом случае я бы сделал:

=vlookup(B2,Sheet1!A:B,2,FALSE) 

В примере Алена это будет иметь тот же результат, что и его формула. Единственное отличие состоит в том, что если данные будут добавлены в строку 201 или за пределы формулы, они также будут автоматически искать эти строки.

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