=iferror(join(char(10);filter(ekintzak!$F$2:$F;ekintzak!$G$2:$G=B4;len(ekintzak!$G$2:$G)>0)))
Es decir con referencias que empiezan en la línea 2, para que no cuente dentro del filtro las cabeceras de columna y...
si borro los datos y empiezo de nuevo a meterlos la fórmula, de forma casí a mala leche, va cambiando el principio de la referencia a la línea 3, luego a la 4, etc... justo con el resultado que nunca se referencia a los datos que existen, sino a los que no existen todavía. En mi caso haría esto:
- Meto un dato en la línea 2 de la pestaña "ekintzak"
- La fórmula cambia a
=iferror(join(char(10);filter(ekintzak!$F$3:$F;ekintzak!$G$3:$G=B4;len(ekintzak!$G$3:$G)>0)))
Y si meto algo en la línea 3, la fórmula coherente y malignamente se convierte en:
=iferror(join(char(10);filter(ekintzak!$F$4:$F;ekintzak!$G$4:$G=B4;len(ekintzak!$G$4:$G)>0)))
El resultado es que nunca hay nada en el filtro que queremos que aparezca.
La solución que he encontrado es utilizar la función indirect. Gracias a ella, consiguo que el número 2 se mantenga siempre estático:
=iferror(join(char(10);filter(indirect("ekintzak!$F$"&2&":$F");indirect("ekintzak!$G$"&2&":$G")=B4;len(indirect("ekintzak!$G$"&2&":$G"))>0)))
Dicha función es muy potente, ya que permite crear referencias con mezcla de partes fijas y dinámicas y, en este caso, de partes fijas que no hacen caso a lo dinámico. Pero tiene dos inconvenientes:
- No es fácil de construir, ya que hay que trozear las referencias, meter entre comillas el texto fijo, unirlo al dinámico con & y volver a abrir y cerrar comillas si hay mas texto fijo detrás.
- Una vez escrita la función es difícil de interpretar
=iferror(join(char(10);filter(indirect("ekintzak!$F$2:$F");indirect("ekintzak!$G$2:$G")=B4;len(indirect("ekintzak!$G$2:$G"))>0)))
por lo que, simplemente, gracias a indirect, he conseguido que las referencias no cambien de forma dinámica, sean totalmente estables y no les influyan los nuevos registros)
No hay comentarios:
Publicar un comentario