Excel: Дата динамического диапазона, используемая в других полях: Sumproduct

#excel #dynamic #sumproduct

Вопрос:

Я использую формулу sumproduct, чтобы получить первые четыре месяца, затем вторые четыре месяца, третьи четыре месяца чистых продаж до одного месяца до сегодняшнего дня. Это моя формула, которую я использовал:

=IFERROR(SUMPRODUCT($B3:$Y3*(COLUMN($B3:$Y3)gt;=AGGREGATE(15,6,COLUMN($B3:$Y3)/($B3:$Y3lt;gt;0),1) 4*(COLUMNS(B3)-1))*(COLUMN($B3:$Y3)lt;AGGREGATE(15,6,COLUMN($B3:$Y3)/($B3:$Y3lt;gt;0),1) 4*(COLUMNS(B3)))*($B$1:$Y$1lt;EOMONTH(TODAY(),-1) 1)),0)

Однако мне нужно охватить тот же диапазон, что и для чистых продаж, что и для других показателей, таких как винтики в моем примере. Я не могу использовать приведенную выше формулу для других показателей, таких как винтики, поскольку иногда они равны нулю в том же диапазоне, что и в чистых продажах.Но мне также нужно зафиксировать нули здесь.

Пример 1

Пример 2

Чистые Продажи

Янв. Февраль Мар Апр Май Июнь Июль Авг Сентябрь Окт Ноя Дек
0 0 2 3 4 5 2 3 2 3 2 4
 ---gt; 1st period= 14 2nd period= 10   

COGS (соответствует тому же диапазону дат, что и Чистые продажи)

Янв. Февраль Мар Апр Май Июнь Июль Авг Сентябрь Окт Ноя Дек
0 0 0 0 0 2 1 4 2 3 2 4

—gt; 1-й период= 2 2-й период= 11

Ответ №1:

Вы можете оставить всю логику проверки диапазона из первой формулы и изменить только диапазон значений, т. е. первую формулу в моем примере:

=IFERROR(SUMPRODUCT($A3:$L3*(COLUMN($A3:$L3)gt;=AGGREGATE(15,6,COLUMN($A3:$L3)/($A3:$L3lt;gt;0),1) 4*(COLUMN(A3)-1))*(COLUMN($A3:$L3)lt;AGGREGATE(15,6,COLUMN($A3:$L3)/($A3:$L3lt;gt;0),1) 4*(COLUMN(A3)))*($A$2:$L$2lt;EOMONTH(TODAY(),-1) 1)),0)

вторая формула для винтиков:

=IFERROR(SUMPRODUCT($O3:$Z3*(COLUMN($A3:$L3)gt;=AGGREGATE(15,6,COLUMN($A3:$L3)/($A3:$L3lt;gt;0),1) 4*(COLUMN(A3)-1))*(COLUMN($A3:$L3)lt;AGGREGATE(15,6,COLUMN($A3:$L3)/($A3:$L3lt;gt;0),1) 4*(COLUMN(A3)))*($A$2:$L$2lt;EOMONTH(TODAY(),-1) 1)),0)

введите описание изображения здесь

Комментарии:

1. Огромное спасибо. Это то решение, которое я искал.