Легенда такая: в таблице перечислены номера заказов, валюта и суммы (номер сформирован по известным правилам, коды валют - по ISO, суммы произвольные). Для управленческой отчетности нужно по-разному агрегировать эти данные, а возиться с промежуточными справочниками или сводными таблицами не хочется. Нужна пользовательская функция (UDF), которая в Excel по заданной в ячейке маске номера (де-факто - массив критериев) суммирует соответствующие значения сумм из таблицы, расположенной в том же файле на отдельном листе. Видел реализацию подобной идеи для случая, когда таблица находится в базе данных, - там в эксель это вытягивалось при помощи конструкции из sql Select Sum и Inner Join. В приложенном файле попытался показать, какой результат должна давать функция при различных аргументах. Размер таблицы может достигать сотен тысяч строк, поэтому скорость вычислений имеет значение.
Легенда такая: в таблице перечислены номера заказов, валюта и суммы (номер сформирован по известным правилам, коды валют - по ISO, суммы произвольные). Для управленческой отчетности нужно по-разному агрегировать эти данные, а возиться с промежуточными справочниками или сводными таблицами не хочется. Нужна пользовательская функция (UDF), которая в Excel по заданной в ячейке маске номера (де-факто - массив критериев) суммирует соответствующие значения сумм из таблицы, расположенной в том же файле на отдельном листе. Видел реализацию подобной идеи для случая, когда таблица находится в базе данных, - там в эксель это вытягивалось при помощи конструкции из sql Select Sum и Inner Join. В приложенном файле попытался показать, какой результат должна давать функция при различных аргументах. Размер таблицы может достигать сотен тысяч строк, поэтому скорость вычислений имеет значение.draltr
Сообщение отредактировал draltr - Вторник, 02.02.2021, 00:45