Функция SUMIFS в Google Spreadsheet

Я пытаюсь использовать аналогичную функцию для SUMIFS (например, SUMIF, но с более чем одним критерием) в Google Spreadsheet. MS-Excel поддерживает эту функцию ( http://office.microsoft.com/en-us/excel-help/sumifs-function-HA010342933.aspx?CTT=1 ).

Я попытался использовать ArrayFormula ( http://support.google.com/docs/bin/answer.py?hl=ru&answer=71291 ), аналогично SUMIF:

=ARRAYFORMULA(SUM(IF(A1:A10>5, A1:A10, 0))) 

Добавив AND :

 =ARRAYFORMULA(SUM(IF(AND(A1:A10>5,B1:B10=1), C1:C10, 0))) 

Но функция И не взяла инструкцию ArrayFormula и все время возвращала FALSE.

Единственное решение, которое я мог найти, это использовать QUERY, который кажется немного медленным и сложным:

 =SUM(QUERY(A1:C10,"Select C where A>5 AND B=1")) 

Моя цель – заполнить таблицу (похожую на сводную таблицу) со многими значениями для вычисления:

 =SUM(QUERY(DataRange,Concatenate( "Select C where A=",$A2," AND B=",B$1))) 

Кто-нибудь мог сделать это проще и быстрее?

Самый простой способ легко сделать SumIFS-подобные функции, на мой взгляд, – объединить функцию FILTER и SUM.

 SUM(FILTER(sourceArray, arrayCondition_1, arrayCondition_2, ..., arrayCondition_30)) 

Например:

 SUM(FILTER(A1:A10;A1:A10>5;B1:B10=1) 

Объяснение: FILTER () фильтрует строки в A1: A10, где A1: A10> 5 и B1: B10 = 1. Затем SUM () суммирует значения этих ячеек.

Этот подход очень гибкий и легко позволяет также выполнять функции COUNTIFS () (просто используйте COUNT () вместо SUM ()).

Я нашел более быструю функцию, чтобы заполнить «сводную таблицу»:

 =ARRAYFORMULA(SUM(((Sample!$A:$A)=$A2) * ((Sample!$B:$B)=B$1) * (Sample!$C:$C) )) 

Кажется, он работает намного быстрее без более тяжелых функций String и Query .

По состоянию на декабрь 2013 года Google Таблицы теперь имеют функцию SUMIFS, как упоминается в этом сообщении в блоге и задокументированы здесь .

Обратите внимание, что старые таблицы не конвертируются в новую версию, хотя вы можете попробовать скопировать данные в новую книгу.

Этот парень использовал функцию «Фильтр» для измельчения массива по критериям, затем функцию суммы, чтобы добавить все в одну ячейку. http://www.youtube.com/watch?v=Q4j3uSqet14 Это работало как прелесть для меня.

Interesting Posts

Как добавить проект библиотеки в проект Android?

Как переносить и группировать данные в Excel 2010?

Страница непрерывной петли (не бесконечный свиток)

В каком дистрибутиве Linux есть самые современные пакеты?

Как запустить код в фоновом streamе на Android?

Что со статической памятью в java?

Разрешение скрипта Google ScriptValue

Почему мне нужно переопределить методы equals и hashCode в Java?

Создание BitmapImage из массива байтов

Существуют ли сторонние файлы cookie, кроме рекламы?

Как легко изменить порядок строк в excel с помощью перетаскивания или перемещения или перемещения вниз?

Как извлечь текст, который находится между круглыми скобками (круглые скобки)?

Когда мне нужно быстро получить доступ к свойствам с помощью self?

Суперпростой пример наблюдателя C # / наблюдаемого с делегатами

Как написать правильный нуль-безопасный коалесцирующий оператор в scala?

Давайте будем гением компьютера.