Формула динамического именованного диапазона не работает на другом листе.

Я использую эту формулу в именованном диапазоне, который будет динамически получать строку, которая соответствует тексту в первом столбце и тому, что LastColumn указано на другом листе. Когда я нахожусь в поле редактирования именованного диапазона, как вы можете видеть на картинке, он ссылается на правильный диапазон.

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

Однако, когда я ссылаюсь на этот диапазон на другом листе, я ничего не получаю. Вот формула:

=INDIRECT("C" &MATCH("Frozen: ",Input!$A:$A, 0)&":"&Ass_LastColumn&MATCH("Frozen: ",Input!$A:$A, 0))

а вот формула, которую я использую на следующем листе:

=IF(In_Item_Date="","",In_Item_Date)

person djblois    schedule 19.08.2015    source источник
comment
... Я ничего не получаю. Вы имеете в виду, что в ячейке отображается [empty], или есть какая-то ошибка (#REF или что-то подобное)?   -  person BruceWayne    schedule 19.08.2015
comment
@BruceWayne спасибо за ответ. Просто ничего не показывает. Ошибки нет, ячейка пуста.   -  person djblois    schedule 19.08.2015
comment
Вам нужно будет поставить имя листа перед адресом, прежде чем ссылаться на него. Например, Sheet1! C или другое имя листа.   -  person rwilson    schedule 19.08.2015
comment
@rwilson - Я подумал, что если это в той же книге, вам не нужно этого делать. Я только что проверил и могу ссылаться на именованные диапазоны на различных листах (в той же книге) без использования имени листа. ... возможно, это вообще связано с использованием Indirect()? djblois - можете ли вы использовать свою формулу без косвенного? Попробуйте переписать без косвенного обращения, просто чтобы убедиться, что вы можете правильно ссылаться на именованные диапазоны.   -  person BruceWayne    schedule 19.08.2015
comment
@rwilson, спасибо, что починили. Я не понимал, что пропустил это на C   -  person djblois    schedule 19.08.2015
comment
Именованные диапазоны имеют определенные области действия. Это может быть как для Рабочей книги, так и отдельно на каждом листе. Проверьте в диспетчере имен, какова область действия вашего именованного диапазона. Хотя, похоже, проблема не в том, что она имела отношение к обсуждению. С уважением,   -  person nbayly    schedule 19.08.2015
comment
@BruceWayne Вам необходимо добавить явную ссылку, потому что если вы находитесь на листе Sheet1 и ссылаетесь на столбец C, вы ссылаетесь на столбец C листа Sheet1. Если вы находитесь на листе Sheet2 и ссылаетесь на столбец C, вы ссылаетесь на столбец C листа2.   -  person rwilson    schedule 19.08.2015
comment
@rwilson - Да, да, ты прав! Я как раз думал об названных диапазонах.   -  person BruceWayne    schedule 19.08.2015


Ответы (1)


Когда вы используете КОСВЕННЫЙ и хотите сослаться на конкретный адрес на определенном листе, важно поставить «лист1!». (или как там на вашем листе) перед адресом. В таком случае,

=INDIRECT("C" &MATCH("Frozen: ",Input!$A:$A, 0)

нужно будет изменить на

=INDIRECT("sheet1!C" &MATCH("Frozen: ",Input!$A:$A, 0)

Без имени листа столбец C является относительным, в зависимости от того, на каком листе вы пишете формулу.

person rwilson    schedule 19.08.2015