2013-04-18 2 views
2

Я анализирую статистику библиотеки, относящуюся к кредитам, предоставленным конкретными категориями пользователей. Данные займа формируют именованный диапазон LoansToApril2013. Excel 2007 является вполне счастливым для меня использовать диапазон индексов в пределах суммы в SUMIF:В Excel 2007, как я могу индексировать индексы SUMIFS из нескольких столбцов из именованного диапазона?

=SUMIF(INDEX(LoansToApril2013,0,3),10,INDEX(LoansToApril2013,0,4):INDEX(LoansToApril2013,0,6)) 

Здесь 10 указывает на определенную категорию пользователей, и это подводит кредиты, сделанные в этой группе из трех столбцов. Под «диапазоном индексов» я имею в виду

INDEX(LoansToApril2013,0,4):INDEX(LoansToApril2013,0,6) 

значение суммы_размера.

Однако, если я переключусь на использование СУММЫ для добавления дополнительных критериев, Excel возвращает ошибку #VALUE, если используется диапазон индексов. Он будет принимать только один индекс.

=SUMIFS(INDEX(LoansToApril2013,0,4),INDEX(LoansToApril2013,0,3),1,INDEX(LoansToApril2013,0,1),"PTFBL") 

работают нормально

=SUMIFS(INDEX(LoansToApril2013,0,4):INDEX(LoansToApril2013,0,6),INDEX(LoansToApril2013,0,3),1,INDEX(LoansToApril2013,0,1),"PTFBL") 

возвращается #value, и я не знаю, почему.

Интересно, что

=SUMIFS(INDEX(LoansToApril2013,0,4):INDEX(LoansToApril2013,0,4),INDEX(LoansToApril2013,0,3),1,INDEX(LoansToApril2013,0,1),"PTFBL") 

также приняты и возвращает то же самое, как и первый, с одним индексом.

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

ответ

0

sumifs формула по образцу формулы массива и сравнений в sumifs должны быть одинакового размера, последний из которых имитирует один столбец в столбце LoansToApril2013 массива 4:4 на колонке 4.

Второй вниз один из них имеет ширину 3 столбца, а столбцы сравнения - 1 колонку, что вызывает ошибку.

+0

Huh. Это никогда не приходило мне в голову - честно говоря, для Excel очень жаль, но спасибо за подсказку. – Shimmin

0

sumifs не может сделать это, но sumproduct может

Пример:

X 1 1 1 
Y 2 2 2 
Z 3 3 3

начиная A1

формула =SUMPRODUCT((A1:A3="X")*B1:D3) дает ответ 3 и изменения значения X в формуле до Y или Z изменяет возвращаемое значение на соответствующую сумму строк.
Обратите внимание, что это не работать, если у вас есть текст в области - это будет возвращать #VALUE!

Если вы не можете избежать текста, то вам нужно формула массива.Используя тот же пример, формула будет =SUM(IF(A1:A3="X",B1:D3)), и ввести его в качестве формулы массива, необходимо использовать CTRL + SHIFT + ENTER ввести формулу - вы должны заметить, что первенствует ставит {} вокруг формулы. Он обрабатывает любой текст как ноль, поэтому он будет успешно складывать числа, которые он находит, даже если у вас есть текст в одном из полей (например, изменить один из 1 в примере, который должен быть blah, и общее количество будет 2 - формула добавит два оставшихся 1 s в строке)

+0

А, спасибо. Это дает мне достаточно, чтобы исправить мою формулу. – Shimmin

0

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

=SUMPRODUCT((INDEX(LoansToApril2013,0,3)=C4) * (INDEX(LoansToApril2013,0,1)="PTFBL") * INDEX(LoansToApril2013,0,4):INDEX(LoansToApril2013,0,6)) 

Это составляет до значений в столбцах 4-6 диапазона LoansToApril2013, где значение в столбце 3 равно значение в C4 (также известный как «ячейки слева от этой одной с формулой») и значение в столбце 1 - «PTFBL».

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

+0

В связи с вашим первым абзацем (согласен!) Зеленый галочка тоже помогает (т.е. принимает ответ)! – pnuts

0

Если вы хотите использовать диапазоны имен, вам нужно использовать INDIRECT для команд Index.

Я использовал эту формулу для проверки условий в двух столбцах, а затем СУММ результаты в таблице, которая имеет 12 столбцов в течение месяцев (столбец выбирается вспомогательной ячейкой, которая составляет от 1 до 12 [L4]).

Так что вы можете сделать, если:

(имя диапазона 1 колонка [C6]) Отдел продаж = [D6]; Регион (диапазон имен столбцов [C3]) = США [D3]; цифры SUM в 12 колонке ежемесячно по имени таблицы диапазона [E7] для этого 1 за один месяц [L4] для тех людей п/Продукты/линии

Просто скопируйте формулу по вашей странице отчета, который имеет столбцы 1-12 для месяцев, и вы получаете ежемесячный сводный отчет с 2 условиями.

= SUMPRODUCT ((ИНДЕКС (КОСВЕННЫЙ ($ C $ 6), 0,1) = $ D $ 6) * (ИНДЕКС (КОСВЕННЫЙ ($ C $ 3), 0,1) = $ D $ 3) * ИНДЕКС (НЕПРЯМЫЕ ($ E7), 0, L $ 4))