Función "SI" anidada con textos.

Me gustaría saber como puedo hacer una función anidada "SI" con textos. ES decir, tengo una excel con mis finanzas exportadas directamente del banco y he creado una columna con categorías y otra con subcategorías. Entonces, quiero que en categorías me aparezca la categoría: "¿Internet" según una búsqueda en X celda que incluya la palabra "Orange" por ejemplo?

He intentado esto: =SI(A5="Orange";Internet") 

Pero me da el error: FALSO

¿Qué estoy haciendo mal?

1 respuesta

Respuesta

18.11.16

Buenos días, Olivia

A ese condicionar falta indicarle qué hacer cuando A5 no sea igual a Orange y, además, falta una comilla doble al inicio de Internet

Es decir, deberías tener:

=SI(A5="Orange";"Internet";"<texto para NO Orange>") 

Espero haberte ayudado.

Saludos

Fernando

.

Gracias!

El problema es que necesito usar la fórmula para más de un dato, por ejemplo: Orange - Internet, Lowi - Telf, McFit - Gym.. y así con unos 20 valores, y en principio no habrá ningún valor vacío Para poner un texto de "No Orange" no se si me explico... je je

Bueno, o que si no está me aparezca el texto no existe? :)

.

Buenos días, Olivia

En tal caso, lo más práctico será usar la función BUSCARV()

Fíjate en este ejemplo:

Como verás la fórmula:

 =BUSCARV($D4;$A$2:$B$24;2;FALSO)

Trae el valor de la segunda columna cuando lo encuentra en la base indicada.

Ten en cuenta si usas comas o punto y coma para separar los argumentos. Yo usé ";" en este ejemplo. Asígnale el formato deseado y, luego, copia esta celda y pégala en las restantes de esta misma columna.

Entonces, la función Buscarv necesita tres argumentos más un cuarto opcional.

El primero es el valor que se busca en la base.

Esta, a su vez, es el segundo argumento de la fórmula. El uso del signo $ es para que siempre se refiera a ese rango aún copiando la fórmula a otras celdas/hojas. Notarás que excede la cantidad de elemento para que considere futuras incorporaciones. Desde luego puede estar en la misma hoja o en otra, pero en este caso deberás indicarle el nombre en la dirección de la base. Por ejemplo: Hoja2!$A$2:$B$24

El tercer argumento indica qué columna de la base indicada debe ser mostrada donde está la fórmula. Cómo intento mostrar las descripciones, indiqué la columna 2, para que traiga el dato de "Rubro". Si pegas esta fórmula en otra celda y cambias el número de columna, traerá lo que haya en ella, si hubiera otros datos a la derecha de la tabla, claro.

Finalmente el cuarto argumento opcional, cuando está en 0 (Falso) obliga a una búsqueda exacta de lo que está en la celda A4. Si no encuentra ese código, la fórmula devolverá #N/A! (No disponible)

Para evitar ese #N/A! puedes usa esta variante que es similar:

=SI(ESNOD(BUSCARV(D4;$A$2:$B$24;2;FALSO));"No existe";BUSCARV(D4;$A$2:$B$24;2;FALSO))

Bien, esta fórmula devolverá "ID inexistente"; si el código o nombre en la celda A4 no existe en la columna G de la base que creaste, pero si lo encuentra actualiza el valor

Saludos

Fernando

(Buenos Aires, Argentina)

.

Pensé en hacerlo así, el problema que tengo es que los datos "Rubro" no los tengo en la hoja sino que los tiene que crear según el valor que sea. No se si me explico bien je je

Adjunto captura, Para que te hagas una idea, es una exportación de un BANCO, y quiero que según la 4ª columna me ponga en la segunda y tercera columna las categorías correspondiente.

Por ejemplo, donde pone PAgo en Zara le asigne automáticamente la categoría Compras / Ropa y complementos.Y así siempre que añada datos nuevos :)

Gracias de nuevo!

.

Hola, Olivia

Me cuesta entender cómo podría MS Excel "intuir" que Zara es Compras / Ropa si no se lo indicas de antemano.

Digamos que sí podría avanzarse adaptando aquella fórmula que te envié para que sólo haga la búsqueda si el dato de la columna 4 comience con "Pago en " y considere sólo el nombre del comercio.

Tal fórmula sería:

=SI(ESNOD(BUSCARV(ESPACIOS(SUSTITUIR($D4;"pago en ";""));$A$2:$C$124;2;FALSO));"No existe";BUSCARV(ESPACIOS(SUSTITUIR($D4;"pago en ";""));$A$2:$C$124;2;FALSO))

De esta forma, cada vez que la fórmula arroje "No existe", bastará que agregues ese comercio al final de la lista que te propuse e indiques a qué rubro pertenece. Al tener un rango amplio en filas hará que baste esa aclaración para que parezca inmediatamente en tu listado

Aun más, veo que hay compras cuya descripción no comienza con "Pago en ", para que estos casos sean contemplados, tu fórmula final debería ser esta:

=SI(ESNOD(BUSCARV($D4;$A$2:$C$124;2;FALSO));SI(ESNOD(BUSCARV(ESPACIOS(SUSTITUIR($D4;"pago en ";""));$A$2:$C$124;2;FALSO));"No existe";BUSCARV(ESPACIOS(SUSTITUIR($D4;"pago en ";""));$A$2:$C$124;2;FALSO));BUSCARV($D4;$A$2:$C$124;2;FALSO))

Esta contempla ambos casos y traerá el dato de la base que vayas construyendo.

Si, además quieres que te indique el dato como el de la segunda columna, deberías agregarlo en aquella tabla y usar la misma fórmula cambiándole sólo el indicador de columna 2 por 3.

Así:

=SI(ESNOD(BUSCARV($D4;$A$2:$C$124;2;FALSO));SI(ESNOD(BUSCARV(ESPACIOS(SUSTITUIR($D4;"pago en ";""));$A$2:$C$124;2;FALSO));"No existe";BUSCARV(ESPACIOS(SUSTITUIR($D4;"pago en ";""));$A$2:$C$124;3;FALSO));BUSCARV($D4;$A$2:$C$124;3;FALSO))

Espero haberte entendido. Si no, escríbeme de nuevo.

Saludos
Fer

.

.----- Te quedó pendiente valorizar el tiempo que te dediqué----

Buenas,

Si hubieses tenido la oportunidad de probar la solución, espero que te haya ayudado a resolver tu problema.

Si así fuera, agradeceré un comentario y que la valorices para finalizarla.

Saludos!

Fernando

.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas