Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Ошибка: подставляются абсолютные адреса вместо имен переменных
 
мне нравятся имена переменных. И вот я забцал такую формулу
Код
=ЕСЛИ(И(ДВССЫЛ(ISTOK&"!document";)="DIPLOM";СТРОКА()=Tekushaya);ДВССЫЛ("["&ISTOK&"]5!"&ЕСЛИ(ПРАВСИМВ(ЯЧЕЙКА("имяфайла";$A$1);1)="P";"J";"K";)&196);7*ВПР(ДВССЫЛ(ЕСЛИ(ДВССЫЛ(mashina&СТРОКА())="--";traktor;mashina)&СТРОКА());ДВССЫЛ(Variant.xls!Bbaza);7;ЛОЖЬ)/podgon)

тут что-то старшное, и я сам уже давноо не понимаю, что она делает :)

проблема в следующем: мы  видим  ISTOK , podgon,  traktor   и mashina . Это имена переменных (или как правильно их называть ?)  В ячейке содержится значение I и она имеет имя mashina (traktor   и mashina находятся в 1 строке). Вместе со СТРОКА() мы получаем   координату ячейки в столбе I и текущей строки. Очень удобно, все ячейки содержат одну формулу. Но при копировании этой здоровой формулы в низ или вверх вместо каждого имени переменной подставляется ее абсолютный адрес, который также меняется вместе с копированием этой формулы.
Код
=ЕСЛИ(И(ДВССЫЛ(AY7&"!document";)="DIPLOM";СТРОКА()=AY5);ДВССЫЛ("["&AY7&"]5!"&ЕСЛИ(ПРАВСИМВ(ЯЧЕЙКА("имяфайла";$A$1);1)="P";"J";"K";)&196);7*ВПР(ДВССЫЛ(ЕСЛИ(ДВССЫЛ(I2&СТРОКА())="--";H2;I2)&СТРОКА());ДВССЫЛ(Variant.xls!Bbaza);7;ЛОЖЬ)/AK63)

Ясно, что эти новые абсолютные адреса не указывают на ячейку с именем mashina. Также и для других имен. Хотя раньше все работало, может Windows новая или что-то включено/выключено в настройках Excel . Что где включить ?
Изменено: seregas - 17 Апр 2015 16:33:52
 
В файле показать нет желания?
 
Офф. Мужественно дочитал до конца весь текст в надежде...., но увы, чудо не произошло, небольшой файл-пример, видимо, не прикрепился...

Цитата
seregas написал: Что где включить ?
Для начала логику - как помогающим воспроизвести всю эту "катастрофу" с именованными ЯЧЕЙКАМИ ("мне нравятся имена переменных") и многоэтажными формулами? Самим?
Согласие есть продукт при полном непротивлении сторон.
 
конечно, рабочая строка 15   , там все считает. Но у вас наверное не будет, там раскидано много связанных файлов.
Как скопировать формулу из ячейки  M15  , вниз или вверх, чтобы в формуле остались   живые имена   ?  
 
Цитата
seregas написал: Но у вас наверное не будет
Наверное. Навскидку: в именованных диапазонах ссылки сделать относительными (по крайней мере строки). В имени ИСТОК диапазон =P!$AY$6 заменить на =P!$AY6. Попробуйте на боевом файле
Согласие есть продукт при полном непротивлении сторон.
 
нет, это не меняет, все тже самое,  что-то с адресацией. Может офис полетел ? Но у Вас же нет  :)  
В ячейке с именем   ISTOK   содержится  название связанного файла  Diplom.xls  -- его надо держать точно.
Наличие связанных файлов здесь не важно, операция копирования отменяет имена. Считает или нет -- это не важно,
формулы при копировании не должны меняться !
Первый раз  такое встречаю
Изменено: seregas - 17 Апр 2015 16:58:00
 
Ну да, смущает это
Цитата
seregas написал: ...раньше все работало...
Цитата
seregas написал: Но у Вас же нет  
но у меня же нет файлов, на именованные диапазоны которых ссылаются формулы, так что

Цитата
seregas написал: Может офис полетел ?
Согласие есть продукт при полном непротивлении сторон.
 
Если у меня офис полетел, то что же у вас повторяет это ? Что-то в самом  файле сломалось
Изменено: seregas - 17 Апр 2015 17:00:58
 
Да у меня просто невозможно протянуть формулу, открывается окно с просьбой указать путь к связанному файлу. Поэтому только гадаю
Согласие есть продукт при полном непротивлении сторон.
 
а  Ctrl+C  Ctrl+V  ?
 
Тоже просит файл
Согласие есть продукт при полном непротивлении сторон.
 
Кстати, если встать в строку редактирования формул курсором, то все ваши имена превращаются в обычные адреса ячеек
Согласие есть продукт при полном непротивлении сторон.
 
странно, я могу все протягиватью. В "настройках-дополнительно " можно галки поснимать, чтобы не спрашивало на обновление связей.
Если файлов нет,  или эта карта открывается не на своем рабочем месте, а в другом месте винчестера, она тоже не будет считать, относительные (короткие) ссылки на файлы сами подменяются абсолютными длинными ссылками на файлы . Конечно ничего не считает, но формулы копировать можно, это никто не запрещает, и имена ячеек никогда не удалялись.
У меня в этих картах живых цифр нет, все на связях. Так интереснее, Что случилось с файлом , тем более у нас обоих, значит офис не причем.
Изменено: seregas - 17 Апр 2015 17:15:17
 
Цитата
Sanja написал: Кстати, если встать в строку редактирования формул курсором, то все ваши имена превращаются в обычные адреса ячеек
ДА !!!! это неправильно, и раньше такого не было. При редактировании в строке или ячейке имена ячеек или диапазонов, не должны стираться. Это запрещено самой идеей "именованных диапазонов".
Ладно спасибо
Изменено: seregas - 18 Апр 2015 11:50:36
 
Цитата
seregas написал: Что случилось с файлом , тем более у нас обоих
Раньше я не видел Ваш файл и иже с ним, поэтому не знаю что изменилось :)
Согласие есть продукт при полном непротивлении сторон.
 
создайте чистый файл  с одной имненованной ячейкой, и можно прговодить операции с ней, копировать куда огодно.
значит файл помер, но у меня много такх же карт , под номером 2. Там тоже самое, все они сдохли одновременно. Но на чистом  файле операции  с имнеами работают. Странный случай.
ПолучаетсЯ, что мои формулы слишеом слоные для современного офиса, хотя у меня все тот же  Office 2013 уже 2  или 3 года.
Такие дела
Изменено: seregas - 17 Апр 2015 17:25:51
 
Может обновление какое опять вышло? Были тут приколы с ActiveX. Откатитесь до даты когда все работало (хотя вряд-ли...)
Согласие есть продукт при полном непротивлении сторон.
 
Поставил Office 2016 -- все тоже самое.
Коллеги, попробую создать чистый файл. Есть ли способ, как перенести все имена в него ?
Изменено: seregas - 18 Апр 2015 13:49:55
 
коллеги, я заметил, что если в этом файле сделать так: ставим курсор в адресную строку (сразу слетают все имена ячеек), видим относительный адрес, которрый раньше имел свое имя  mashina , типа I1 (Хотя в Диспетчере имен ячейка mashina имеет адрес $I$1), ставим везде, где были имена, доллары в этой формуле.
И получаем $mashina. Эта хрень работает, копируется на другие строки.
Но для редактирования опять пропадают имена, появляются вместо относительного адреса -- теперь абсолютный.
Но ВОПРОС -- что произошло с Excel ??? Какой смысл в конструкции $ИМЯ  . Имя само по себе -- это абсолютная ссылка. Во все времена и во всех версиях, Что за обновление мы все скачали в последний месяц ? Которое даже в Office 2016 , значит , уже на всю нашу жизнь !!!
 
в принципе согласен, что-то сломалось в самом файле.
Верю, что на чистом файле все будет работать.
Как перенести в новый файл все имена  ??  
Страницы: 1
Читают тему (гостей: 1)