martes, junio 27, 2006

La función INDIRECTO con cuadernos Excel cerrados.

Con la función INDIRECTO de Excel, podemos establecer referencias dinámicas a un rango o una celda en un cuaderno remoto (referencia externa). En esta entrada sobre el uso de la función INDIRECTO, daba un ejemplo de cómo establecer referencias a celdas que se encuentran en distintas hojas de un mismo cuaderno Excel.
De la misma manera podemos establecer referencias a celdas en hojas de otros cuadernos (lo que he llamado cuadernos remotos). Como ya he explicado, la función INDIRECTO devuelve la referencia especificada por una cadena de texto. El problema con INDIRECTO es que si se hace referencia a un libro remoto (una referencia externa), ese libro debe estar abierto. Si el libro de origen no está abierto, INDIRECTO devolverá el valor de error #¡REF!

En esta nota sobre el tema en Daily Dose of Excel se señalan varias soluciones, de las que mencionaré sólo dos:

1 – El complemento desarrollado por Laurent Longre, MOREFUNC.XLL, que incluye la función INDIRECT.EXT que funciona como INDIRECTO, pero también con cuadernos cerrados. Esta función tiene varias limitaciones:
- permite establecer referencias sólo a una única celda, por lo que no sirve como segundo argumento en la función BUSCARV (VLOOKUP)
- no funciona con si se refiere a nombres en cuadernos cerrados


2 – La función PULL de Harlan Grove. Esta es una UDF (user defined function) cuyo código se puede obtener aquí. Este función permite crear referencias a rangos y por lo tanto, puede usarse con BUSCARV (VLOOKUP), por ejemplo =VLOOKUP("search_text",PULL("'C:temp[book1.xls]sheet!'A1:B20"),2,0)

Ambas funciones tienen en común el ser lentas.


Categorías: Funciones&Formulas
Technorati Tags:

12 comentarios:

  1. no comprendo que hacer con ese codigo y como ejcutarlo..

    ResponderBorrar
  2. Si te refieres a MOREFUNC.XLL, se trata de un complemento (Add-in). Tienes que descargar el archivo de instalación y luego seguir las instrucciones. Al final de proceso cuando Insertar--Funciones debe aparecer una categoría "Morefunc". Allí puedes elegir entre las distintas funciones, entre ella INDIRECT.EXT.
    La función PULL es una UDF (función definida por el usuario) y la debes pegar en un módulo del editor de Vba (Herramientas--Macros--Editor VB). Luego podrás usarla con Insertar--Funciones--Definidas por el usuario.
    Espero haberte ayudado

    ResponderBorrar
  3. Hola Jorge mira la verdad no logre entender la función PULL, podrìas ayudarme, no se si logre funcionar si mi version de excel esta en español, ojala puedas ayudarme

    ResponderBorrar
  4. Hola Lili

    la función funciona bien en todas las versiones hasta XL2003. El idioma no debe ser un problema ya que se trata de una UDF (definida por el usuario).
    Tienes que copiar la el código a un módulo de Vb y usarla como cualquier otra función.
    Me explicas un poco más que es lo que no se entiende´?

    ResponderBorrar
  5. Jorge como te decia en un mensaje que escribi que no se donde quedo y no se si te llego... te felicito ucho por tu blog y por ayudar a quienes necesitan ayuda!! Ojala me eches una mano a mi tambien, fijate que intente bajar el add in de morefunc en la liga que pones pero no me deja bajar que puedo hacer?

    ResponderBorrar
  6. Hola Iñaki
    de antemano, mil disculpas pero en estos días ando muy escaso de tiempo y casi no respondo a las consultas. En cuanto al complemento he probado el enlace y parece haber algún problema con la página. Puedo enviarte el archivo con la versión anterior (puede ser que no funcione en XL2007).

    ResponderBorrar
  7. Jorge pues mil gracias, si me lo podrias mandar, arzacinaki@hotmail.com
    Saludos!!

    ResponderBorrar
  8. buenos tardes, me podrian ayudar con esta consulta. tengo 5 columnas que debo sumarlas pero en al columna 3 tengo una variante es que los datos introducidos hay unos que nose deben sumar, y se deben marcar con otro color.
    que puedo hacer

    ResponderBorrar
  9. Los comentarios tienen que estar relacionados con el tema de la nota. Te sugiero que dirijas tu consulta a alguno de los muchos y buenos foros de Excel que existen en la red.

    ResponderBorrar
  10. Hola Jorge, trate de descargar el complemento de la liga, pero me marca error, podrías enviarme el archivo a lili_dm@hotmail.com.

    Gracias!!!

    ResponderBorrar
  11. Efectivamente, parece haber algún problema en el sitio. Como se trata de un ejecutable (.exe) no puedo mandartelo por mail. Veré la posibilidad de subirlo en el blog (requiere la autorización del autor).

    ResponderBorrar
  12. Excelente Blog, de los mejores que conozco, sigo tu trabajo de cerca. Saludos.

    ResponderBorrar

Nota: sólo los miembros de este blog pueden publicar comentarios.