performance - sumar - Función SUMIFS en Google Spreadsheet
sumar.si.conjunto en google docs (4)
A partir de diciembre de 2013, Google Sheets ahora tiene una función SUMIFS, como se menciona en esta publicación del blog y se documenta here .
Tenga en cuenta que las hojas de cálculo antiguas no se convierten a la nueva versión, aunque puede intentar copiar y pegar los datos en un nuevo libro de trabajo.
Estoy tratando de tener una función similar a SUMIFS (como SUMIF pero con más de un solo criterio) en una hoja de cálculo de Google. MS-Excel tiene esta función incorporada ( http://office.microsoft.com/en-us/excel-help/sumifs-function-HA010342933.aspx?CTT=1 ).
He intentado usar ArrayFormula ( http://support.google.com/docs/bin/answer.py?hl=en&answer=71291 ), similar al SUMIF:
=ARRAYFORMULA(SUM(IF(A1:A10>5, A1:A10, 0)))
Añadiendo Y :
=ARRAYFORMULA(SUM(IF(AND(A1:A10>5,B1:B10=1), C1:C10, 0)))
Pero la función AND no recogió la instrucción ArrayFormula y devolvió FALSE todas las veces.
La única solución que pude encontrar fue usar QUERY, que parece un poco lento y complejo:
=SUM(QUERY(A1:C10,"Select C where A>5 AND B=1"))
Mi objetivo es llenar una tabla (similar a una tabla dinámica) con muchos valores para calcular:
=SUM(QUERY(DataRange,Concatenate( "Select C where A=",$A2," AND B=",B$1)))
¿Alguien logró hacerlo de una manera más simple y rápida?
En mi opinión, la forma más sencilla de realizar funciones similares a SumIFS es combinar las funciones FILTRO y SUMA.
SUM(FILTER(sourceArray, arrayCondition_1, arrayCondition_2, ..., arrayCondition_30))
Por ejemplo:
SUM(FILTER(A1:A10;A1:A10>5;B1:B10=1)
Explicación: el FILTRO () filtra las filas en A1: A10 donde A1: A10> 5 y B1: B10 = 1. Luego SUM () suma los valores de esas celdas.
Este enfoque es muy flexible y permite realizar funciones de COUNTIFS () también (por ejemplo, usar COUNT () en lugar de SUM ()).
Encontré una función más rápida para llenar la "tabla dinámica":
=ARRAYFORMULA(SUM(((Sample!$A:$A)=$A2) * ((Sample!$B:$B)=B$1) * (Sample!$C:$C) ))
Parece que se ejecuta mucho más rápido sin las funciones de cadena y consulta más pesadas.
Este tipo usó la función de filtro para cortar la matriz según los criterios, luego la función de suma para agregarlo todo en la misma celda. http://www.youtube.com/watch?v=Q4j3uSqet14 Funcionó como un encanto para mí.