Haz todo lo posible por comprender el código de forma correcta antes de utilizarlo a tu proyecto y si tdeseas aportar algo puedes dejarlo en la sección de comentarios.
Solución:
Me parece que puedes lograr lo que buscas usando la siguiente fórmula:
=SUMPRODUCT(B1:B4*(LOOKUP(A1:A4,C1:C3,D1:D3)=1))
El =1
se refiere al número de grupo del que está buscando las cuentas. Tenga en cuenta que esta es una fórmula regular, no una array fórmula.
He usado referencias de celdas regulares en lugar de regiones con nombre, porque creo que eso hace que sea más fácil relacionar la fórmula con la hoja XLS.
La siguiente captura de pantalla muestra dónde están los diferentes valores e incluye una fórmula un poco más genérica que puede usar para hacer el mismo cálculo para diferentes grupos arrastrando la esquina inferior derecha de la celda. F1
.
Si desea seguir usando nombres, debe introducir diferentes nombres para las columnas con cuentas. la fórmula se vería así:
=SUMPRODUCT(Payments*(LOOKUP(Accounts1,Accounts2,Groups)=1))
En aras de la exhaustividad, consulte Cómo usar la función BUSCAR en Excel para conocer las condiciones en las que puede usar LOOKUP
.
Sí, estás en lo correcto, VLOOKUP
no devolverá un array por lo que necesita otro enfoque. Suponga que la primera columna de grupos se llama accounts2
y la segunda columna es numbers
entonces prueba esto array fórmula,
=SUM(IF(ISNUMBER(MATCH(accounts,IF(numbers=1,accounts2),0)),amounts))
Confirmar con CONTROL+CAMBIO+INGRESAR
Casi 7 años después, les traigo un VLOOKUP()
solucion con un solo array fórmula 🙂
https://stackoverflow.com/questions/47187863/can-excels-index-function-return-array/59311618#59311618
Una fórmula con columnas enteras requeriría un IFERROR(VLOOKUP();0)
construir para tratar con los encabezados, de lo contrario, SUM devolverá un #VALUE
error.
captura de pantalla de Excel
A B C D E F G H
+—————————+———————+———+—————————+———————+———+———————+————————————————
1 | account | group | | account | group | | group | total amount
|---------+-------+---+---------+-------+---+-------+----------------
2 | 101 | 1 | | 101 | 1 | | 1 | FORMULA HERE
3 | 102 | 1 | | 102 | 1 | | |
4 | 103 | 2 | | 103 | 2 | | |
FORMULA HERE
es-nosotros
=SUM(IF(IFERROR(VLOOKUP(N(IF(1,$A:$A)),$D:$E,2,0),0)=$G$2,$B:$B,0))
fr-fr
=SOMME(SI(SIERREUR(RECHERCHEV(N(SI(1;$A:$A));$D:$E;2;0);0)=$G$2;$B:$B;0))
Validar el array fórmula con CONTROL + CAMBIO + INGRESAR
Agradecemos que desees añadir valor a nuestro contenido aportando tu veteranía en las notas.