sábado, 22 de octubre de 2011

BUSCARV como argumento en una función SI.

Habitualmente trabajamos con la función BUSCARV pensando sólo en búsquedas verticales, olvidando otros usos o utilidades; en este ejemplo de hoy veremos como nos aprovecharemos de ésta, para anidarla en una función SI condicional, como parte de la prueba lógica.
En el ejemplo que trataré hoy buscaremos una respuesta al siguiente problema. Si partimos de una tabla donde vemos para diferentes elementos qué meses están operativos, en concreto tenemos un listado de cruceros y el intervalo de meses entre los cuales, dicho crucero, está operativo; para un listado de posibles reservas atendiendo a un crucero determinado y a una fecha de embarque, tendremos que obtener una SI o un NO que determine si para dicha Fecha y Crucero tal reserva es posible.
Vemos nuestras tablas de trabajo:

BUSCARV como argumento en una función SI.
haz click en la imagen


La finalidad es combinar ambos requisitos solicitados en una única prueba lógica de nuestra función condicional SI, de tal forma que devuelva un SI o un NO si se verificase o no.
Debemos construir un condición que nos diga si para un Crucero concreto la fecha de reserva propuesta cumple o está dentro del intervalo de meses definido (rango E2:G5).
Esto lo conseguiremos incluyendo la función Y como prueba lógica, de tal forma que en esta unimos dos de las condiciones a cumplir, para cada Fecha de reserva sea mayor o igual que el primer mes de inicio de operaciones y que sea menor o igual que el último mes operativo del crucero:
Y(Fecha reserva>=Fecha inicio operaciones; Fecha reserva<=Fecha fin operaciones)
Como estamos trabajando con meses, trataremos los datos con la función MES.
La clave, en todo caso de esto, es determinar correctamente cuál es la Fecha de inicio y fin de operaciones para cada Crucero a reservar. Esto lo conseguiremos con la función BUSCARV, siendo las condiciones finales:
MES(Fecha reserva)>=BUSCARV(Crucero;$E$2:$G$5;2;0)
MES(Fecha reserva)<=BUSCARV(Crucero;$E$2:$G$5;3;0)
todo unido en una sóla función, y tomando las celdas a evaluar para el primer registro, tenemos la siguiente Prueba lógica:
Y(MES(B2)>=BUSCARV(A2;$E$2:$G$5;2;0);MES(B2)<=BUSCARV(A2;$E$2:$G$5;3;0))

BUSCARV como argumento en una función SI.
haz click en la imagen


Podemos analizar nuestra función completa:
=SI(Y(MES(B2)>=BUSCARV(A2;$E$2:$G$5;2;0);MES(B2)<=BUSCARV(A2;$E$2:$G$5;3;0));"SI";"NO")
y comprobar como se verifica que con BUSCARV encontramos cuales son los meses inicial y final de operatividad del crucero concreto que estamos evaluando, para luego comprobar si la Fecha de reserva o salida se encuentra dentro de dicho intervalo de meses.
Para el primer registro, evaluamos el crucero 'Princesa del amanecer', para una Fecha de reserva o salida 10-junio-2011, esto es MES = 6, con la fórmula evaluamos si el 'Princesa del amanecer' opera en junio, y que como podemos comprobar sólo lo hace entre agosto (8) y septiembre (9), por lo que el resultado de nuestra función no podía ser otro que NO.

63 comentarios:

  1. =SI(Y(MES(B2)>=INDICE($E$2:$G$4,COINCIDIR(A2,$E$2:$E$4,0),2),MES(B2)<=INDICE($E$2:$G$4,COINCIDIR(A2,$E$2:$E$4,0),3)),"SI","NO")

    Aqui te mando otra solucion factible

    ResponderEliminar
  2. Correcto, la base es la misma, en tu ejemplo en lugar de BUSCARV empleas INDICE.
    Muchas gracias por tu aporte!!

    Slds

    ResponderEliminar
  3. hola Ismael. mi pregunta es la siguiente: tengo Tabla1 campos: ID, Asegurador, medico, Operador. De estos 4 campos el unico que tiene valores es ID, los otros 3 estan vacios.
    Tabla2 campos: ID, nombre, rol. estos tres campos tienen informacion.
    ID: 12,23,46,51 etc
    nombre: total eps,ramiro muñoz, farmacien,Meredi, etc
    rol: Asegurador, medico,Operador. uno para cada nombre, cada id de la Tabla1 debe tener estos 3 campos.
    Necesito llenar los campos 3 campos vacios de la tabla 1 con los de la tabla 2 pero no pude con la funcion buscarv, incluso utilice la funcion SI con un buscarv anidado pero tampoco me trae toda la informacion
    agradezco inmensamente tu colaboracion

    ResponderEliminar
    Respuestas
    1. Hola Guillermo,
      por confirmar, entiendo que neceistas llevar el nombre de la Tabla2, en base al rol (asegurdor, médico, operador) al campo correspondiente de la Tabla1, según su Id.
      Si es así, y enentiendo que trabajas con Tablas (llamadas Tabla1 y Tabla2 con las cabeceras que has indicado), entonces para el campo 'Asegurador' de la Tabla1 añade la fórmula:
      =SI(BUSCARV([@id];Tabla2;3;0)=Tabla1[[#Encabezados];[Asegurador]];BUSCARV([@id];Tabla2;2;0);"")

      para el campo 'Médico'
      =SI(BUSCARV([@id];Tabla2;3;0)=Tabla1[[#Encabezados];[Médico]];BUSCARV([@id];Tabla2;2;0);"")

      y para el campo 'Operador'
      =SI(BUSCARV([@id];Tabla2;3;0)=Tabla1[[#Encabezados];[operador]];BUSCARV([@id];Tabla2;2;0);"")

      Espero te sirva.
      Slds cordiales

      Eliminar
    2. Ismael, gracias por tu colaboracion, realice los ajustes segun mis archivos y la formula finalmente quedo asi: =SI(BUSCARV(B2;[Libro7]Hoja1!$B$2:$I$40017;8;0)="Asegurador";BUSCARV(Tabla1!B2;[Libro7]Hoja1!aseguradores al campo Asegurador, pero me ha costado cuando $B$2:$G$40017;6;0);"")
      pero tengo un problema, efectivamente me trae todos los la ejecuto en Operador Logistico y en Médico Tratante. He actualizado todos los campos de la formula y aún asi no lo consigo. te copio la de Operador logistico tambien:
      =SI(BUSCARV(B2;[Libro7]Hoja1!$B$2:$I$40017;8;0)="Operador Logistico";BUSCARV(B2;[Libro7]Hoja1!$B$2:$G$40017;6;0);"")
      gracias por tu colaboracion

      Eliminar
    3. Hola Guillermo,
      a simple vista diría que la fórmula es correcta.
      Asegúrate que el valor de B2 se halla en la primera columna del rango [Libro7]Hoja1!$B$2:$I$40017, y que el valor correspondiente devuelto de la columna 8 (columna I) está igual escrito que los valores buscados (Asegurador, Operador logístico o Médico Tratante), con acentos, etc...

      No puedo decirte más...las fórmulas que te envié están probadas y funcionan bien, y si adem´s por loque comentas sólo te falla en ese caso, claramente el fallo debe estár en algo del texto.

      Slds

      Eliminar
  4. Ismael. Muchas gracias por tu invaluable colaboracion.

    ResponderEliminar
  5. Buenas noches
    me podrían ayudar con este caso, he intentado índice con la función de coincidir, pero me da de resultado valor.

    Intento obtener el precio del código pero que coincida con la factura.

    A B C
    1 factura codigo parte precio
    2 80410954 DG93F11215BE 185.325
    3 80410953 DG93F11215BE 185.325
    4
    5
    6 80410953
    7 DG93F11215BE

    INDICE(PRECIO,COINCIDIR(A6&A7,A2;A3&B2:B3,0))

    ResponderEliminar
    Respuestas
    1. Hola Erika,
      el problema es cómo has contruido la función coincidir y que además debes validarla matricialmente (es decir, presionando Ctrl+Mayus+Enter en lugar de Enter).
      Prueba sobre tu ejemplo la siguiente fórmula:
      =INDICE(C2:C4;COINCIDIR($A$6&$A$7;A2:A4&B2:B4;0))

      Espero te sirva.
      Slds

      Eliminar
  6. Buenas noches si quiero una formula donde tengo dos filas =si b5=f5 que conserve su valor y si no es el mismo se quede en blanco pero tambien que busque donde seria su posicion como seria

    ResponderEliminar
    Respuestas
    1. Hola Luz,
      podría ser
      =SI(B5=F5;B5;"")
      y luego arrastrar o copiar y pegar la fórmula al resto.
      Para encontrar su posición podrías emplear la función COINCIDIR...
      Saludos

      Eliminar
  7. Tengo que buscar un código, si lo encuentra, que develva la cantidad de stock de la comunna B, si el codigo no esta que devuelva el valor "0"
    que funcion puedo usar?

    saludos

    ResponderEliminar
    Respuestas
    1. Hola que tal?
      podrías usar una combinación:
      =SI.ERROR(BUSCARV(código;B:B;1;0);"0")

      siendo código la celda con el código de la película a buscar...
      Saludos

      Eliminar
  8. HOLA
    BUSCO AYUDA ESPERO Y ME PUEDAN APOYAR
    TENGO UNA BD DONDE TENGO VARIOS REGISTROS
    1 ADFSADF
    1 XCVBCVB
    1 ASDF
    1 QWE
    2 GFEF
    2 FRWER
    2 SDFGD
    ....

    LO QUE QUIERO ES HACER UNA BUSQUEDA DONDE ME ENCUENTRE TODOS LOS NUMEROS 1 CON SU CORRESPONDIENTE INFORMACION

    ESPERO ME HAYA DADO A EXPLICAR

    SALUDOS!!

    ResponderEliminar
    Respuestas
    1. Hola Joel,
      para estos casos de búsqueda múltiple, lo más sencillo es construir una tabla dinámica, llevando el campo número y descripción al área de filas... para luego filtrar por el campo número y mostrar el valor deseado.

      Saludos

      Eliminar
  9. Hola:
    Necesitaría ayuda con este ejemplo:

    Tengo una tabla con varias preguntas y cada una con 4 respuestas.
    Deseo que cuando marque una de ellas (a, b, c, ó d) me devuelva el valor que hay donde se encuentran el número de pregunta que está en las filas (1, 2, 3, ...) y en las columnas donde tengo las respuestas (a,b,c,d)


    Que te gusta más
    a la pera
    b la manzana
    c la sandía
    d el melón

    Elije tu destino
    a París
    b Roma
    c Londres
    d Madrid

    En esta tabla está el valor que quiero que me devuelva cuando marco una respuesta:

    P a b c d
    1 K A R V
    2 V A R K
    3 K V R A
    4 K A V R

    Es decir:
    si marco de la pregunta 1 la opción a me devuelve K
    si marco de la pregunta 3 la opción d me decuelve A

    No sé si me he explicado
    Gracias!!!

    ResponderEliminar
    Respuestas
    1. Hola Javier,
      supondré que las preguntas están numeradas.. en ese caso podrías aplicar un BUSCARH sobre la tabla de respuestas:
      BUSCARH(respuesta (A.b.c.d);TablaRespuestas;COINCIDIR(NumPregunta;PrimeraColumnaTablaRespuestas;0);0)

      Espero te oriente.. es difícil sin tener referencias de celdas.
      Saludos

      Eliminar
    2. Muchas gracias por la respuesta Ismael:

      Lo tenía también con BUSCARH, aunque la fórmula no era tan buena y que cambiaré
      Mi problema es el condicional con una casilla de verificación

      Es decir: Colocar una casilla de verificación de tal manera que al activarla me haga ese BUSCARH

      Muchas gracias de nuevo
      Un saludo

      Eliminar
  10. hola tengo un ejercicio donde debo sacar un valor de una matriz mxn; m=tipo de producto y n= referencia, si se sabe el tipo de producto y la referencia
    A B C D
    X 10 15 8 3
    Y 5 2 1 20
    Z 3 5 6 12

    se desea que arroje el valor 2 si donde voy a hacer el llamado escribo B,Y

    ResponderEliminar
    Respuestas
    1. Hola Camilo,
      lo habitual es emplear una combinación de las funciones INDICE+COINCIDIR, algo así:
      =INDICE(A2:D4;COINCIDIR("Y";A2:A4;0);COINCIDIR("B";B1:D1;0))

      Saludos

      Eliminar
  11. Hola Ismael me puedes ayudar con una consulta en Excel, la verdad no he podido organizar dicha información,
    mil gracias si me colaboras con tu tiempo

    ResponderEliminar
  12. Empleado Hora
    Arias Maturana Orlay 07:57:15
    Arias Maturana Orlay 12:52:33
    Arias Maturana Orlay 14:20:43
    Castro Olave Mauricio 07:01:39
    Castro Olave Mauricio 11:53:38
    Cordoba Garrido Argelis 08:08:32
    Cordoba Garrido Argelis 14:12:37

    Actualmente lo hago manual, si de pronto hay alguna forma automática que me lo organice seria de mucha ayuda

    Empleado ENTRADA SAL/DIA ENTR/TARDE SAL/NO
    Arias Maturana Orlay 07:57:15 12:52:33 14:20:43 --
    Castro Olave Mauricio 07:01:39 11:53:38 -- --
    Cordoba Garrido Argelis 08:08:32 -- 14:12:37 --

    Pienso que es con BUSCARV pero no se como condicionar la hora
    mil gracias

    ResponderEliminar
    Respuestas
    1. Hola Leonid,
      te recomendaría crearas una tabla dinámica, llevando el campo Empleado al área de filas, el campo (a crear) Tipo entrada / Salida al área de columnas y el campo Hora al área de Valores.

      Empleado Hora
      Arias Maturana Orlay 07:57:15 Entrada
      Arias Maturana Orlay 12:52:33 Salida día
      Arias Maturana Orlay 14:20:43 Entrada Tarde
      Castro Olave Mauricio 07:01:39 Entrada
      Castro Olave Mauricio 11:53:38 Salida día
      Cordoba Garrido Argelis 08:08:32 Entrada
      Cordoba Garrido Argelis 14:12:37 Entrada Tarde

      Espero te sirva.
      Saludos

      Eliminar
  13. Buenas tardes, agradezco si alguien me puede colaborar con este tema, debo programar un liquidador de precios, tengo en una hoja las diferentes listas de precios para diferentes Puntos de Venta, la idea es que yo seleccione el punto de venta y teniendo el código del producto me traiga el precio del producto de ese punto de venta... gracias

    ResponderEliminar
    Respuestas
    1. Hola,
      prueba empleando la función BUSCARV buscando el Punto de venta en la lista de precios...

      Espero te de la idea

      Saludos

      Eliminar
  14. Julian veo que el problema que planteas tiene dos criterios, uno es el punto de venta y el otro es el codigo, creo que podria ayudarte para la solcuion de tu problema la funcion suma producto.

    En esta funcion puedes declaran las dos condiciones y pones el rango de suma, me supongo que las listas solo hay un solo precio para cada punto de venta, es decir no essta repetido. por lo que si funcionaria la funciion que te comento

    SumaProducto((A1:a100=punto_Venta)*(B1:b100=Codigo)*(D2:D100))

    Algo como esto quedaria la funcion.

    ResponderEliminar
    Respuestas
    1. Gracias Gilberto,
      correcto ;-)
      se me pasó al leer la segunda condición...
      Saludos y gracias por el aporte

      Eliminar
    2. hola no creo que sea tan sencillo, explico un poco mas: en un mismo archivo tengo una hoja llamada listas que contiene 10 listas de precios y otra hoja llamada liquidador de pedidos, los códigos son los mismos tanto en las listas como en el formato de pedidos, pero necesito que al seleccionar la lista de precios, mediante el código me traiga el precio por bulto del producto.

      Eliminar
    3. Opino que la opción aportada por Gilberto es la adecuada..

      otras opciones de búsqueda podría ser con la función BUSCARV y ELEGIR, donde poder indicar el producto buscado y en qué lista...

      Eliminar
  15. Gracias Ismael es un placer poder contribuir...

    Julian.
    Cuando te refieres a 10 listas quieres decir que cada lista es independiente, es decir una lista abarca del rango A1:C100 y la otra lista de D2:D100 y así sucesivamente.
    O estas refiriéndote a listas desplegables en las que si seleccionas un item de la lista esta se debe tomar como criterio junto con el código para que se busque el precio.

    No se si por aqui se pueden subir archivos, me parece que seria de mucha ayuda para ver con mas claridad el problema que planteas.


    ResponderEliminar
  16. Estimados
    Agradecería su ayuda en crear una formula según las siguientes condiciones
    Tengo una orden de compra hecha en enero 2016 por $12.000.000, su condición de pago a 30-60-90 y 120 días, es decir de febrero a mayo debo pagar $5.000.000 respectivamente, pero necesito que cada pago quede reflejado en una celda distinta según su mes de pago.

    La idea es poder tener el resultado como fórmula ya que tengo en promedio 30.000 filas mensuales con esa misma estructura.
    Desde ya muy agradecido
    Alejandro
    ale.toro@gmail.com

    ResponderEliminar
    Respuestas
    1. Hola Alejandro,
      tendrías que condicionar las diferentes columnas, con los meses, y compararlos con los vencimientos de cada orden de compra...
      es decir, según la fecha de compra en cada columna añadir un condicional para saber si en esa columna (mes) debe caer la parte proporcional...
      Intentaré subir una exposición al blog.
      Saludos

      Eliminar
    2. Excelente, muchas gracias Ismael

      Eliminar
  17. hola amigos
    agradecería su ayuda lo que quiero es poder ingresar información en una tabla ya existente, teniendo que digitar solamente el código y la cantidad, y que me lo guarde en la celda correspondiente según el código digitado.
    de antemano gracias

    ResponderEliminar
    Respuestas
    1. Hola Wilfredo,
      si trabajas sobre una Tabla con algunas fórmulas, por ejemplo de BUSCARV que recuperen datos de otro origen, y para completar información rellenas datos con el Formulario de datos tendrás lo que parece necesitas
      http://excelforo.blogspot.com.es/2010/04/un-formulario-de-datos-en-excel.html
      Saludos

      Eliminar
  18. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  19. Gracias Ismael por tomarte el tiempo para responderme, sin embargo lo que sucede es que estos formularios agregan un nuevo registro y yo lo que necesito es agregar un dato a los registros existentes, te lo explico con un ejemplo:

    código nombre abono 1 abono2 abono3
    001 Pedro Ramos $ 25.00 $ 32.00
    002 Juan Perez $ 17.00 $ 16.00

    si tuviera 100 o mas códigos es tedioso buscar el código de la persona su nombre y digitar la cantidad en su registro, mi idea seria un formulario o algo así que yo solo digite el código y la cantidad y automática mente se guarde en la columna correspondiente del registro de cada persona, mi conocimiento de Excel es limitado por eso recurro a uds. ya que he leído mucho en este foro y ayudan mucho a personas con dificultades
    Felicitaciones por su trabajo en este foro y bendiciones.

    ResponderEliminar
    Respuestas
    1. Hola Wilfredo,
      realmente con ese formulario estándar de Excel también puedes realizar búsquedas múltiples, según varios criterios.. y una vez localizado modificar el resto de los campos de dicho registro (todo además de insertar nuevos registros).
      Fíjate que en la explicación donde dice:
      'Esta herramienta nos ofece además la posibilidad de filtrar registros de nuestra base de datos pulsando el botón de Criterios, utilizado sobre los diferentes campos editables habilitados, combinando los distintos comodines (* ó ?).'
      Es decir, escribiendo en los campos vacíos las condiciones de búsqueda localizas el registro en cuestión.

      Otras opciones pasan por aplicar un Autofiltro y sobre el los diferentes criterios...

      O, por supuesto, realizar un desarrollo personalizado con un UserForm y programación...

      Te recomendaría las primeras opciones.
      Saludos

      Eliminar
  20. Excelente Ismael, nuevamente gracias por tu respuesta. Bendiciones para todos ustedes.

    ResponderEliminar
  21. Estimados, una pregunta. Si deseo.buscar un dato especifico en.una matriz y resulta que en.la.dicha.no se halla, como puedo colocar una condición para que, en caso de no localizar el dato se busque en.otra matriz del mismo documento? Agradeceré su apoyo.

    ResponderEliminar
    Respuestas
    1. Hola Ruben,
      podrías anidar tu búsqueda en un SI.ERROR para dirigir otra búsqueda a otra matriz:
      =SI.ERROR(busqueda1;busqueda2)
      Saludos

      Eliminar
  22. Gracias Ismael, en efecto funciona!

    ResponderEliminar
  23. si deseo buscar un valor superior a una fecha. por ejemplo 02-04-16 deseo buscar valores superiores a esa fecha con buscarV

    ResponderEliminar
    Respuestas
    1. Hola Ángel,
      que tal estás?, un placer saludarte igualmente.
      Habría que entender el contexto.. pero quizá construyendo tu BUSCARV con el cuarto argumento como VERDADERO te pudiera servir...
      Saludos cordiales

      Eliminar
  24. Hola necesito ayuda para resolver esta formula;Lo intentado en varias ocasiones, He colocado ¨Y¨ y ¨O¨pero no tengo solucion

    A) Si el Boleto es Mayor 500 y Menor igual a 675, paga Boleto por 8%
    B) Si la Aerolínea es igual a TACA o es igual a LACSA, paga Boleto por 5%
    C) Los demás pagan Boleto por 3%(3 puntos…. 1.5 cada condicional)

    ResponderEliminar
    Respuestas
    1. Hola,
      podría ser algo así:
      =SI(Y(boleto>500;boleto<=675);boleto*8%;SI(O(aerolinea="TACA";aerolinea="LACSA");boleto*5%;boleto*3%))

      Saludos

      Eliminar
  25. Estimados requiero hacer lo siguiente;

    Necesito realizar un programa de mantención por lo que cuando esta en cierto rango de horas la celda que continua me avisa que hay que programar la mantención, luego de esto viene la celda que dice si la mantención esta pendiente; programada o realizada.
    Necesito la función para que la celda que avisa que hay que programar la mantención busque si esta mantención fue realizada y si es así que deje la celda en blanco.

    Gracias.

    ResponderEliminar
    Respuestas
    1. Hola Sebastián,
      parece necesitaras aplicar una función condicional del tipo
      =SI(Y(hora1<=HoraActual;HoraActual<=hora2);"programar la mantención")
      y con un segundo condicional evaluar si está pendiente programada o realizada.

      Al desconocer tu modelo de trabajo es complicado ajustar más...
      pero la idea es esa.
      Slds

      Eliminar
  26. Buen día le realizo la siguiente consulta, tengo que clasificar mis registros en filas en tres categorías (A, B o C). Cada categoría contiene restricciones de la siguiente manera: para ser A la acidez debe ser mayor a 5,8; el contenido de azucares debe estar entre 1 y 5; la elasticidad debe ser menor de 4 y el color debe estar entre 30 y 38. Para ser categoría B la acidez debe ser mayor a 5,8; el contenido de azucares puede ser cualquiera; la elasticidad debe estar entre 4 y 5 y el color debe estar entre 30 y 43. Y para sería categoría C si no se cumple ninguna de las anteriores. Le agradecería la ayuda, mi tabla tiene la siguiente forma:
    Muestra Acidez Azúcar Elasticidad Color
    1 5,8 2 3,0 32
    2 5,7 3 4,5 40
    3 6,0 6 6,0 35
    4 5,6 1 4,0 30

    ResponderEliminar
    Respuestas
    1. Hola,
      podría ser:
      =SI(Y(B10>5,8;C10>1;C10<5;D10<4;E10>30;E10<38);"a";SI(Y(B10>5,8;D10>4;D10<5;E10>30;E10<43);"b";"c"))

      Espero te de la idea
      Saludos

      Eliminar
  27. buena tarde tengo la sig consulta, tengo un listado de personas y las fechas en compras que realizaron, lo que quiero en ver que funcion ocupo para que me busque el numbre de una persona determinada y me sume lo consumido en el mes

    ResponderEliminar
    Respuestas
    1. Hola Carlos,
      si sabes qué Nombre y que mes es el que necesitas, puedes aplicar la función SUMAR.SI.CONJUNTO(rng_suma;rng_nombres;NOMBRE;rng_fechas;">="&Fecha1;rng_fechas;"<="&Fecha2)

      Slds

      Eliminar
  28. Buen día.
    Tengo unas inquietudes frente a unos datos, tengo dos cuadros con información (materiales) organizados de la siguiente manera:
    1. Despiece:
    Columna A: código; columna B: descripción; columna C: consumo.
    2. Precios:
    Columna A: código; columna B: descripción; columna C: precio; columna D: proveedor.
    Existe el caso que para un mismo código haya diferentes proveedores.

    Las inquietudes radican en como modificar la formula buscar
    1. Para que me muestre las diferentes opciones de proveedores para un mismo código, en diferentes celdas.
    2. Que me muestre el precio de acuerdo al código y proveedor. Para esto e utilizado buscar con coincidencia, pero me arroja error: =BUSCARV(A4;CONSOLIDADO!A:E;COINCIDIR('AMBU-MASTER'!F4;CONSOLIDADO!A:E;0);VERDADERO).

    Agradezco mucho tu colaboración.

    ResponderEliminar
    Respuestas
    1. aclaro, que un proveedor también tiene asignado diferentes códigos.

      Eliminar
    2. Hola Leydi Lizet,
      te aclaro que con funciones como BUSCARV únicamente obtendras un valor, que será la primera coincidencia...

      Por otra parte permíteme un consejo en cuanto a tu función:
      =BUSCARV(A4;CONSOLIDADO!A1:E1000;COINCIDIR('AMBU-MASTER'!F4;CONSOLIDADO!A1:E1;0);falso)
      es decir, acota la búsqueda al rango exacto (o mejor trabaja sobre tablas).
      COINCIDIR debes emplearlo sobre una fila o columna
      Con BUSCARV emplea FALSO en vez de VERDADERO para forzar una búsqueda exacta (y no aproximada)

      Saludos

      Eliminar
  29. Buen día, agradezco su ayuda para crear una formula para comparar dos hojas de empleados, donde una hoja es la base de datos completa y la otra hoja son los datos únicamente de los empleados activos. La idea es que en la hoja base de datos haya una columna con el concepto Activo y Retirado.
    Agradezco mucho su ayuda.

    ResponderEliminar
    Respuestas
    1. Hola Andrea,
      en la BD completa:
      =SI(ESERROR(BUSCARV(Empleado;TablaActivos;1;0));"Retirado";"Activo")
      Saludos

      Eliminar
  30. buenas noches, mi duda es que tengo un formulario y una tabla de datos, del formulario tomo el código para buscar en la tabla de datos y deseo que copie un valor a la tabla desde el mismo formulario al la celda donde introduzco la formula. espero y me puedan ayudar...

    ResponderEliminar
    Respuestas
    1. Hola Antonio,
      entiendo hablamos de un UserForm con TextBox, etc..
      Para trasladar datos del formulario a la hoja basta algo similar a:
      range("A1").value = TextBox1.Value

      obviamente a la celda de la hoja de cálculo que sea y tomando el nombre del TextBox, ComboBox, etc que le hayas puesto.

      Saludos

      Eliminar
  31. Buenos días!!
    Necesito ayuda en lo siguiente: necesito traerme a un cuadro con BuscarV el monto del gasto real por centro de costo de varias cuentas contables, la condición seria que si en ambos archivos el centro de costo coincide entonces me traiga el valor que le corresponde a la cuenta buscada.
    Espero pueda ayudarme. Agradecida.

    ResponderEliminar
    Respuestas
    1. Hola Alejandra,
      como tu misma indicas parece que BUSCARV es la función adecuada...
      Sin ver la distribución de datos es difícil darte la fórmula exacta.
      Pero la idea es:
      =BUSCARV(centro_costo;Tabla_con cuentas_contables;num_columna_monto_real;FALSO)

      Slds

      Eliminar