Saber si existe un valor en la matriz

Tengo una matriz (en realidad son varias filas sólo con fechas) y deseo obtener "verdadero" o "falso" si al colocar una fecha por en una celda, esa fecha esta en alguna de las celdas anteriores. Aclaro que la fecha buscada puede estar repetida n veces y en distintas columnas.
La siguiente fórmula matricial funciona en Excel2007 y realiza lo que quiero:
=NO(ESERROR(CELDA("direccion";INDICE(Datos;COINCIDIR(1;SIGNO(CONTAR.SI(DESREF(Datos;FILA(Datos)-CELDA("fila";Datos);0;1;);E12));0);COINCIDIR(1;SIGNO(CONTAR.SI(DESREF(Datos;;COLUMNA(Datos)-CELDA("columna";Datos);;1);E12));0)))))
Datos es el rango de la matriz que se encuentra definido previamente.
Bueno, mi problema es que necesito utilizar el archivo en equipos con Excel2003, y como se darán cuenta por el tamaño de la fórmula no es posible. ¿Me podrían ayudar para hacerla funcionar en Excel2003?

1 respuesta

Respuesta
1
Creo que con un simple buscarv obtendrías el resultado que solicitas:
=si(buscarv(celda_a_buscar;nombre_Rango;Numero_de_columna_donde_se_encuentra_el_dato_a_buscar;falso);"Verdadero";"Falso")
Hola, primero gracias por responder.
Con la fórmula que me sugieres sólo puedo cotejar en una columna determinada... Yo deseo cotejar en todas las columnas, ya que como dije las filas contienen siempre fechas (son rangos de fechas: por ej la primer fila puede contener 1/3/11, 2/3/11, 3/3/11; en otra fila 5/3/11,/6/3/11,7/3/11; y en otra 2/3/11, 3/3/11, 4/3/11). Obviamente el volúmen es mayor, pero yo quiero saber si entre los datos se encuentra una fecha específica.
¿Soy claro? Gracias!
Prueba así:
=SI(SUMAPRODUCTO(--(A1:C3=F1))>=1;"Verdadero";"Falso")
Adapta los rangos y la celda donde esta la variable (F1) a tu hoja.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas