Один из примеров практического применения многогранной функции СУММПРОИЗВ Для большей наглядности можете скачать файл который служит примером данного поста здесь Хочу поделиться с Вами одним не сложным приёмом в Excel. Предположим у Вас имеется мультивалютная таблица , в которой необходимо по курсу дня привести сумму к единой валюте , допустим , что у Вас в таблице 4 разные валюты USD , EUR , RUB и привести все продажи необходимо в UAH.
Вам необходимо заполнить столбец Курс , и исходя из курса на текущий день заполнить столбец Сумма2 суммой продажи в валюте для примера возмём валюту UAH. Для этого необходимо на Лист2 создать справочник курсов валют, следующего вида.
Далее всего одной небольшой формулой можно без труда решить данную задачу.
Давайте разберём данную формулу: =СУММПРОИЗВ((C2&"/"&D2=Лист2!$B$1:$D$1)*(Лист1!A2=Лист2!$A$2:$A$21)*(Лист2!$B$2:$D$21)) 1ая часть формулы (C2&"/"&D2=Лист2!$B$1:$D$1) Здесь C2&"/"&D2 является конкатирование пары валют с разделитеме "/" с помощью которого мы разделяем валютные пары в нашем справочнике валют. Результатом этой функции будет на данном примере USD/UAH , это валютная пара которую нам нада найти в справочнике; Далее =Лист2!$B$1:$D$1 , указывает на часть справочника с названиями валютных пар в которой нам и необходимо найти нашу валютную пару в данном случае USD/UAH
2ая часть формулы (Лист1!A2=Лист2!$A$2:$A$21) , Лист1!A2 - указывает на дату на которую нам необходимо из справочника вытянуть курс по нашей валютной паре , в строке 2 валютной парой как я уже писал выше является USD/UAH , датой на которую нам требуется вытянуть курс 01.08.2013. =Лист2!$A$2:$A$2 , указывает на место в нашем справочнике с перечислением дат.
3яя часть формулы (Лист2!$B$2:$D$21) указывает на поле значений справочника , т.е. на сами курсы валют .
Таким образом результатом работы данной формулы для ячейки E2 на Лист1 должно быть значение из справочника на пересечении валютной пары USD/UAH и даты 01.08.2013.
Этим значением является 8,1200. Таким образом вы можете создавать валютные справочники с любым колличеством валютных пар, мы можем расширить наш справочник следующим образом.
Расширим диапазонны в нашей формуле 1 часть формулы теперь будет выглядеть не так(C2&"/"&D2=Лист2!$B$1:$D$1) , а (C2&"/"&D2=Лист2!$B$1:$Q$1) в связи с тем что мы добавили больше валютных пар в наш справочник , и он стал шире до столбца Q. Вторая часть формулы (Лист1!A2=Лист2!$A$2:$A$21) остаётся неизменно в связи с тем что мы не добавляли дату , и в длинну наш справочник не изменился. 3яя часть формулы с областью значений справочника так же расширяется в ширину с(Лист2!$B$2:$D$21) до (Лист2!$B$2:$Q$21) в связи с тем что с добавлением новых валютных пар расширилась и область значений справочника. Формула в ячейке Е2 на Лист1 теперь будет выглядеть так: =СУММПРОИЗВ((C2&"/"&D2=Лист2!$B$1:$Q$1)*(Лист1!A2=Лист2!$A$2:$A$21)*(Лист2!$B$2:$Q$21)) Теперь имея более полный справочник мы можем на Лист1 в столбце D вводить любую из наших валют нашего справочника USD , RUB , EUR , UAH и смотреть итоговую конвертированную сумму (в стобце F) в любой из этих валют. Я сделаю наш файл немного интерактивным и добавлю возможность изменять валюту конвертации с помощью одной ячейки. Для этого нам необходимо создать справочник возможных валют конвертации , на нашем примере это UAH,USD,EUR,RUB. Делаем список валют на Лист1 в ячейках K2:K5 , в ячейке H2 делаем раскрывающийся список с помощью ДАННЫЕ-ПРОВЕРКА ДАННЫХ-ТИП ДАННХ:СПИСОК-ИСТОЧНИК:=$K$2:$K$5. Далее в столбце D (Валюта конвертации) замени UAH на формулу =$H$2 , что даст возможность с помощью списка сделанного нами в ячейке H2 выбирать валюту в которой нам необхидимо пересчетать сумму в столбце F (Сумма2) Теперь наша таблица выглядит следующим образом:
Теперь мы имеем интерактивную таблицу с мультивалютным справочником. Надеюсь Вам понадобится этот приём в практическом применении. Файл можно скачать тут или тут
|