Как выполнить условную косвенную сумму в Excel с помощью функции if? - PullRequest
0 голосов
/ 21 марта 2019

Образец листа

Прибыль

Profit

Продажа

Sales

Расходы

Expenses

1020 * COGS *

COGS

Здравствуйте, у меня есть массив финансовых данных, которые мне нужно превратить в прибыль. Мне удалось успешно сложить все финансовые данные на основе определенного диапазона дат, но я столкнулся с проблемой стоимости проданных товаров. Используя функцию соответствия (извините, если формат смешной, я новичок в stackoverflow; формула также присутствует в листе Google):

=SUM(INDIRECT("'Sales'!"&SUBSTITUTE(ADDRESS(1,MATCH($C$1,Sales!$1:$1,0),4),1,"") &MATCH(A3,Sales!A:A,0)&":"&SUBSTITUTE(ADDRESS(1,MATCH($E$1,Sales!$1:$1,0),4),1,"")&MATCH(A3,Sales!A:A,0)))+SUM(INDIRECT("'Expenses'!"&SUBSTITUTE(ADDRESS(1,MATCH($C$1,Expenses!$1:$1,0),4),1,"")&MATCH(A3,Expenses!A:A,0)&":"&SUBSTITUTE(ADDRESS(1,MATCH($E$1,Expenses!$1:$1,0),4),1,"")&MATCH(A3,Expenses!A:A,0)))+SUM(INDIRECT("'COGS'!"&SUBSTITUTE(ADDRESS(1,MATCH($C$1,COGS!$1:$1,0),4),1,"")&MATCH(A3,COGS!A:A,0)&":"&SUBSTITUTE(ADDRESS(1,MATCH($E$1,COGS!$1:$1,0),4),1,"")&MATCH(A3,Expenses!A:A,0)))

Я могу суммировать каждое значение на каждом листе за строкой при сопоставлении списка идентификаторов, который является постоянным во всех листах данных. Моя проблема заключается в следующем: я хочу только суммировать стоимость проданных товаров только для получения прибыли, если соответствующая стоимость продажи находится в том же месте, но на вкладке продаж. Я попытался заменить сумму на sumif безрезультатно, так как я только знакомлюсь с этими косвенными функциями. Может ли кто-нибудь предоставить мне любую информацию, которая может помочь мне лучше понять эту проблему, я действительно ценю это. Спасибо

Ответы [ 2 ]

0 голосов
/ 21 марта 2019

Я думаю, что COGS должен был быть разовым расходом в день.Так рассчитываются все, кроме первого примера.Если так, то я считаю, что правильный ответ:

{=SUM(INDIRECT("'Sales'!"&SUBSTITUTE(ADDRESS(1,MATCH($C$1,Sales!$1:$1,0),4),1,"")&MATCH(A3,Sales!A:A,0)&":"&SUBSTITUTE(ADDRESS(1,MATCH($E$1,Sales!$1:$1,0),4),1,"")&MATCH(A3,Sales!A:A,0)))+SUM(INDIRECT("'Expenses'!"&SUBSTITUTE(ADDRESS(1,MATCH($C$1,Expenses!$1:$1,0),4),1,"")&MATCH(A3,Expenses!A:A,0)&":"&SUBSTITUTE(ADDRESS(1,MATCH($E$1,Expenses!$1:$1,0),4),1,"")&MATCH(A3,Expenses!A:A,0)))+SUMPRODUCT(IFERROR(INDIRECT("'Sales'!"&SUBSTITUTE(ADDRESS(1,MATCH($C$1,Sales!$1:$1,0),4),1,"")&MATCH(A3,Sales!A:A,0)&":"&SUBSTITUTE(ADDRESS(1,MATCH($E$1,Sales!$1:$1,0),4),1,"")&MATCH(A3,Sales!A:A,0))/INDIRECT("'Sales'!"&SUBSTITUTE(ADDRESS(1,MATCH($C$1,Sales!$1:$1,0),4),1,"")&MATCH(A3,Sales!A:A,0)&":"&SUBSTITUTE(ADDRESS(1,MATCH($E$1,Sales!$1:$1,0),4),1,"")&MATCH(A3,Sales!A:A,0)),0),INDIRECT("'COGS'!"&SUBSTITUTE(ADDRESS(1,MATCH($C$1,COGS!$1:$1,0),4),1,"")&MATCH(A3,COGS!A:A,0)&":"&SUBSTITUTE(ADDRESS(1,MATCH($E$1,COGS!$1:$1,0),4),1,"")&MATCH(A3,Expenses!A:A,0)))}
0 голосов
/ 21 марта 2019

Без дополнительной информации я могу только придумать это.

=SUM(Sales!B2:I2)+SUM(Expenses!B2:I2)-SUMPRODUCT((Sales!B2:I2<>0)*(COGS!B2:I2))

или

=SUMPRODUCT((Sales!B2:I2)*($C$1<=Sales!B1:I1)*($E$1>=Sales!B1:I1))+SUMPRODUCT((Expenses!B2:I2)*($C$1<=Expenses!B1:I1)*($E$1>=Expenses!B1:I1))-SUMPRODUCT((Sales!B2:I2<>0)*(COGS!B2:I2)*($C$1<=COGS!B1:I1)*($E$1>=COGS!B1:I1))

, если даты имеют значение

С предоставленным вами листом возвращается 3,2

Почему вы так много использовали indirect & substitute?

Требуется ли это или фиксированный диапазон соответствует вашим потребностям?

...