2014-11-21 4 views
2

Я нахожу сумму отфильтрованных значений, игнорируя # DIV/0! ошибки. Таким образом, я объединил следующие формулы:Сумма Отфильтрованные значения Excel

=SUBTOTAL(9,$I$2:$I$349) 

и

=SUMIF($I$2:$I$349,"<>#DIV/0!") 

Чтобы получить:

SUBTOTAL(9,SUMIF($I$2:$I$349,"<>#DIV/0!")) 

Однако, первенствует возвращает ошибку. Какие-нибудь идеи? Я не могу поместить формулу в другую формулу?

+0

. Подтемальная потребность в диапазоне, вы предоставляете сумму, которая появляется. BTW, описание ошибки было бы хорошим. – ZAT

+0

Вы не можете использовать 'SUMIF' как в' SUBTOTAL', потому что 'SUBTOTAL' ожидает ссылку на диапазон значений для работы. 'SUMIF' возвращает значение, а не ссылку. – grovesNL

+0

@ZAT, просто стандартная ошибка, говорящая о проблеме с формулой. Нет особенностей. Как еще я мог бы объединить эти формулы? – Navron

ответ

1

В какой версии Excel вы используете?

В Excel 2010 и более поздних версиях AGGREGATE функции работает немного как SUBTOTAL - он может выполнять различные функции, игнорируя при этом скрытые строки ....... но он также имеет опцию игнорировать значение ошибок, так что без каких-либо вспомогательных столбцов может использовать эту единую формулу

=AGGREGATE(9,7,I2:I349)

9 обозначает "sum" согласно SUBTOTAL7 в то время как 2-й аргумент указывает, что значения ошибок и скрытые значения должны быть проигнорированы. Существуют и другие варианты, см. Справку Excel для получения дополнительной информации.

+0

Блестящий! Я каждый день узнаю о Excel! Это должен быть ответ. Простой, понятный и простой в редактировании, если что-то должно произойти или измениться в будущем. – guitarthrower

0

Используйте вспомогательный столбец

В H2 входят:

=IFERROR(G2,"") 

и скопировать вниз, а затем использовать:

=SUBTOTAL(9,$H$2:$H$349) 
+0

Упрощенное решение, которое работает! – Navron

1

Я нашел это немного блеска с некоторыми копания на сетях: http://www.excelbanter.com/showthread.php?p=760730

Это сложная формула для подражания, но должна сделать трюк.

{=SUM(IF(ISNUMBER($I$2:$I$349),$I$2:$I$349)*(SUBTOTAL(3,OFFSET($I$2:$I$349,ROW($I$2:$I$349)-MIN(ROW($I$2:$I$349)),0,1))))} 

Это формула массива, поэтому обязательно нажмите Ctrl + Shift + Enter (вместо Enter).

Я не могу притворяться, что понимаю все это, не вникая в это, но он работает!

+0

Хорошо работает! Благодаря! – Navron

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