Как видно, она состоит нескольких формул ВПР. Задача: преобразовать эту формулу так, что не перечислять руками все ВПР, а чтобы он сам автоматически суммировал диапазон ячеек вот таким образом через ВПР.
В PHP это выглядело бы так: [vba]
Код
function groupedSumm(array $cellRange) { $result = 0; foreach($cellRange as $cellID) $result += VLOOKUP($cellID, 'Таблица1'!$A$4:$AG$91, 4, false); return $result; }
[/vba] В excel без использования VBA можно сделать?
Как видно, она состоит нескольких формул ВПР. Задача: преобразовать эту формулу так, что не перечислять руками все ВПР, а чтобы он сам автоматически суммировал диапазон ячеек вот таким образом через ВПР.
В PHP это выглядело бы так: [vba]
Код
function groupedSumm(array $cellRange) { $result = 0; foreach($cellRange as $cellID) $result += VLOOKUP($cellID, 'Таблица1'!$A$4:$AG$91, 4, false); return $result; }
[/vba] В excel без использования VBA можно сделать?Dron_S
Сообщение отредактировал Dron_S - Четверг, 01.10.2015, 15:46
Массивная формула не нужна, потому что это не правильно и потому, что диапазон ячеек может содержать и 1000 ячеек - что, всю 1000 руками прописывать. Жаль, что мелкомяхкие не додумались сделать SQL-запросы к листам.
Массивная формула не нужна, потому что это не правильно и потому, что диапазон ячеек может содержать и 1000 ячеек - что, всю 1000 руками прописывать. Жаль, что мелкомяхкие не додумались сделать SQL-запросы к листам.Dron_S
Оказалось все не так просто, как я думал. Пример во вложении. Книга состоит из 3х листов. На каждом по одной таблице. Результат нужно записать на лист "Итог". Расскажу поэтапно на примере одной сущности в терминах SQL. 1. К таблице "Множители" нужно присоединить (JOIN) таблицу "КлючЗначение" по полю "Ключ". Промежуточная таблица содержит поля: Сущность|Значение|Множитель. 2. Далее нужно для каждой строки из этой таблицы найти произведение - Значение*Множитель и просуммировать полученные произведения, группируя по полю "Сущность" (SUM() ... GROUP BY). Промежуточный результат: Сущность|Произведение 3. Поле "Произведение" записать в таблицу "Итог" для каждой сущности соответственно.
Оказалось все не так просто, как я думал. Пример во вложении. Книга состоит из 3х листов. На каждом по одной таблице. Результат нужно записать на лист "Итог". Расскажу поэтапно на примере одной сущности в терминах SQL. 1. К таблице "Множители" нужно присоединить (JOIN) таблицу "КлючЗначение" по полю "Ключ". Промежуточная таблица содержит поля: Сущность|Значение|Множитель. 2. Далее нужно для каждой строки из этой таблицы найти произведение - Значение*Множитель и просуммировать полученные произведения, группируя по полю "Сущность" (SUM() ... GROUP BY). Промежуточный результат: Сущность|Произведение 3. Поле "Произведение" записать в таблицу "Итог" для каждой сущности соответственно.Dron_S
Ох пелена... Исправь сама на более подходящее название, вы же знатоки excel, а не я. [moder]При чём здесь знатоки/не знатоки? Кто лучше может сформулировать суть ВАШЕЙ задачи, Вы или я?[/moder]
Ох пелена... Исправь сама на более подходящее название, вы же знатоки excel, а не я. [moder]При чём здесь знатоки/не знатоки? Кто лучше может сформулировать суть ВАШЕЙ задачи, Вы или я?[/moder]Dron_S
Сообщение отредактировал Pelena - Четверг, 01.10.2015, 15:36
Уважаемая, название изменено. Довольна? [moder]Dron_S, не язвите, правила для всех одинаковы! Кстати, советую Вам обратить особое внимание на пункт 6![/moder]
Уважаемая, название изменено. Довольна? [moder]Dron_S, не язвите, правила для всех одинаковы! Кстати, советую Вам обратить особое внимание на пункт 6![/moder]Dron_S
Сообщение отредактировал Manyasha - Четверг, 01.10.2015, 15:56