
Estoy intentando anidar más de dos ISNUMBER
SEARCH
declaraciones () en una celda y las dos últimas no funcionan. Los dos primeros argumentos ("n/a" y "r") funcionan, pero el tercero y el cuarto obtienen datos incorrectos.
¿Se pueden tener más de dos búsquedas en una celda? ¿Dónde va mal mi fórmula?
=IF(ISNUMBER(SEARCH("N/A",$L2)),$E2+$AY$2,IF(ISNUMBER(SEARCH("r",$L2)),$E2+$AY$3,IF(ISNUMBER(SEARCH("rr",$L2)),$E2+$AY$4,IF(ISNUMBER(SEARCH("rrr",$L2)),$E2+$AY$5))))
Gracias por tu ayuda de antemano
Respuesta1
Se debe a que la fórmula encuentra una sola "r" en los valores de celda "rr" y también "rrr". Intente cambiar el orden de la condición ISNUMBER. Comience con "rrr", luego "rr" y finalmente "r". Deberia de funcionar.
=IF(ISNUMBER(SEARCH("N/A",$L2)),$E2+$AY$2,IF(ISNUMBER(SEARCH("rrr",$L2)),$E2+$AY$5,IF(ISNUMBER(SEARCH("rr",$L2)),$E2+$AY$4,IF(ISNUMBER(SEARCH("r",$L2)),$E2+$AY$3))))
Saludos cordiales, Lucas
Respuesta2
Pretendiendo la fórmula vemos:
IF( ISNUMBER(SEARCH("N/A",$L2)),
$E2+$AY$2,
IF( ISNUMBER(SEARCH("r",$L2)),
$E2+$AY$3,
IF( ISNUMBER(SEARCH("rr",$L2)),
$E2+$AY$4,
IF( ISNUMBER(SEARCH("rrr",$L2)),
$E2+$AY$5
)
)
)
)
Ahora vemos:
- El último IF() (el más interno) no contiene la sección ELSE;
- El segundo IF () da Verdadero para cualquier valor probado por más IF () interno, por lo que ningún IF () interno puede dar Verdadero porque IF () externo ya lo ha hecho.
Recomendación: reemplace SEARCH() con una prueba de ecuaciones simples.
Respuesta3
La SEARCH
función ISNUMBER
se puede utilizar para comprobar si la celda contiene texto específico o no.
SEARCH
devuelve la posición de la cadena de búsqueda si se encuentra, y la fórmula prueba si se encuentra la cadena de búsqueda, utilizando ISNUMBER
para encontrar sus posiciones numéricas.
En su caso, mientras busca rr
o rrr
, la fórmula encuentra r
entre rr
y dentro rrr
y cada vez calcula $E2+$AY$3
en lugar de $E2+$AY$4
o $E2+$AY$5
.
Si L2
contiene cualquier texto distinto rr
o rrr
la misma fórmula funcionará.
@Muji hizo el truco, usó cadenas de búsqueda en orden inverso para que la fórmula encuentre primero, rrr
luego rr
& r
adentro rrr
y funcione correctamente.
Los simples IF function
pueden probar todo esto con éxito.
=IF($L$2="N/A",$E$2+$AY$2,IF($L$2="r",$E$2+$AY$3,IF($L$2="rr",$E$2+$AY$4,IF($L$2="rrr",$E$2+$AY$5))))
Ajuste las referencias de celda en la fórmula según sea necesario.