MS Excel: cómo establecer 'no es igual a' en los criterios de rango

0

Supongamos que tiene una lista de registros:

+-----+-----+-----+
|     |  A  |  B  |
+-----+-----+-----+
|  1  | 100 |  x  |
+-----+-----+-----+
|  2  |  50 |  x  |
+-----+-----+-----+
|  3  |  30 |  y  |
+-----+-----+-----+
|  4  | 180 |  z  |
+-----+-----+-----+
|  5  | 140 |  k  |
+-----+-----+-----+

Desea obtener sumas de todos ellos, agrupados por el valor en la columna B. Pero tiene una lista de valores ya predefinida, para la que desea tener sumas:

+-----+-------+-----+
|     |   C   |  D  |
+-----+-------+-----+
|  1  | x     | 150 | < =SUMIF(B1:B;C1;A1:A)
+-----+-------+-----+
|  2  | y     |  30 | < =SUMIF(B1:B;C2;A1:A)
+-----+-------+-----+
|  3  | other | 320 | < =???
+-----+-------+-----+

Obtener la suma total para x y y es fácil: puedes usar SUMIF(B1:B;C1;A1:A) en columna D obtener total para x y así.

Pero, ¿cómo obtener la suma total para todos los registros que no son ni x ni y (en este caso son z y k ) para imprimirlo en D3 ¿célula?

Girafa
fuente
1
SUM (A:A)-SUM (C1:C2)?
Máté Juhász
Buena solución, @ MátéJuhász
Girafa

Respuestas:

1

La solución de Máté Juhász en los comentarios es un método excelente. Pero otra forma de usar un NOT AND Los criterios en esta situación, que pueden ser aplicables a otros problemas, es utilizar SUMPRODUCT o SUMIFS

Por ejemplo:

=SUMPRODUCT((B:B<>C1)*(B:B<>C2)*A:A)
=SUMIFS(A:A,B:B,"<>"&C1,B:B,"<>"&C2)
Ron Rosenfeld
fuente
Asi que, C1, C2 En estas fórmulas solo se puede escribir de forma estática, ¿verdad? ¿No hay manera de iterar sobre C1: C (n-1)? Pensé, tal vez hay una manera de decirle a Excel "sumar valores en la columna A si el valor correspondiente en la columna B no está en el rango C1: C2"
Girafa
1
@Girafa Para lograr ese proceso en particular, puede usar la solución mencionada por @ MátéJuhász. El mío es un método diferente que puede ser aplicable en situaciones donde el suyo no lo es. Por ejemplo, si desea excluir solo x y z. O si no tenía los que se excluyen se resume en un rango.
Ron Rosenfeld