Jump to content

[Solucionado] Buscarv con matriz referenciada a varios libros y hojas


Recommended Posts

Hola.

Tengo una duda con la formula buscarv que me está trayendo de cabeza.

A ver si pudiérais ayudarme, ya que necesito solucionar esto, y no se me ocurre de otra forma.

Normalmente cuando uso la fórmula buscarv no suelo poner el indicador de columna en número, sino que referencio este valor a una celda que contiene el número en cuestion, ya que suelo utilizar tablas complejas en las que quiero que se me devuelvan varios valores, y al arrastrar las fórmulas de las celdas, se me actualizan solas.

He intentado hacer este mismo procedimiento pero para el valor "matriz" de la misma formula (buscarv), ya que tengo que buscar unos valores situados en la misma posicion en varias hojas de diferentes libros.

Voy a intentar explicarlo:

Tengo un libro resumen, en el que quiero recopilar en cada una de las hojas, todas las horas gastadas por un empleado por meses en funcion del trabajo dedicado. es decir, para una hoja de un trabajador, llamada EDENASS (por ejemplo), seria una hoja parecida a esto:

\ A B C D E ...

1 - NOMBRE_PROYECTO ENERO FEBRERO MARZO ...

2 4 PROYECTO A

3 5 PROYECTO B

4 6 PROYECTO C

en donde en las celdas c2, d2, e2, irian el sumatorio de horas del "proyecto A", situadas en un segundo libro, llamado "horas", con una hoja por mes.

habia numerado los proyectos para poder buscarv (columna A).

lo que quiero conseguir es que automaticamente se referencie la matriz al libro (cada libro de "horas" es un empleado diferente) en funcion del mes a buscar (cada hoja de ese libro de "horas" es un mes), sin tener que ir referenciando cada vez el nombre, ya que van a ser muchas hojas y muchos libros...

habia pensado escribir en una fila el nombre del archivo, e ir concatenando el texto con el titulo de la columna (enero, febrero...), para asi conseguir la ruta del libro y hoja de horas de manera automatica, pero me devuelve error #N/A

algo asi: poner en una celda concatenando textos: [HORAS_2010_EDENASS.xls]ENERO!$C$6:$AK$19] para conseguir en una mas abajo

=BUSCARV($A2;[HORAS_2010_EDENASS.xls]ENERO!$C$6:$AK$19;34;FALSO)

tengo el concepto claro, pero sospecho que no estoy sabiendolo explicar muy bien...

si teneis alguna duda mas de mi explicacion, os envio un ejemplo de excel para que lo veais, pero no se muy bien como cuelga...

Muchas gracias de antemano

edenass

Link to post
Share on other sites

Re: Buscarv con matriz referenciada a varios libros y hojas

buenas si no te he entendido mal lo que quieres es que según valor de unas celdas realice el buscarv en ese rango deberias de combinar las formulas buscarv, indirecto y concatenar

es decir

=BUSCARV(VALORBUSQUEDA;INDIRECTO(CONCATENAR(CELDACON1ºDATO;":";CELDACON2ºDATO));34;0)

no se si es esta la respuesta pero te recomiendo que si no fuese subieses un archivo con datos(ficticios) pero como tienes la estructura y con la solucción escrita a mano, para dar una respuesta acorde

un saludo

Link to post
Share on other sites

Re: Buscarv con matriz referenciada a varios libros y hojas

Justo!!

ya me funciona!

al principio no me iba porque me equivoque en el indicador de columna (en vez de ser "34" era "35"), pero una vez que he detectado el error, de pronto funcionaba a la perfección!!

todavía no entiendo muy bien como funciona la formula "indirecto", pero ya lo buscare en la ayuda del excel.

MUCHISIMAS GRACIAS!!

Link to post
Share on other sites
Guest
This topic is now closed to further replies.


  • Posts

    • Hola a tod@s. Me adelanto dando las gracias por su tiempo en ayudarme en mi caso. Tengo una macro que extrae información de la página web de venta de autos el problema está en extraer ciertos secciones por ejemplo: details, features y specifications. <div class="tab-content" id="sections-contents"> <div class="tab-pane fade" id="details" role="tabpanel" aria-labelledby="details-tab" data-webm-section="features-tab-details"> <div class="tab-pane fade" id="features" role="tabpanel" aria-labelledby="features-tab" data-webm-section="features-tab-features"> <div class="tab-pane fade" id="specifications" role="tabpanel" aria-labelledby="specifications-tab" data-webm-section="features-tab-specifications"> La sección ¨details¨ a su vez se desglosa en varios items y estos a su vez en otros Por ejemplo Items de "details": <div class="row features-item features-item-vehculo"> <div class="row features-item features-item-precio"> <div class="row features-item features-item-kilmetros"> Por ahora necesito extraer toda la sección  <div class="tab-pane fade" id="details" role="tabpanel" aria-labelledby="details-tab" data-webm-section="features-tab-details"> He intentado lo siguiente: '----Detalles Set htmlims = htmldoc.getElementsByClassName("tab-pane fade") For Each htmlim In htmlims Sheets("Hoja1").Cells(fila, 7).Value = htmlim.innerText Next htmlim El cual funciona bien solo que después pasa a extraer la sección de: <div class="tab-pane fade" id="features" role="tabpanel" aria-labelledby="features-tab" data-webm-section="features-tab-features"> Temporalmente lo he solucionado agregando la siguiente línea antes del Next:           If fila = fila Then Exit For       Next htmlim Sin embargo, en la página web ciertos autos no tienen las tres secciones antes mencionadas en ocasiones solo tienen uno o dos secciones.  Intentando escribir htmlim.getElementsByTagName("details")innerText u otros intentos me aparecen mensajes de errores. Espero haberme hecho entender. Saludos    
    • YO uso el office prof 2016 y maximo me permite 7 u 8;tengo q hacer otra consulta que aun ni se como hacer pero no se si corresponde o debo abrir otro tema?(es en la misma planilla y es para que tome/sume 2 datos de un mismo numero cuando refuerzan un anticipo,abro otra consulta??)
    • 1) No debería tardar mucho más que una función normal, el problema surgiría si la hicieras volátil para que recalcule automáticamente ante cada modificación en el archivo; eso sí que la haría lenta. 2) Según Microsoft se "puede anidar hasta 64 niveles de funciones en una fórmula" pero yo no pude hacerlo, seguramente el límite depende de la versión de Excel que tengas.
    • ok Cristian,con el boton ya funciona la actualizacion;preguntas 1)al cargar mas el  archivo eso no afectara en el tiempo de actualizacion?(no se hara muy pesado y tardar a mucho? 2)si lo hago con si.error como estaba antes,tengo el limite de anidar solo 7 verdad?GraCIAS
    • Revisa el adjunto, agregué un botón que debes presionar cada vez que quieras actualizar la UDF, otras opciones serían volver volátil la UDF o forzar la actualización de las celdas siempre, pero esto impactaría en el rendimiento de tu archivo. Fuente: https://www.enmimaquinafunciona.com/pregunta/135313/formula-personalizada-no-actualizacion Si te sirvieron mis respuestas por favor dale click al corazón de abajo a la derecha de los mensajes ;) caja 2020 ok original2-1.xls
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy