.png)
Buen día a una comunidad increíble,
Estoy intentando desarrollar una macro para recorrer dos matrices. A continuación se muestra un ejemplo de cómo se configuran los datos:
Los datos sin procesar se encuentran en C4:C1500
$ los datos se encuentran en D4:D1500
Los valores de cadena parciales (originalmente extraídos de datos sin procesar) se encuentran en E4:E13.
Las categorías en las que se organizarán los datos sin procesar están en F4:F13
A continuación se muestra la fórmula que armé como prueba de concepto.
=SI(BUSCARV(" * "&E4&" * ",$C$4:$C$1500,1,0)=ERROR.TYPE(#N/A),"Investigar",BUSCARV(" * "&E4&" * ", $E$4:$F$13,2,0))
Esto funciona una línea a la vez, y sólo hasta el final de las listas cortas (sin escribir una declaración anidada masiva). Estoy intentando recorrer los valores parciales y de categoría a través de los datos sin procesar para luego analizar los datos por categoría y $.
Ejemplo: Hoja1
Fila | Columna C (C4:C1500) | Columna D (D4:D1500) | Columna E (E4:E13) | Columna F (F4:F13) |
---|---|---|---|---|
3 | Datos sin procesar | $ | Datos parciales | Categoría |
4 | 210324Sales.BobParr.UT | 785.54 | bobparr | Ventas |
5 | ABCDEF.210324.VentasHelenParr.TN | 214,46 | HelenParr | Ventas |
6 | DashParr.WY.RR.210324 | 238,56 | DashParr | Investigación |
7 | Gestión.NY.JackJackParr.210324 | 1.200,00 | JackJackParr | Gestión |
Hoja2:
Filas | Columna B (B4:B13) | Columna C (C4:C13) |
---|---|---|
3 | Categoría | Total$ |
4 | Ventas | 1.000,00 |
5 | Investigación | 238,56 |
6 | Gestión | 1.200,00 |
A partir de ahí haré otra BUSCARV( para SUMAR(gastos encontrados en la Hoja2.
Estoy abierto a todas las sugerencias para limpiar la fórmula de prueba y estaré agradecido por todo el apoyo con VBA.
Gracias.
Richard VO
Respuesta1
No veo la necesidad de usar VBA. Si tienes Excel 365, puedes combinar las funciones FILTRO, ELEGIR COLORES y SUMA para obtener los resultados deseados. Adapte la siguiente fórmula:
=SUM(CHOOSECOLS(FILTER(Sheet1!$C$2:$F$5,Sheet1!$F$2:$F$5=Sheet2!$B3),{2}))
Baje la fórmula para llenar las otras celdas.