¿Para rellenar una columna con el nombre del vendedor automáticamente con más de 64 condicionantes como debo hacer?
Debo llenar una columna con el nombre del vendedor de manera automática, intente con condición si y, pero solo acepta 64 y tengo mucho más de ahí, ¿puedo conectar con 64 más concetandola con la condición o?
1 Respuesta
.17.01.17
Buenos días, Belkis
Normalmente, si necesitas más de seis o siete condiciones, quiere decir que deberías usar otra función distinta de =SI.
Ayudaría saber cuál es la condición que sea un vendedor y no otro, pero todo parece indicar que lo que necesitas es la función BUSCARV. Esta te permite obtener un resultado a partir de muchas alternativas.
Supongamos que quieres colocar el nombre del vendedor correspondiente a determinado país o que quieres colocar su nombre de acuerdo a su número de identificación.
Algo así como lo que se muestra en esta imagen para ambos casos:
Como verás. Las "condiciones" se listan en una tabla donde indicas qué vendedor le corresponde a cada país o qué número de id tiene. Según sea tu caso, puedes tomar una columna u otra para hacer la búsqueda. Es importante que esa columna de identificación esté a la izquierda del nombre.
Entonces, como ves en el ejemplo, si buscas por el número de identificación (legajo), la fórmula es:
=BUSCARV(E2;$B$6:$C$29;2;FALSO)
Supuesto que lo que buscas esté en la celda E2
O, si quieres buscarlo por mercado, sería esta:
=BUSCARV(E3;$A$6:$C$29;3;FALSO)
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 par el resto de los casos a rellenar
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: Hoja1!$A$6:$G$240
Nota que la primera columna de la izquierda del rango de búsqueda es donde está la clave o condición a buscar.
Por ello, en los ejemplos que te dí uno empieza en la columna B (donde están los legajos) y el otro en la columna A, donde se indican los países)
El tercer argumento indica qué columna de la base indicada debe ser mostrada donde está la fórmula. Cómo intento mostrar el nombre, indiqué la columna 2, para que traiga el dato de "Valor nuevo".
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(E3;$A$6:$C$29;3;FALSO));"No existe";BUSCARV(E3;$A$6:$C$29;3;FALSO))
Bien, esta fórmula devolverá "No existe"; si el código o nombre en la celda de búsqueda no existe en la columna correspondiente de la base que creaste. Pero, si lo encuentra, trae ese valor
Bien, Belkis, más largo de explicar que de hacer. Pruébalo y dime si es lo que estabas buscando.
Un abrazo
Fernando
.
Muchas gracias por tu respuesta, te comento que la función BuscarV, sera una de las partes que estaré utilizando en el proceso, voy a aclarar mejor mi inquietud a ver como puedes ayudarme mejor.
Dentro de una lista de clientes debo llenar el Nombre del Representante de Ventas de acuerdo con tres criterios base y cada criterio tiene diferentes opciones; elabore inicialmente la tabla de los tres criterios base y sus diferentes opciones con el Nombre del Vendedor asignado a cada criterio, esto me da una relación de 91 opciones para asignar el nombre del vendedor a la tabla de clientes, por lo que hasta mis limitados conocimientos en excel llegan con estas condiciones no puedo en este caso usar Buscar V, puesto que no es una columna o la otra, sino la combinación de las tres criterios . A continuación los Tres Criterios y sus opciones para indicar un tipo de Vendedor:
I.Macroregion
- Norte
- Sureste
- Suroeste
II. Región:
- Cibao Sur
- Cibao Noroeste
- Cibao Nordeste
- Cibao Norte
- El Valle
- Enriquillo
- Metropolitana
- Valdesia
- Yuma
III. Tipo de Negocio:
- FARMACIA
- FARMACIA EN CADENA
- ALMACENES
- BEAUTY SUPPLY
- TIENDASUPERMERCADO
- HIPERMERCADO
- SUPERMERCADO EN CADENA
- SALÓN DE BELLEZA
La combinación de estos 3 criterios da por resultado 90 líneas para asignar los nombres de 8 representantes de Ventas.
Inicie con la fórmula Si(Y, anidada pero solo permite 64 anidaciones y tengo 90 combinaciones posibles de representantes de ventas.
Luego de esta lista de Clientes ya por BuscarV se lleva la información del Representante de Ventas a la Hoja de la DATA que se esta creando.
Son estas 90 condiciones las que tengo que plasmar en la fórmula, pensé que podía conectar o agregar 64 condiciones adionales a la fórmula con Si(Y con la Función condicional O . Me habían comentado anteriormente otra persona fuera de TODOEXPERTOS que quizás debía hacerlo a través de VB, pero nuca lo he usado.
Quedo pendiente de tus notiias.
A ver si me pude explicar mejor
.
Hola, Belkis
Ahora entiendo un poco mejor.
Nuevamente la solución pasará por usar BUSCARV que combinaremos con COINCIDIR.
La clave está en cómo organizas tu planilla.
Mira esta alternativa:
Me quedó la duda si cada Región no está incluida en sólo una única Macroregión. En tal caso la tabla sería aún más sencilla, pues podrías hacer el buscarv directamente sobre la columna de Región. Luego verás si es posible.
Dado que ignoro si tal simplificación es posible, agregué una columna auxiliar a la izquierda que concatena MacroRegion - Región, con una fórmula del tipo:
=B9&"-"&C9
Que luego copié y pegué para cada línea de la base.
Lo novedoso es que coloqué los tipos de negocios como columnas y donde intersecta con la region el apellido del vendedor ( o puede ser su código de identificación, da igual)
En la parte superior del cuadro están los selectores para buscar qué vendedor corresponde. También podrían estar organizados en columnas si tuvieras que hacer una búsqueda de un listado de combinaciones.
Entonces la nueva fórmula de BUSCARV sería como esta:
=BUSCARV(D3&"-"&D4;$A$9:$K$35;COINCIDIR($D$5;$A$7:$K$7;0);FALSO)
Repasando lo que te expliqué en la respuesta anterior, ahora:
El primer argumento es una concatenación de la MacroRegión, un guion separador y la Región. Misma estructura a la columna auxiliar que agregamos.
El segundo argumento, la base de búsqueda toma desde la columna auxiliar, hasta la última columna del cuadro. Si, eventualmente, no tuviera necesidad de considerar la MacroRegion, el rango iniciaría en la columna C.
El tercer argumento, como vimos, es el número de columna a considerar. En el ejemplo que te había pasado lo colocábamos a mano. Pero en este caso lo calculará la función COINCIDIR que incluí en su lugar.
La fórmula anidada:
COINCIDIR($D$5;$A$7:$K$7;0)
Busca el valor de la celda D5 donde elegiste un Tipo de Negocio y devuelve el número de posición en que se encuentra en el rango A7:K7. Nota que también comienza desde la columna auxiliar.
Finalmente, el cuarto argumento -FALSO- obliga a que la búsqueda sea exacta.
Salvo un error de tipeo, no creo que pase que no haya una coincidencia, por lo que no parece necesario aquel condicional con ESNOD, aunque podría agregarse si quieres.
Creo que es una solución ingeniosa para evitar el fatigoso trabajo de anidar n condicionales que, además, te obligaría a modificar la fórmula cada vez que cambie algún vendedor.
En este caso basta cambiar el nombre en la matriz y la fórmula lo traerá automáticamente.
Espero haberme dado a entender y que sea una solución viable para tu problema.
Un abrazo
Fer
.
- Compartir respuesta