2012-01-18 2 views
0

Я борется с этим на некоторое время ... У меня есть следующие данные таблицы на листе под названием PickupDataExcel 2003 SUM из табличных данных с использованием нескольких критериев

enter image description here

Я тогда лист, где я пытаюсь подвести доход (столбец D), где org_code (столбец а) = значение в строке 18 и месяц (COL C) = значение в колонке а

enter image description here

Я пытался с SUMPRODUCT, SUM (IF (blah, IF (blah, x, 0), 0) (нажатие ctrl-shift-enter) и даже мастер условной суммы. Я не думаю, что могу использовать DSUM, поскольку для параметра критериев требуется диапазон ячеек.

Я также попытался объединить ячейки, поскольку я думал, что это может привести к результатам.

Может ли кто-нибудь предоставить рабочее решение?

Heres тест Учебное пособие: here

Благодаря

Ли

ответ

3

SUMPRODUCT будет работать для вас:

=SUMPRODUCT(D1:D8,--(A1:A8=OrgRef),--(C1:C8=MonthRef)) 

OrgRef и MonthRef являются заполнителями для адресов ваших фильтров.

В вашем примере книга представляет собой текст, в то время как поле «Org_Code», в котором у вас есть 26, является числом. Они не совпадут. Либо конвертируйте свои кодовые коды в числа, либо в предисловие 26 с помощью «чтобы пометить его как строку.

+0

гений-спасибо! как вы могли сказать, что некоторые из чисел были сохранены в виде строк? я бы ожидал, что excel выделит ячейки, как обычно, с номерами, хранящимися в виде строк. также - что это такое -? –

+0

Наиболее очевидным признаком является Excel, который выравнивает строки и выравнивает значения. Это можно переопределить, но это хорошая первая проверка. Рад, что это сработало для вас. – Jesse

+0

damn- не понял, но я действительно протестировал это в excel 2010 на mac (ни один из других решений, над которыми я работал раньше в 2010 или 2003 году) - этот, который сейчас пробовал в 2003 году, похоже, не работает.если вам удастся заставить его работать, вы можете загрузить мои измененные .xls pleae? –

0

Вы пробовали:

SUMIF() 
SUMIFS() 

или, Excel макросы?

Код

Sub Test1() 
    Dim rRange As Range 
    Set rRange = Range("C:C") 

    Dim iSum As Integer 
    For Each rRange In rRange 

     If (rRange.Offset(0, -2) = 18) Then 
      iSum = iSum + rRange.Value 
     End If 

     If (IsEmpty(rRange.Offset(1, 0))) Then 
      Exit For 
     End If 
    Next rRange 

    Debug.Print iSum 
End Sub 
+0

SUMIFS пришел в Excel 2007 и SUMIF не поддерживает несколько критериев. –

+0

Я начинаю думать, что мне может понадобиться написать определенную пользователем функцию. не могли бы вы объяснить тот, который вы вставили? для каждой непустой ячейки в столбце возвращают сумму всех значений столбца c, где столбец a = 18? –

0

СУММЫ (ЕСЛИ (... должно работать, но да, то вам нужно ип-объединить ваши клетки, так как массив-формула не работает в слитых клетках. Следующий вошли в B19 должен работать (не забывая Ctrl + Shift + Enter)

=SUM(IF(PickupData!$A$2:$A$8=B$18,IF(PickupData!$C$2:$C$8=$A19,PickupData!$D$2:$D$8,0),0)) 
+0

пробовал это, но без радости - я загрузил книгу и связался в вопросе, если у вас есть время, чтобы проверить ошибку - спасибо –

Смежные вопросы