2015-12-30 5 views
1

Я приведу проблему с примером. Прикрепленный экран для печати excel отрывок.Условная сумма в нефиксированном диапазоне в Excel

Я хотел бы суммировать числа в столбце B, которые соответствуют 2 условиям (зеленые строки в excel). Первый: столбец F равен «закрытому». Второй: столбец C, равный тем номерам, которые, в свою очередь, соответствуют следующему условию: столбец F равен «Partial Sold».

Я пробую следующую матричную формулу, но я получил только сумму, которая соответствует этим условиям: столбец F равен «закрыто», а столбец C равен «1».

=SUMPRODUCT($D$66:$D$86,IF($F$66:$F$86="Closed",1,0),IF($C$66:$C$86=INDEX($C$66:$F$86,SMALL(IF($F$66:$F$86="Partial Sold",$C$66:$C$86),ROW(1:20)),1),1,0)) 

Excel Data: This is a print screen

OP sample data

+0

re: * 'Я хотел бы суммировать числа в столбце B' * - В столбце B нет чисел. В приведенной формуле вы можете указать, что это может быть столбец ** D **. – Jeeped

+0

Вы пытались пропустить часть 'SUMPRODUCT'? Просто If должно быть достаточно ... если бы я получил вас правильно –

+0

Jeeped, вы правы. Я хотел бы суммировать числа в столбце D. – Federico

ответ

0

Вы можете произвести это с формулой array¹ на основе SUM и INDEX со второй вложенной INDEX доставкой числа из столбца C, которые соответствуют Partial Продана. Из-за циклического вычисления формулы массива вы должны flip вложенный условный массив с TRANSPOSE function, чтобы он не обрабатывал в строке с другими факторами.

sum_for_1579

Формула array¹ в Н4,

=SUM(INDEX(D3:D23*(F3:F23="Closed")*(C3:C23=TRANSPOSE(INDEX(C3:C23*(F3:F23="Partial Sold"), ,))), ,)) 

¹ Формулы массива должны быть завершены с Ctrl + Сдвиг + Enter↵. После правильного ввода в первую ячейку они могут быть заполнены или скопированы или правы точно так же, как и любая другая формула. Попробуйте и уменьшите ссылки на полные столбцы на диапазоны, более подробно представляющие экстенты ваших фактических данных. Формулы массива ломают логарифмически расчетные циклы, поэтому рекомендуется сократить суженные диапазоны ссылок до минимума. См. Guidelines and examples of array formulas для получения дополнительной информации.

+0

Jeeped, спасибо! Как вы видите на своем изображении, это работает. Функция TRANSPOSE имеет здесь интересную роль! – Federico

+0

Jeeped, может быть, вы также можете помочь мне в другом вопросе, который у меня есть. Я опубликовал его 3 месяца назад: http://stackoverflow.com/questions/32482369/twinkle-dots-in-parallel-programming – Federico

+0

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