Пожалуйста, помогите .. Кто-нибудь знает, как я могу сделать диаграмму для суммирования всех данных каждой недели, только если значения больше 0? - PullRequest
1 голос
/ 22 июля 2010

В основном у меня есть такая таблица:

Week   |   Value
1      |      2
2      |      3
2      |     -1
2      |      1
2      |      1
3      |      4
3      |      2    
6      |      4
7      |      1

Мне нужна диаграмма, чтобы показать сумму значений для каждой недели, только если значение больше 0. так что

  • неделя 1 -> 2
  • неделя 2 -> 5
  • неделя 3 -> 6
  • неделя 6 -> 4
  • неделя 7 -> 1

Кто-нибудь знает, как это сделать?

Ответы [ 3 ]

0 голосов
/ 02 августа 2010

Если у вас более одного условия, вы можете использовать SUMPRODUCT (проще, чем формулы Array). В этом случае предположим, что у вас есть данные, которые вы предлагаете в ячейках A1: B10 (с именами столбцов Недели и значения в A1: B1). затем введите D2 номер недели, за которую вы хотите получить сумму (скажем, 2)

Тогда:

=SUMPRODUCT(($A$2:$A$10=$D2)*($B$2:$B$10>0)*$B$2:$B$10)

сделает.

PS: помните, что вы должны исключать имена столбцов из выбора SUMPRODUCT (т.е. не используйте $ A $ 1: $ A $ 10 в приведенной выше формуле)

0 голосов
/ 08 августа 2011

Если у вас Excel 2007/2010, вы можете использовать более новую функцию SUMIFS, как показано ниже: = SUMIFS (Week_Values, Week_Numbers, This_Week2, Week_Values, "> 0") * +1001 *

0 голосов
/ 23 июля 2010

Это два критерия, поэтому вам нужен либо промежуточный столбец, либо формула массива.

Вариант 1 - дополнительный столбец:

Добавьте 3-й столбец с =IF(This_Value>0,This_Value,0) (где This_Value - это ячейка для этой строки со значением в ней), а затем введите SUMIF для номера недели, чтобы подвести итог нового столбца; OR

Вариант 2 - Формула массива:

Для каждого номера недели в виде This_Week в отдельной ячейке: =SUM(IF((Week_Numbers=This_Week)*(Week_Values>0),Week_Values,0)), который вы должны завершить с помощью Ctrl-Shift-Enter вместо просто Enter. Подробнее о формулах массива см. На cpearson.com и Microsoft .

...