Страницы: 1
RSS
Ошибка в формуле при вставке скопированных строк в таблицу
 
Добрый всем день/вечер!  
Снова пишу на форум в надежде, что помогут. Меня всегда так выручают советы "бывалых" ;).  
А проблема такая: есть таблица с двумя диапазонами ячеек. Формулой вычисляю сумму произведений ячеек этих диапазонов. Но формула построена так, чтобы при протягивании ячеек, диапазон суммирования всегда заканчивался на последней строке таблицы (подсказали такую чудесную формулу на этом форуме). Но недавно обнаружила следующую ошибку: при копировании и вставке строк (через "добавить скопированные ячейки") в формулах одной или двух ячеек диапазон смещается некорректно. Помогите, пожалуйста, разобраться, как это можно решить без макросов. Можно конечно при вставке строк все время протягивать с верхней строки формулы, но в рабочем файле уже есть данные (в т.ч. и забитые ручками), поэтому такой вариант не очень подходит.
 
Смотрел файл, откровенно говоря не понял в чем проблема, вроде считает как надо. Укажите в какой ячейке именно не правильно, и какая должна быть сумма.
Редко но метко ...
 
Так ведь они выделены (строки 9,20,21).  
А ошибка такая: в строке 9 формула должна выглядеть так: СУММПРОИЗВ(A10:$A$24;B10:$B$24), но при вставке 3 строк, она выглядит так: СУММПРОИЗВ(A13:$A$28;B13:$B$28).
 
Самый простой вариант, без макросов:  
сразу после вставки переходите на D5 -> Ctri+Shift+"стрелка вниз" -> F2 -> Ctrl+Enter  
Возможны ошибки, если забудете это сделать.
 
{quote}{login=Михаил}{date=08.12.2010 04:21}{thema=}{post}после вставки переходите на D5 -> Ctri+Shift+"стрелка вниз" -> F2 -> Ctrl+Enter{/post}{/quote}  
А если в этой колонке помимо формул есть еще и значения, введенные ручками, им это повредит?
 
{quote}{login=Михаил}{date=08.12.2010 04:21}{thema=}{post}Возможны ошибки, если забудете это сделать.{/post}{/quote}  
Вот, вот. Сейчас сижу и ручками все формулы исправляю... :(
 
{quote}{login=insalin}{date=08.12.2010 05:06}{thema=Re: }{post}{quote}{login=Михаил}{date=08.12.2010 04:21}{thema=}{post}после вставки переходите на D5 -> Ctri+Shift+"стрелка вниз" -> F2 -> Ctrl+Enter{/post}{/quote}  
А если в этой колонке помимо формул есть еще и значения, введенные ручками, им это повредит?{/post}{/quote}  
Вредит... Значения заменяются на формулы :(
 
{quote}{login=insalin}{date=08.12.2010 05:06}{thema=Re: }{post}{quote}{login=Михаил}{date=08.12.2010 04:21}{thema=}{post}после вставки переходите на D5 -> Ctri+Shift+"стрелка вниз" -> F2 -> Ctrl+Enter{/post}{/quote}  
А если в этой колонке помимо формул есть еще и значения, введенные ручками, им это повредит?{/post}{/quote}значит надо пересмотреть организацию денных, чтобы в одном столбце таблицы не было и формул и констант.    
 
 
66697
 
Михаил, боюсь, что это невозможно. Количество столбцов в таблице итак уже 76. А такая формула используется в 5 столбцах. Значит придется добавить еще 5 колонок. На это пользователи не пойдут...
 
Попробуйте такую конструкцию.  
 
=СУММПРОИЗВ(ДВССЫЛ("A"&СТРОКА()+1):$A$28;ДВССЫЛ("B"&СТРОКА()+1):$B$28)  
 
диапазон остается правильным при вставке строк.
Редко но метко ...
 
{quote}{login=GIG_ant}{date=08.12.2010 05:45}{thema=}{post}Попробуйте такую конструкцию.  
 
=СУММПРОИЗВ(ДВССЫЛ("A"&СТРОКА()+1):$A$28;ДВССЫЛ("B"&СТРОКА()+1):$B$28)  
 
диапазон остается правильным при вставке строк.{/post}{/quote}  
Спасибо, испробую.
 
Решила проблему через замену диапазонов в формуле СУММПРОИЗВ(A10:$A$24;B10:$B$24) через функцию СМЕЩ. Т.е. теперь формула в 9-ой ячейке выглядит так: СУММПРОИЗВ(СМЕЩ(A9:$A$24;1;0);СМЕЩ(B9:$B$24;1;0)). При вставке новых строк формулы работают корректно.  
Может кому-то поможет ;)  
Всем хорошего дня!
 
Без летучести:  
=СУММПРОИЗВ(A6:ИНДЕКС(A6:A40;ПОИСКПОЗ(9E+307;B6:B40;1));B6:ИНДЕКС(B6:B40;ПОИСКПОЗ(9E+307;B6:B40;1)))  
При одинаковых значениях столбца В (как в примерах):  
=СУММПРОИЗВ(A6:ИНДЕКС(A6:A40;ПОИСКПОЗ(9E+307;B6:B40;1))*$B$5)
Страницы: 1
Читают тему
Наверх