Excel - Ayuda con Formula que Remite a otro archivo

 
Vista:
sin imagen de perfil
Val: 7
Ha aumentado su posición en 130 puestos en Excel (en relación al último mes)
Gráfica de Excel

Ayuda con Formula que Remite a otro archivo

Publicado por nakha (3 intervenciones) el 02/03/2021 14:11:24
Buenas tardes.

Ante todo gracias por la ayuda que podais prestar.
En segundo lugar, disculpad, pues voy a poner una formula, que no es exactamente la original, y no puedo poner un archivo de ejemplo pues contiene datos personales/confidenciales.

En fin, la cuestion es que tengo esta "formula"

=SI(Y($B7<>"";INDICE('\\SERVER\servidor\EC TODO\EC MOROSOS y NOTIFICACIONES DE PAGO\AVISOS y NOTIFICACONES DE PAGO\LISTADOS CUOTAS Y DEUDAS\[MOROSOS para EJERCICIOS.xlsx]ACTUAL'!$A:$AV;COINCIDIR($B7;'\\SERVER\servidor\EC TODO\EC MOROSOS y NOTIFICACIONES DE PAGO\AVISOS y NOTIFICACONES DE PAGO\LISTADOS CUOTAS Y DEUDAS\[MOROSOS para EJERCICIOS.xlsx]ACTUAL'!$A:$A;0);COINCIDIR(AM$2;'\\SERVER\servidor\EC TODO\EC MOROSOS y NOTIFICACIONES DE PAGO\AVISOS y NOTIFICACONES DE PAGO\LISTADOS CUOTAS Y DEUDAS\[MOROSOS para EJERCICIOS.xlsx]ACTUAL'!$2:$2;0))>0);INDICE('\\SERVER\servidor\EC TODO\EC MOROSOS y NOTIFICACIONES DE PAGO\AVISOS y NOTIFICACONES DE PAGO\LISTADOS CUOTAS Y DEUDAS\[MOROSOS para EJERCICIOS.xlsx]ACTUAL'!$A:$AV;COINCIDIR($B7;'\\SERVER\servidor\EC TODO\EC MOROSOS y NOTIFICACIONES DE PAGO\AVISOS y NOTIFICACONES DE PAGO\LISTADOS CUOTAS Y DEUDAS\[MOROSOS para EJERCICIOS.xlsx]ACTUAL'!$A:$A;0);COINCIDIR(AM$2;'\\SERVER\servidor\EC TODO\EC MOROSOS y NOTIFICACIONES DE PAGO\AVISOS y NOTIFICACONES DE PAGO\LISTADOS CUOTAS Y DEUDAS\[MOROSOS para EJERCICIOS.xlsx]ACTUAL'!$2:$2;0));"")

Me funciona bien, pero me acabo de dar cuenta que:

1.- Si cambio el nombre del archivo NO funciona, salvo que la modifique.
2.- Tampoco puedo cambiar la ubicacion del archivo, SIN modificar la formula.
3.- No puedo tener un "historico", pues siempre me da la informacion de la hoja ACTUAL, salvo que esté copiando y pegando, lo que puede ser un problema.


Por eso mi peticion de ayuda es la siguiente:

Existe alguna forma de poner, por ejemplo:

En una celda, el nombre del archivo (o sea, sustituir MOROSOS para EJERCICIOS.xlsx por otro nombre)
En otra celda, el nombre de la hoja (o sea, sustituir ACTUAL por otro nombre)

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Ayuda con Formula que Remite a otro archivo

Publicado por Antoni Masana (2464 intervenciones) el 02/03/2021 16:59:56
Te hago una propuesta que no se si funciona.

Esta es tu macro: (Ya la conoces)

1
2
3
4
5
6
=SI(Y($B7<>"";INDICE('\\SERVER\servidor\EC TODO\EC MOROSOS y NOTIFICACIONES DE PAGO\AVISOS y NOTIFICACONES DE PAGO\LISTADOS CUOTAS Y DEUDAS\[MOROSOS para EJERCICIOS.xlsx]ACTUAL'!$A:$AV;
       COINCIDIR($B7;'\\SERVER\servidor\EC TODO\EC MOROSOS y NOTIFICACIONES DE PAGO\AVISOS y NOTIFICACONES DE PAGO\LISTADOS CUOTAS Y DEUDAS\[MOROSOS para EJERCICIOS.xlsx]ACTUAL'!$A:$A;0);
      COINCIDIR(AM$2;'\\SERVER\servidor\EC TODO\EC MOROSOS y NOTIFICACIONES DE PAGO\AVISOS y NOTIFICACONES DE PAGO\LISTADOS CUOTAS Y DEUDAS\[MOROSOS para EJERCICIOS.xlsx]ACTUAL'!$2:$2;0))>0);
              INDICE('\\SERVER\servidor\EC TODO\EC MOROSOS y NOTIFICACIONES DE PAGO\AVISOS y NOTIFICACONES DE PAGO\LISTADOS CUOTAS Y DEUDAS\[MOROSOS para EJERCICIOS.xlsx]ACTUAL'!$A:$AV;
       COINCIDIR($B7;'\\SERVER\servidor\EC TODO\EC MOROSOS y NOTIFICACIONES DE PAGO\AVISOS y NOTIFICACONES DE PAGO\LISTADOS CUOTAS Y DEUDAS\[MOROSOS para EJERCICIOS.xlsx]ACTUAL'!$A:$A;0);
      COINCIDIR(AM$2;'\\SERVER\servidor\EC TODO\EC MOROSOS y NOTIFICACIONES DE PAGO\AVISOS y NOTIFICACONES DE PAGO\LISTADOS CUOTAS Y DEUDAS\[MOROSOS para EJERCICIOS.xlsx]ACTUAL'!$2:$2;0));"")

Esta es la macro que te propongo

1
2
3
4
5
6
=SI(Y($B7<>"";INDICE(CONCATENAR("'";B1;"[";B2;"]";B3;"'!$A:$AV);
       COINCIDIR($B7;CONCATENAR("'";B1;"[";B2;"]";B3;"'!$A:$A);0);
      COINCIDIR(AM$2;CONCATENAR("'";B1;"[";B2;"]";B3;"'!$2:$2);0))>0);
              INDICE(CONCATENAR("'";B1;"[";B2;"]";B3;"'!$A:$AV);
       COINCIDIR($B7;CONCATENAR("'";B1;"[";B2;"]";B3;"'!$A:$A);0);
      COINCIDIR(AM$2;CONCATENAR("'";B1;"[";B2;"]";B3;"'!$2:$2);0));"")

Donde:

1
2
3
Celda B1  -->  \\SERVER\servidor\EC TODO\EC MOROSOS y NOTIFICACIONES DE PAGO\AVISOS y NOTIFICACONES DE PAGO\LISTADOS CUOTAS Y DEUDAS\
Celda B2  -->  MOROSOS para EJERCICIOS.xlsx
Celda B3  -->  ACTUAL

La verdad es que la idea parecia buena pero no se si funciona, yo no he conseguido hacer que funcione.
Otra opcion si no encuentras una solucion es partiendo de los datos de las tres celdas hacer una macro que genere la función cambiando la ruta, el fichero y la hoja.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar