¿Cómo anidar más de dos funciones de BÚSQUEDA SI ES NÚMERO en una fórmula de una sola celda?

¿Cómo anidar más de dos funciones de BÚSQUEDA SI ES NÚMERO en una fórmula de una sola celda?

Estoy intentando anidar más de dos ISNUMBER SEARCHdeclaraciones () 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))))

Mi hoja de cálculo

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:

  1. El último IF() (el más interno) no contiene la sección ELSE;
  2. 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 SEARCHfunción ISNUMBERse puede utilizar para comprobar si la celda contiene texto específico o no.

SEARCHdevuelve 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 ISNUMBERpara encontrar sus posiciones numéricas.

En su caso, mientras busca rro rrr, la fórmula encuentra rentre rry dentro rrry cada vez calcula $E2+$AY$3en lugar de $E2+$AY$4o $E2+$AY$5.

Si L2contiene cualquier texto distinto rro rrrla misma fórmula funcionará.

@Muji hizo el truco, usó cadenas de búsqueda en orden inverso para que la fórmula encuentre primero, rrrluego rr& radentro rrry funcione correctamente.

Los simples IF functionpueden 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.

información relacionada