Страницы: 1
RSS
При вырезании/вставке в другое место сбивается ссылка на эту ячейку
 
Подскажите, пожалуйста. В столбце таблицы вбита-протянута формула, пусть предположим, сумма соседних ячеек. При вырезании данных из суммируемых ячеек и вставке их в другое место, формулы сбиваются.Я каждый раз перепротягиваю их перед сдачей отчетов. Нельзя ли как-нибудь упростить все это дело? Т.е. получается в режиме rc в столбце таком-то, даже не в столбце, а в диапазоне конкретном, чтобы была одна и та же формула. Сейчас сидела тыркалась с истиной/ложью - не получается ничего.
 
Excel не глупый и видит, что ячейки, на которые ссылается формула, перемещаются в другое место.  
 
Копировать/вставить/исходное удалить - так не подходит? Ищете сложностей?  
Пожалуйста:  
=A1+B1+C1 превращается в  
=ИНДЕКС($A$1:$A$80;СТРОКА(A1))+ИНДЕКС($B$1:$B$80;СТРОКА(A1))+ИНДЕКС($C$1:$C$80;СТРОКА(A1))  
 
Так проще? :)
 
Так я ячейки с формулами не трогаю, а только суммируемые. Ну, к слову, не только я, кроме меня там понаделают делов, что все сбивается. Все мы такие знатоки экселя... Спасибо, попробую с ИНДЕКСом что получится.
 
Нет, то же самое, формула не видит, что суммируемые ячейки уже другие.
 
Разница в чем?  
При прямой ссылке на ячейку формула отслеживает эту ячейку.  
При ссылке на ячейку через формулу отслеживается ссылка.  
=ИНДЕКС($B$1:$B$80;СТРОКА(A1)) -из диапазона выбирается значение, порядковый номер которого - строка ячейки А1 (1).  
При перемещении В1 ссылка останется на первую ячейку столбца В.  
При перемещении А1 ссылка изменится, т.к. в формуле идет ссылка на строку, в которой находится перемещенная ячейка.  
Поэтому в формуле, предложенной ранее, необходимо заменить СТРОКА(A1) на СТРОКА(1:1).
 
Спасибо огромное, замена в формуле на 1:1 помогла.)  
 
Неужели такого нету, что E1:E30 - такая-то формула, складывающая с о с е д н и е ячейки или, ну как в rc если смотреть, на столько-то удаленные от данной. Куда нибудь отдельно это все дело вынести, если собьется, чтобы писала ошибку.
 
Вы же спросили в общем, сумма была только как пример.  
Есть:  
=СУММ(A1:C1)  
При перемещении ячеек по отдельности ссылки не нарушаются. Но изменятся при перемещении диапазона A1:C1.  
Можно задать диапазон с начальной и конечной ячейками, которые не будут перемещаться.  
 
Зачем эти проблемы?  
Было бы хуже, если бы Excel не отслеживал перемещение данных. Вот тогда ошибок было бы значительно больше.  
Не пытайтесь обмануть программу. Учитесь работать, как правильно. Вы же не просите дорожников столб передвинуть только потому, что у Вас руль не в ту сторону повернулся?
 
Я написала про чтобы показывало ошибку, до того, как прочитала ваш совет по исправлению формулы ИНДЕКС. Так что мое "неужели..." можно удалить - поторопилась. Спасибо еще раз.)
 
Нормально смотрится. Вопрос - и на него ответ. Пускай остается для заходящих в тему.  
А Вы учитесь ездить по правилам :)
 
К содержимому формулы можно обратиться, написав функцию на VBA.  
Я с VBA познакомился недавно,поэтому пока моих знаний хватило только на такое.  
Функция годится только в том случае, если в ячейке с формулой участвуют только ячейки той же строки, т.е. как в вашем примере.  
 
Public Function Find_Error(rng)  
If Not rng.HasFormula Then  
Find_Error = "Нет формулы"  
Exit Function  
End If  
Set result = rng.Find(rng.Row, LookIn:=xlFormulas)  
Find_Error = IIf(result Is Nothing, "Ошибка", "OK")  
End Function  
 
Прикрепил пример, вроде работает.
Страницы: 1
Читают тему
Наверх