Страницы: 1
RSS
В чем преимущество указания адреса ячейки с помощью ф-и Адрес перед явным указанием ячейки
 
Добрый день. В ячейке D15 находится следующая функция: =СУММ(E15:ДВССЫЛ(АДРЕС(СТРОКА();СТОЛБЕЦ(I15)-1;4))). Понятно как она работает. Вопрос в смысле использования ДВССЫЛ(АДРЕС(СТРОКА();СТОЛБЕЦ(I15)-1;4)) вместо Н15.
Прекрасно понимаю, что никто не будет зря усложнять, значит есть преимущества, возможно в стабильности (безопасности...).
 
Цитата
Ливиан пишет:
никто не будет зря усложнять
да ну?..
это далеко не факт.

если такая формула на листе одна - это очень похоже именно на ненужное усложнение.
смысл мог бы быть, если формула задумана как копируемая-протягиваемая, но...
...но и в этом случае ДВССЫЛ() - явно не лучший вариант.

а вообще файлик не мешало бы глянуть.
:)
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Формула не одна, их сотни... Файл не могу скинуть, корпоративная этика  :).
Цитата
ikki пишет:
смысл мог бы быть, если формула задумана как копируемая-протягиваемая
СУММ(E15:Н15) - прекрасно копируется и протягивается (можно еще в зависимости от потребностей и тип ссылок настроить...), так что думаю причина другая...
Цитата
ikki пишет:
...но и в этом случае ДВССЫЛ() - явно не лучший вариант.
Думаю, основная смысловая нагрузка этой формулы - это Адрес в связке с Строка и Столбец. ДВССЫЛ выполняет в данном случае, скорее, вспомогательную роль. И раз разработчик дает эти функции, да еще и с комментарием в Справке, что они часто идут вместе, цитата: "Чтобы передать функции АДРЕС номера строки и столбца, в качестве ее аргументов можно использовать другие функции (например, функции СТРОКА и СТОЛБЕЦ).", то справедливо предположить наличие неких преимуществ перед простым, в данном случае, указанием ячейки Н15.
Чтобы прояснить картину, файл сложный - бюджет с консолидацией, предполагает добавление новых строк, (не уверен, может и столбцов..., хотя вряд ли). Опять таки не уверен, но возможно идет загрузка в САП...
 
пс. ещё есть некоторый смысл городить подобный огород, если ячейка H15 может быть удалена, но требуется, чтобы формулв не выдавала ошибку #ССЫЛКА!, а считала сумму по ту ячейку, которая займёт место ячейки H15 после удаления.

но и в этом случае, думаю, лучше использовать функцию ИНДЕКС() (другая альтернатива - СМЕЩ() ничем особо не лучше ДВССЫЛ())
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Цитата
ikki пишет:
если ячейка H15  может быть  удалена, но требуется, чтобы формулв не выдавала ошибку #ССЫЛКА!, а считала сумму по ту ячейку, которая займёт место ячейки H15 после удаления.
В этом случае, не имеет особенного смысла, т.к. в обоих случаях (с использованием Адрес и явным адресом Н15), при удалении ячейки Н15 формулы перестраиваются.
 
Цитата
Ливиан пишет:
в обоих случаях ... формулы перестраиваются.
да?
и вы это попробовали?
и результат - одинаковый?
:)
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Пробовал. На листе создал обе формулы (в разных строках). Удаляю предшествующую формуле ячейку - все ок. Ссылки в обеих формулах адекватно меняются. Суммируются ячейки непосредственно до формулы, в обоих случаях.
 
вот мой (раз уж вашего мы так и не можем дождаться) простенький пример.
попробуйте подобавлять-поудалять разное кол-во столбцов между столбцами D и H
(да и перед D - тоже можно).
и посмотрите, как меняются при этом результаты.
Изменено: ikki - 05.08.2013 14:14:26
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Я создал такие же формулы, они перестают работать, только если удалить ячейку, адрес которой указан явно, в вашем примере ячейки столбца Е. Даже в этом случае, формула в строке 1 (с явными адресами) продолжают работать, а вот во 2 строке (с указанием адреса с помощью ДВССЫЛ и Адрес) перестает. Что очень интересно, на самом деле... Ведь в обоих случаях удаленный столбец Е указан явно и получается, если второй адрес диапазона указан через ДВССЫЛ и Адрес, то формула сбивается, а если явно, то продолжает работать. Но это отступление.
По факту, опять нестыковка, логичнее всегда применять СУММ(E15:Н15) а не  =СУММ(E15:ДВССЫЛ(АДРЕС(СТРОКА();СТОЛБЕЦ(I15)-1;4))). Даже в этом случае:
Цитата
ikki пишет:
если ячейка H15  может быть  удалена, но требуется, чтобы формулв не выдавала ошибку #ССЫЛКА!, а считала сумму по ту ячейку, которая займёт место ячейки H15 после удаления
Потому как ситуация как раз наоборот: Формула СУММ(E15:Н15) перестраивается, а  =СУММ(E15:ДВССЫЛ(АДРЕС(СТРОКА();СТОЛБЕЦ(I15)-1;4))) - выдает ошибку при удалении столбца Е.
 
Цитата
Ливиан пишет:
а=СУММ(E15:ДВССЫЛ(АДРЕС(СТРОКА();СТОЛБЕЦ(I15)-1;4))) - выдает ошибку при удалении столбца Е.
не подменяйте понятия, плиз.
речь шла о том, что формула должна быть нечувствительна к удалению столбца H - перечитайте мой пост #4.
да и вопрос-то у вас был именно об этом:
Цитата
Ливиан пишет:
Вопрос в смысле использования ДВССЫЛ(АДРЕС(СТРОКА();СТОЛБЕЦ(I15)-1;4)) вместо Н15.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
Страницы: 1
Читают тему
Наверх