
Tengo una mesa como esta:
TABLE A
NAME VALUE 1 VALUE 2 RESULT
Daniel 1 4
John 3 5
Daniel 5 8
Necesito ejecutar un SUMIF dentro de la columna RESULTADO que verificará las celdas anteriores (Usando OFFSET) y si se cumple una condición, me gustaría que se agreguen ambos VALORES (OFFSET). Sé que puedo lograr esto haciendo dos SUMIF, pero me gustaría saber si es posible hacerlo usando solo uno y luego hacer que mi código sea más legible y rápido. Probé estos sin suerte:
SUMIF(OFFSET($A$2,0,0,ROW()-ROW($A$2),1), "Daniel", SUM(OFFSET($B$2,0,0,ROW()-ROW($B$2),1),OFFSET($C$2,0,0,ROW()-ROW($C$2),1)))
Y:
IF(OFFSET($A$2,0,0,ROW()-ROW($A$2),1)="Daniel", SUM(OFFSET($B$2,0,0,ROW()-ROW($B$2),1),OFFSET($C$2,0,0,ROW()-ROW($C$2),1),0)
El resultado debería ser:
TABLE A
NAME VALUE 1 VALUE 2 RESULT
Daniel 1 4 0
John 3 5 5
Daniel 5 8 5
John 1 5 18
Respuesta1
No es necesario el desplazamiento si no se utilizan referencias de tablas estructuradas:
=SUMIF($A$1:A1,"Daniel",$B$1:B1)+SUMIF($A$1:A1,"Daniel",$C$1:C1)
Si quieres una fórmula, será una fórmula matricial:
=SUM(IF($A$1:A1="Daniel",$B$1:B1+$C$1:C1,0))
Dependiendo de la versión, esto puede requerir el uso de Ctrl-Shift-Enter en lugar de Enter al salir del modo de edición.
Si se utilizan referencias estructuradas a una tabla verdadera, entonces sí, se requiere compensación:
=SUM(IF(OFFSET(Table2[[#Headers],[NAME]],,,ROW($ZZ1))="Daniel",OFFSET(Table2[[#Headers],[VALUE 1]],,,ROW($ZZ1))+OFFSET(Table2[[#Headers],[VALUE 2]],,,ROW($ZZ1)),0))
Nuevamente, dependiendo de la versión de cada uno, esto puede requerir el uso de Ctrl-Shift-Enter en lugar de Enter al salir del modo de edición.