Excel - Использование VLOOKUP для создания сводной таблицы

2

Мне нужна небольшая помощь с некоторыми Excel.

Расположение сотрудников Часы OT
Mr.One Station 1 40 6
Миссис Севен Стейшн 2 30 6
Mr.Two Station 3 30 4
Mr.Three Station 4 40 4
Госпожа Восьмая Станция 1 32 6
Mr.Four Station 2 32 7
Миссис Девять Станция 3 40 6
Mr.Five Station 4 40 7
Mr.Six Station 1 25 2
Mrs.Ten Station 2 40 3
Mr.Eleven Station 3 60 1

У меня есть таблица с двумя листами. Один из них представляет собой таблицу данных (показанную выше), а другой - сводную информацию, в которой Locationsстолбец представляет собой список проверки данных. Я хочу использовать список проверки данных, чтобы вытащить всех людей и информацию из определенного места. Я пытался использовать, VLOOKUP()но я знаю, как использовать его, чтобы вытащить по одному человеку за раз, а не группу записей, специфичных для определенного места.

user123953
источник
1
взгляните на эту страницу
Raystafarian

Ответы:

1

Если вы используете Excel 2007 или более позднюю версию, вы можете использовать следующее решение ( IFERRORфункция является ограничивающим фактором). В примерной сводной таблице, показанной на снимке экрана ниже, я использовал эту формулу, заполнив несколько строк, чтобы вернуть сотрудников, которые соответствуют местоположению, выбранному из раскрывающегося списка в B2:

=IFERROR(INDEX(Data!$A$1:$A$12,SMALL(IF(Data!$B$1:$B$12=Summary!$B$1,ROW(Data!$A$1:$A$12),2000000),ROW()-3)),"")

Эта формула должна быть введена как формула массива. Сделайте это, нажав Ctrl+ Shift+ Enter.

В столбце часов эта формула массива была заполнена:

=IFERROR(INDEX(Data!$C$1:$C$12,SMALL(IF(Data!$B$1:$B$12=Summary!$B$1,ROW(Data!$C$1:$C$12),2000000),ROW()-3)),"")

введите описание изображения здесь

В отношении формул следует обратить внимание на последний аргумент SMALLфункции ROW()-3. Это возвращает 1для первой записи в строке 4. Если ваша сводная таблица начинается с другой строки, вам необходимо настроить этот аргумент так, чтобы он возвращался 1для первой строки вашей таблицы. Например, если ваша таблица начинается со строки 2, вам нужно изменить аргумент на ROW()-1.

Excellll
источник