2016-05-20 2 views
0

У меня есть поле, которое должно заполнить контактные данные с листа имен, адресов электронной почты и еще чего-то еще. BASE_VesOp - это имя, взятое из другого места. Контактная информация находится в динамическом диапазоне ContactDetails, который определяется как ='Contact details'!$A$2:INDEX('Contact details'!$A$2:$F$201, COUNTA('Contact details'!$A$2:$F$201)).VLOOKUP не работает с динамическим диапазоном

Я использую этот поиск, чтобы получить адрес электронной почты из колонки 4 из ContactDetails, на основе имени в BASE_VesOp:

=VLOOKUP(BASE_VesOp, ContactDetails, 4, FALSE) 

Он продолжает давать мне # ССЫЛКА! ошибка, и проверка действия известково дает следующее:

Lookup error

Я попытался сформулировать ряд по-разному - столбец за столбцом, например, - но продолжать получать ту же ошибку.

Любая идея, что может быть неправильным?

+0

Почему вы создаете ContactDetails таким образом? Эта формула останавливается в строке 201, поэтому она не очень динамична. Изменить ContactDetails в нормальный диапазон. –

+0

Причина, по которой я избегаю этого, состоит в том, чтобы избежать пустых пространств в выпадающем списке - вряд ли когда-либо будет более 200 операторов судов, но их, как правило, гораздо меньше. –

ответ

1

OFFSET - это более четкий способ сделать свой динамический диапазон. Изменить контактную информацию:

=OFFSET('Contact details'!$A$2$F$2,0,0,COUNTA('Contact details'!$A$2:$F$201)) 

Затем, после того, как вы сохранили эти изменения, в поле Имя диспетчера, нажмите на этом определении диапазона, следует выделить предполагаемую область на листе. Таким образом, вы можете проверить правильность установки.

+0

Он постоянно выскакивал ошибку, но я думаю, что это было вызвано опечаткой. Я скорректировал его на '= OFFSET (« Контактная информация »! $ A $ 2: $ F $ 201,0,0, COUNTA ('Контактная информация'! $ A $ 2: $ F $ 201))', и теперь это работает хорошо. Благодаря! –

Смежные вопросы