Excel 2007 — именованные диапазоны

У меня есть рабочий лист, на котором данные обновляются из внешнего источника. Страница содержит данные с сегодняшнего дня за 20 дней. У меня есть именованный диапазон для каждого столбца, т.е. сегодня ($ D $ 4: $ D $ 50), завтра ($ E $ 4: $ E $ 50) и т. д. и т. д. Моя проблема в том, что иногда данные из внешнего источника не содержат данных поэтому в столбцах ничего не заполняется. Однако, когда данные возвращаются снова, диапазоны имен автоматически меняются, т. Е. Сегодня меняется на ($ F $ 4: $ F $ 50). Новые столбцы не вставляются и не удаляются.

Как я могу указать/заставить диапазоны имен всегда оставаться одинаковыми, то есть сегодня всегда столбец E, я думал, что это точка $.

Спасибо.


person user3890637    schedule 12.08.2014    source источник
comment
Как данные извлекаются макросом? Возможно, диапазон определен в макросе, и поэтому он устанавливается на что-то другое, чем вы ожидаете.   -  person sous2817    schedule 12.08.2014
comment
Смысл именованных диапазонов в том, что вам не нужно заботиться о том, является ли это столбцом E или F. Если вы это делаете, вы делаете что-то не так.   -  person GSerg    schedule 12.08.2014


Ответы (1)


вы можете попробовать эту формулу для формулы именованного диапазона.

В диспетчере имен отредактируйте свой именованный диапазон и вставьте измененную версию приведенной ниже формулы в поле относится к:.

Изменения будут касаться чисел в функции address(). Первое значение — это номер строки, второе — номер столбца, поэтому столбец A = 1, столбец B = 2 и так далее.

=ДВССЫЛ(АДРЕС(1,13)&":"&АДРЕС(50,13))

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

Таким образом, приведенный выше пример означает, что мой именованный диапазон будет начинаться с M1:M50.

person KevHun    schedule 12.08.2014
comment
Спасибо, если мне нужно указать лист, где я должен ввести это в формулу, т.е. лист3? - person user3890637; 12.08.2014
comment
Просто сделайте так: =ДВССЫЛ(Лист1!&АДРЕС(1,1)&:&АДРЕС(50,1)). Я только что добавил Sheet1! перед адресом, только для первого адреса. Затем это добавляет адрес листа - person KevHun; 13.08.2014