Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программирование, связанное с MS Office > Помогите упростить гиперформулу в Excel


Автор: anvo 28.2.2007, 12:30
Имеется таблица, которая имеет объединенные по 2 строки на каждое значение аргумента по вертикали, т.е для пары значений по заголовкам столбцов/строк существует сдвоенное значение - еще один параметр А и результат.
необходимо получить сумму по группе значений строка/столбец/А
Нашел решение через просмотр именнованых диапазонов - каждый диапазон по горизонали содержит все значения для параметра заголовка строки. всего таких дапазонов 17.
Ехсел не позволяет ввести в тупую длинную форму выборки и суммирования по всем диапазонам 
Используется следующая формула:
=ЕСЛИ($C7=ИНДЕКС(ДВССЫЛ($C$2&"!ТПА3");1;F$5);ИНДЕКС(ДВССЫЛ($C$2&"!ТПА3");2;F$5);0)+ЕСЛИ($C7=ИНДЕКС(ДВССЫЛ($C$2&"!ТПА3");1;F$5+1);ИНДЕКС(ДВССЫЛ($C$2&"!ТПА3");2;F$5+1);0)
+ЕСЛИ($C7=ИНДЕКС(ДВССЫЛ($C$2&"!ТПА4");1;F$5);ИНДЕКС(ДВССЫЛ($C$2&"!ТПА4");2;F$5);0)+ЕСЛИ($C7=ИНДЕКС(ДВССЫЛ($C$2&"!ТПА4");1;F$5+1);ИНДЕКС(ДВССЫЛ($C$2&"!ТПА4");2;F$5+1);0)
+ЕСЛИ($C7=ИНДЕКС(ДВССЫЛ($C$2&"!ТПА5");1;F$5);ИНДЕКС(ДВССЫЛ($C$2&"!ТПА5");2;F$5);0)+ЕСЛИ($C7=ИНДЕКС(ДВССЫЛ($C$2&"!ТПА5");1;F$5+1);ИНДЕКС(ДВССЫЛ($C$2&"!ТПА5");2;F$5+1);0)
+ЕСЛИ($C7=ИНДЕКС(ДВССЫЛ($C$2&"!ТПА6");1;F$5);ИНДЕКС(ДВССЫЛ($C$2&"!ТПА6");2;F$5);0)+ЕСЛИ($C7=ИНДЕКС(ДВССЫЛ($C$2&"!ТПА6");1;F$5+1);ИНДЕКС(ДВССЫЛ($C$2&"!ТПА6");2;F$5+1);0)
+ЕСЛИ($C7=ИНДЕКС(ДВССЫЛ($C$2&"!ТПА7");1;F$5);ИНДЕКС(ДВССЫЛ($C$2&"!ТПА7");2;F$5);0)+ЕСЛИ($C7=ИНДЕКС(ДВССЫЛ($C$2&"!ТПА7");1;F$5+1);ИНДЕКС(ДВССЫЛ($C$2&"!ТПА7");2;F$5+1);0)
+ЕСЛИ($C7=ИНДЕКС(ДВССЫЛ($C$2&"!ТПА8");1;F$5);ИНДЕКС(ДВССЫЛ($C$2&"!ТПА8");2;F$5);0)+ЕСЛИ($C7=ИНДЕКС(ДВССЫЛ($C$2&"!ТПА8");1;F$5+1);ИНДЕКС(ДВССЫЛ($C$2&"!ТПА8");2;F$5+1);0)

Подскажите как упростить - макрос? обработка через Аксесс?
Файл *.xls не смог прицепить - сообщение " вы не можете загружать такой тип файла

Автор: Akina 28.2.2007, 13:42
Цитата(anvo @  28.2.2007,  13:30 Найти цитируемый пост)
Подскажите как упростить - макрос? обработка через Аксесс?

Оба способа - вполне разумны. Выбирайте любой.

Автор: anvo 28.2.2007, 17:59
Пример не укажите smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)