Error en fórmula de Función Si y Y

A miembros de este foro, quisiera solicitar su ayuda en cuanto a Función SI y Función Y, lo cual la estoy aplicando en el adjunto archivo y como podrán visualizar en imagen de color azul columna M3, me emite el siguiente error.
Desde ya agradezco su gentil ayuda.

Respuesta
1

.08.03.17

Buenas noches,

Podría revisarse tu fórmula pero opino que tiene una estructura complicada cuando una adaptación de la función Buscarv resolvería más fácilmente ese problema.

Te explico a continuación mi propuesta.

Observa la siguiente imagen:

.

Ups, se escapó este mensaje (estoy contestando dos en simultaneo...)

Decía, la tabla de Comisiones la reestructuraría de la siguiente manera:

De esta manera para la cada Adminstradora tendría los dos tipos de comisión y luego elijo la columna a considerar según el tipo de Comisión de cada caso.

Así la formula de BUSCARV traerá el porcentaje de comisión correspondiente y funcionaría de esta manera:

=BUSCARV($G3;$A$4:$D$26;SI($H3="FLUJO";2;3);FALSO)*I3

[Considera si usas comas o punto y coma para separar argumentos de las funciones. Yo usé ";"]

Como ves, el condicional marcado en negritas, decide de qué columna tomar el valor.
Asígnale el formato deseado y, luego, copia esta celda y pégala en las restantes de esta misma columna.

Esta solución tiene varias ventajas respecto a la que estabas usando:

1.- Funciona
2.- Permite cambiar las comisiones sin tener que editar la fórmula cada vez que se modifiquen.

3.- Permite agregar otras Aseguradoras no previstas. De allí que el rango de la tabla sea más amplio que el que estás usando actualmente.

Eventualmente, para los casos que no se indique tipo de comisión o que no encuentre la Aseguradora en la tabla, complementaría la fórmula de la siguiente manera:

=SI(ESNOD(BUSCARV($G3;$A$4:$D$26;2;FALSO));"Falta Aseg. en tabla";SI(LARGO($H3)<2;"Falta Tipo de Comisión";BUSCARV($G3;$A$4:$D$26;SI($H3="FLUJO";2;3);FALSO)*I3))


Teoría:

La función Buscarv necesita tres argumentos más un cuarto opcional.

El primero es el valor que se busca en la base (Aseguradora)
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. 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: Hoja1!$A$4:$D$26

Importante: Nota que la primera columna de la izquierda del rango de búsqueda es donde está la clave o condición a buscar.

El tercer argumento indica qué columna de la base indicada debe ser mostrada donde está la fórmula. En tu caso tiene un condicional anidado para que tome la columna 2 o 3 según el tipo de Comisión.

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! es que usé ESNOD() que es una función que devuelve verdadero si encuentra un error del tipo #N/A (NO Disponible) es decir que el dato no fue encontrado en la base de búsqueda. El condicional SI() es el encargado de mostrar un mensaje de error o el resultado según el caso.


.

Buenos días Fernando, aplicando lo indicado esto sería el resultado, pero mi pregunta es como poder que en la columna G5, no tenga Aseguradora y en la H5, no tenga Tipo, el resultado debería ser 0.00 o en blanco, ya que en un planilla de pago no se vería  correcto que valla con la palabra Falta Aseg. en tabla

Agradezco nuevamente tú apoyo y conocimiento.

.

Buenas noches,

Bastará conque reemplaces en la segunda fórmula lo textos que están entre comillas, por cero.

Inténtalo y si no lo logras mañana te paso la fórmula corregida de esa manera.

(Ahora te estoy contestando desde mi celular,, para ganar tiempo)

Abrazo

Fer

.

.

Buenas,

Aquí va la fórmula simplificada para que coloque 0 tanto cuando no encuentra una aseguradora como cuando no está indicado el tipo de comisión:

=SI(O(ESNOD(BUSCARV($G3;$A$4:$D$26;2;FALSO));LARGO($H3)<2);0;BUSCARV($G3;$A$4:$D$26;SI($H3="FLUJO";2;3);FALSO)*I3)

Abrazo

Fer

.

Hola amigo Fernando, quedo excelente la aplicación de la función Buscarv, a la tediosa fórmula que estaba usando.

¡Gracias!

1 respuesta más de otro experto

Respuesta
1

Estos tutoriales te pueden aportar algo extra

http://www.programarexcel.com/2014/02/funcion-si.

http://www.programarexcel.com/2014/02/funcion-buscarv.htmlhtml

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas