| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Программирование, связанное с 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, 17:59 |
| Пример не укажите |