Страницы: 1
RSS
сумма произведений и критерии
 
Привет.
Пытаюсь сделать файл, удобный для заполнения, но не выходит найти элегантного решения ни самой формы, ни формулы в частности.
Пока придумал так: в одной таблице вводится дата, торговая точка, кол-во товаров; в другой - цены. Цены меняются.
Хочу в левой табличке получить сумму. Это единственная колонка, где предполагается формула.
Делать столбец под каждый товар, чтоб отдельно цену считать, слишком жирно, т.к. товаров больше, чем в примере.

Возможно ли решение без vba, powerquery, массивов, то есть простой формулой, но так, чтоб файл не задыхался?

Спасибо
 
=СУММПРОИЗВ(факты[@[товар1]:[товар3]]*(цены[[#Заголовки];[товар1]:[товар3]]=факты[[#Заголовки];[товар1]:[товар3]])*(цены[[товар1]:[товар3]])*(цены[точка]=[@точка])*(цены[действует с]=[@дата]))

Такой вариант находит цену, если она указана для даты. Но цена действует и в другие дни, меняется она все же не постоянно. Выходит надо дату из левой таблицы сопоставлять с датой правой.

Пока писал подумал, может добавить в таблице с ценами еще колонку, которая будет вычислять конечную дату, если для товара появилась новая цена, тогда можно будет добавить второй критерий по дате... ща попробую ))
 
Если вторая таблица отсортирована по датам или по датам внутри точки, то
=IFERROR(SUMPRODUCT(INDEX(цены[[товар1]:[товар3]];LOOKUP(2;1/(цены[действует с]<=[@дата])/(цены[точка]=[@точка]);ROW(цены[точка])-ROW(цены[[#Headers];[точка]])););факты[@[товар1]:[товар3]]);"")
Изменено: БМВ - 07.04.2019 21:11:24
По вопросам из тем форума, личку не читаю.
 
Спасибо, сейчас посмотрю

Кстати получилось то, что сам выше предположил с помощью второго критерия даты.
Код
=СУММПРОИЗВ(факты[@[товар1]:[товар3]]*
(цены[[#Заголовки];[товар1]:[товар3]]=факты[[#Заголовки];[товар1]:[товар3]])*
(цены[[товар1]:[товар3]])*
(цены[точка]=[@точка])*
(цены[действует с]<=[@дата])*
(цены[действует по]>=[@дата]))



А как производительность протестировать, не растягивая массив на 10000 строк и без секундомера? В 2019 экселе не предусмотрено ничего такого случаем? )
 
я осёл, таблицу цен надо было изобразить иначе...
а так проще или сложнее сложить произведения?  :oops:  
 
Так сложнее, Придется или три раза применить формулу но для каждого товара, или использовать летучие функции и еще неизвестно что лучше.
Изменено: БМВ - 08.04.2019 07:57:23
По вопросам из тем форума, личку не читаю.
 
Спасибо :)
Эх, боюсь товаров на порядок больше трех. Че ж делать то... Пойду дальше мучить суммпроизв:)
Страницы: 1
Наверх