Tomado de www.cpearson.com

17/01/2006 - 22:20 por Gabriel Raigosa | Informe spam
Saludos:

En esta pagina

www.cpearson.com\excel\duplicat.htm

ponen esta función (matricial)

=IF(MAX(COUNTIF(Range1,Range1))>1,"Duplicates","No Duplicates")

Pregunta: para que poner dentro de la función el argumento MAX

me parece que funciona igual si se ingresa la función de esta manera

=IF(COUNTIF(Range1,Range1)>1,"Duplicates","No Duplicates")



Gabriel Raigosa
Medellín - Colombia
GabrielRaigosa@hot.mail.com
 

Leer las respuestas

#1 KL
18/01/2006 - 14:12 | Informe spam
Hola Gabriel,

ponen esta función (matricial)
=IF(MAX(COUNTIF(Range1,Range1))>1,"Duplicates","No Duplicates")
Pregunta: para que poner dentro de la función el argumento MAX
me parece que funciona igual si se ingresa la función de esta manera
=IF(COUNTIF(Range1,Range1)>1,"Duplicates","No Duplicates")



No, no funciona igual. Cuando pones un rango mayor que una celda (o una matriz con mas de un miembros) en el segundo argumento de la
funcion COUNTIF, la funcion devuelve una matriz con el numero de miembros igual al numero de celdas del rango del argumento dos.

Para comprobarlo prueba hacer lo siguiente:
1) en el rango [A1:A5] pon 1, 2, 2, 4, 5
2) en la celda [A7] introduce =COUNTIF(A1:A5,A1:A5) y pulsa Enter
3) selecciona la celda [A7] y ve a la barra de formulas, marca la formula completa y pulsa F9. Veras lo siguiente: ={1;2;2;1;1} que
son los resultados de las evaluaciones para cada una de las 5 condiciones (busquedas).

Ahora, cuando tu pones:

=IF(COUNTIF(A1:A5,A1:A5)>1,"Duplicates","No Duplicates")
o sea
=IF({1;2;2;1;1}>1,"Duplicates","No Duplicates")

Solo se evalua el primer miembro de la matriz y no todos. Es decir, la formula mirara al 1 (que es el primer valor de la matriz) y
devolvera FALSE porque no es mayor al 1. Sin embargo hay dos valores en la matriz que lo son.

Para no tener que aplicar la ecuacion x>1 a cada uno de los miembros, solo sacamos de la matriz el valor mas alto [ya que por
defecto si ese cumple con la condicion los demas ya no importarian] y lo comparamos con el 1. De ahi:

=IF(MAX(COUNTIF(Range1,Range1))>1,"Duplicates","No Duplicates")

Espero que haya ido de ayuda.

Saludos,
KL

Preguntas similares