viernes, julio 18, 2008

Usar BUSCARV (Excel) en listas con valores repetidos.


Usamos BUSCARV para encontrar en una tabla el valor correspondiente a otro determinado valor. Esta función, así como otras funciones de búsqueda en Excel, tiene una limitación. Si el valor de búsqueda tiene más de un valor correspondiente en la matriz de búsqueda, Excel dará como resultado el primer valor (en orden de aparición).

Supongamos esta lista de órdenes de compra.



Cada producto aparece tres veces, cada vez con distinto precio. Si usamos BUSCARV para averiguar el precio de los tornillos, el resultado será 7.65



Como explicamos antes, BUSCARV nos dará siempre el valor que aparece en primer lugar en la matriz. Si queremos encontrar el valor correspondiente al argumento de búsqueda que no sea el primero en la matriz, tenemos que usar una fórmula matricial como esta propuesta por Chip Pearson

={INDICE(compras,K.ESIMO.MENOR(SI(DESREF(compras,0,0,FILAS(compras),1)=B12,FILA(DESREF(compras,0,0,FILAS(compras),1))-FILA(DESREF(compras,0,0,1,1))+1,FILA(DESREF(compras,FILAS(compras)-1,0,1,1))+1),B13),3)}



Esta fórmula supone que sabemos cuantas instancias de Tornillos hay en la lista. Si buscamos una instancia inexistente, por ejemplo el cuarto valor de Tornillos, obtenemos un resultado #REF!

Podemos adaptar la fórmula para que dé el último valor de la lista

={INDICE(compras,K.ESIMO.MENOR(SI(DESREF(compras,0,0,FILAS(compras),1)=B12,FILA(DESREF(compras,0,0,FILAS(compras),1))-FILA( DESREF(compras,0,0,1,1) )+1,FILA( DESREF(compras,FILAS(compras)-1,0,1,1))+1),CONTAR.SI(DESREF(compras,0,0,FILAS(compras),1),B12)),3)}



Si queremos buscar el máximo valor de Tornillos, sin relación al orden de aparición en la lista, podemos usar esta fórmula matricial:

={MAX((A2:A10=B12)*(C2:C10))}



El archivo con las fórmulas se puede descargar aquí.

Actualización (Julio 2019): once años después de la publicación de esta nota Power Query, que Microsoft ha incorporado a Excel en los últimos años, nos permite realizar esta tarea mas eficientemente. Les invito a consultar esta nota.


Technorati Tags:

138 comentarios:

  1. Justo has dado en algo que llevo buscando hace tiempo. La pregunta es: ¿cómo hacer con el buscarv para que SUME todos los resultados que encuentre? Es decir, tengo una persona con dos días de baja por enfermedad, otros tres por asuntos particulares y uno por ausencia injustificada. Si utilizo buscarv me da dos días, salvo que haya trabajado previamente el archivo totalizando los días de ausencia. ¿Cómo se podría utilizar el buscarv para que sume los días de todos los registros de una determinada persona?

    ResponderBorrar
  2. Hola

    para sumar todos los valores que respondan a un criterio tienes que usar SUMAR.SI, no BUSCARV.
    Si quieres sumar todos los valores que respondan a más de un criterio tienes que usar algunas de las técnicas que explico en esta nota.

    ResponderBorrar
  3. Hola, Gracias por el Tuto, de BuscarV en Np Repetidos, pero la Furmala me arroja error, (#NUM!)
    Yo estoy Buscando texto o un numero de parte en una matriz, pero quiero que me de el segundo valor no el primero.


    Espero me ayudes.

    ResponderBorrar
  4. Benjamín

    cómo encontrar el segundo valor está explicado en la nota. Si recibes un error #NUM tienes que revisar tus datos y tu fórmula (puedes enviarme el cuaderno para que vea donde pueda estar el problema).

    Qué es un Tuto???

    ResponderBorrar
  5. Hola gracias por tu interes de ayudarme, me puedes enviar tu mail porfavor a este correo para enviarte la hoja de excel.

    benjadx@live.com.mx

    Tuto, es tutorial o explicación de como hacer cierto ejercicio o uso de algun programa etc.. =D

    ResponderBorrar
  6. El mail aparece en la columna izquierda del blog, denajo de la foto.

    ResponderBorrar
  7. Jorge, estoy intentado realizar la formula matricial empleando Indice y Coincidir, y no soy capaz de conseguirlo.
    Tú tienes ya construida esa estructura ?
    Coincidir(Valor ref;Matriz; tipo coincidencia)
    Mi estructura es:
    INDICE(Matriz;K.ESIMO.MENOR((COINCIDIR;k));Columna)

    Mi error está en la función COINCIDIR.No soy capaz de que no considere los valores no coincidentes con el valor de búsqueda.

    ResponderBorrar
  8. Hmmm, hay algunas posibildades, como que estás usando COINCIDIR aproximada sin ordenar la lista, por ejemplo.
    Si quieres puedes mandarme el archivo para que le de un vistazo.

    ResponderBorrar
  9. Hola,
    Buenas tardes, tengo una duda, estoy intentando utilizar buscarv para encontrar el primer valor en una matriz en donde el elemento que busco se repite varias veces, en el artículo comentas que esta función devolverá el primer valor que aparezca, qué es lo que yo necesito, pero al utilizar la fórmula, me aparece el último valor, tienes idea de qué puedo estar haciendo mal?
    Saludos y gracias

    ResponderBorrar
  10. Octavio,
    tendrías que enviarme el archivo para que pueda hacerme una idea. Por favor, fijate en lo que pongo en la pestaña Ayuda.

    ResponderBorrar
  11. Muchas gracias por la explicación sobre la función BUSCARV. Quería consultarte: Tomando tu ejemplo, supongamos que el Precio de cada producto "Tonillos" "Clavos" "Tuercas" es el mismo a lo largo de toda la lista, y lo que deseo es que se repita ese precio cada vez que aparezca la palabra "Tonillos" "Clavos" "Tuercas" en el listado de resultado (tomando de ejemplo la segunda imagen de este post, debajo de "Tornillos" aparecería de forma aleatoria y continuada "Tonillos" "Clavos" "Tuercas").

    ResponderBorrar
  12. No me queda clara tu consulta. Hasta donde logro entender sería suficiente usar sencillamente la función BUSCARV.

    ResponderBorrar
  13. Estimado JLD, muchas felicidades por tu Blog. Es bastante bueno e ilustrativo.

    Quiero compartir mi formula para la consulta de "Precio" y "Último valor en la lista".

    Mi proupuesta para "Precio" es:

    =INDIRECTO(DIRECCION(Producto*G13+SI(Producto=1,G13*2-Producto,SI(Producto=2,G13,1)),8,1,,))

    Y para "Último valor en la lista" es:

    =INDIRECTO(DIRECCION(Producto+7,8,1,,))

    Donde "Producto" en mi formula, es un nombre definido por:

    =SI(EXTRAE(Hoja1!$G$12,1,2)="To",1,SI(EXTRAE(Hoja1!$G$12,1,2)="Cl",2,3))

    Que me parece mucha más sencilla y práctica.

    Christian Mendoza, México.
    Saludos!!!

    ResponderBorrar
  14. Que tal JLD, muchas felicidades por tu blog. Es bastante bueno e ilustrativo. Quiero compartir mi método para realizar las consultas de "Precio" y "Último valor en la lista".

    Para "Precio" utilicé la siguiente fórmula:

    =INDIRECTO(DIRECCION(Producto*B13+SI(Producto=1,B13*2-Producto,SI(Producto=2,B13,1)),3,1,,))

    Y para "Último valor en la lista", ésta otra fórmula:

    =INDIRECTO(DIRECCION(Producto+7,3,1,,))

    En estos cálculos el nombre "Producto" es un nombre con fórmula definido por:

    =SI(EXTRAE(Hoja1!$B$12,1,2)="To",1,SI(EXTRAE(Hoja1!$B$12,1,2)="Cl",2,3))

    Esta forma de llegar a los mismos resultados me parece mucho más sencilla y práctica.

    Christian Mendoza, México.

    Saludos!!!
    Nota: Hice un comentario anterior pero tuve un error al copiar las formulas. Había pegado $G$ en vez de $B$ y 8 en vez de 3.

    ResponderBorrar
  15. Tengo un problema que necesitaria de la ayuda de alguien para poder resolverlo.

    Tengo una base de datos en la cual entre otros datos tengo la columna "Direccion" y la columna "Altura". Ahora, esto necesito codificarlo segun que calle sea y la altura. Tengo otra base que vendria a ser mi Matriz donde me indica cada calle y desde que altura hasta que altura corresponde a que codigo.
    El problema que se me presenta es que con la formula buscarv no puedo darle parametros adicionales (si coincide en el rango de alturas).

    En un ejemple practico:
    Tengo en mi base una fila que en la columna "Direccion" me indica que es la calle Av Alberdi y en la columna "Altura" me indica que es al 1450.

    Mi matriz de datos es la siguiente:
    Altura
    Calle Inicio Fin Canalizador
    Av Alberdi 1100 1500 1406-18
    Av Alberdi 1600 1900 1406-19
    etc

    Como hago para poder cruzarlo indicando que debe coincidir el dato "Direccion" con "Calle" y ademas tiene que cruzar "Altura" con el rango de Inicio y Fin para poner el "Canalizador" correspondiente??

    Si alguien me puede dar una mano se lo agradeceria ya que me estoy quemando pero no me sale.

    Muchas gracias.
    Marcos

    ResponderBorrar
  16. Creando un campo auxiliar donde los valores son una combinación de "dirección" y "altura" (con el operador &). Luego se aplica BUSCARV a ese campo.

    ResponderBorrar
  17. Hola, muy bueno este tutorial! por favor, podras ayudarme con lo sgte.? tengo una base de datos compuesta por A:CLIENTES b:NROS.SOLICITUD en otra hoja quiero que al seleccionar el cliente de la lista, me muestre en una celda los nros. de solicitud que encuentre para ese cliente. Uso la función BuscarV, pero sólo me devuelve el primer numero que encuentra, como puedo lograr que me muestre todos los resultados hallados? muchisimas gracias!

    ResponderBorrar
  18. Buenos días, estoy trabajando en un control de salidas de expedientes y estoy atorado en la ultima parte del proyecto pero el mas importante, un expediente puede salir infinidad de veces y cada salida es un registro en la base de datos, ahora bien lo que necesito en este caso es no saber ni el primero ni el ultimo sino toda la bitácora, se que si filtro la base de datos la puedo ver pero quiero ser mas técnico y esta formula me serviría pero quiero que esta información se muestre en otra hoja, me podrían ayudar en eso.

    Saludos.

    ResponderBorrar
  19. napanno,
    tu mejor opción es usar un tabla dinámica para generar el reporte de cada expediente, no fórmulas.

    ResponderBorrar
  20. Hola Jorge, te quería hacer dos consulta.
    Resulta que tengo un ejercicio sobre viáticos

    en la celda B se encuentra el nombre de los empleados, en la C los apellidos, y en la celda AI la cantidad de viáticos realizados en 1 mes.

    La primera parte me pide que en una celda aparezcan el nombre y apellido de el empleado que hizo mas viáticos en el mes

    yo use esta función:
    =INDICE(B2:B8&C2:C8;COINCIDIR(MAX(AI2:AI8);AI2:AI8;0))

    me devuelve el nombre y apellido pero juntos, ¿cómo podría hacer para que aparezcan separados?

    Y aquí va la otra consulta.
    Dentro del mismo ejercicio la segunda parte me piden que en otra celda coloque el nombre y apellido del empleado que realizo menor cantidad de viáticos, y que debe aparecer la trama en rojo si la cantidad de viáticos realizada es menor o igual a 10, o azul en caso contrario

    te pido disculpas si esto no va aquí, es que tengo la prueba mañana y estoy desesperado.

    saludos y espero una pronta respuesta

    ResponderBorrar
  21. Para que los nombres aparezcan separados usas

    =INDICE(B2:B8&" "&C2:C8;COINCIDIR(MAX(AI2:AI8);AI2:AI8;0))

    Para extraer el mínimo usas obviamente
    =INDICE(B2:B8&" "&C2:C8;COINCIDIR(MIN(AI2:AI8);AI2:AI8;0))

    Para determinar el color de la trama dinámicamente tienes que usar Formato Condicional con la opción fórmula con las reglas

    =A12<=10 para la trama roja y =A12>10 para la azul

    ResponderBorrar
  22. Jorge sos un grande!!!, muchísimas gracias, hoy tengo una prueba sobre excel y me he pasado días rompiéndome la cabeza, leyendo tutoriales, etc,

    te lo agradezco mucho

    ResponderBorrar
  23. Hola Jorge. Tengo un excel planteado y no soy capaz de aplicar esta fórmula para que me devuelva unos valores concretos de diversas filas que se corresponden al mismo valor. ¿Puedo enviártelo por mail?

    Muchas gracias

    ResponderBorrar
  24. Si, pero por favor, lee lo que pongo en el enlace Ayuda (en la parte superior del blog)

    ResponderBorrar
  25. Hola Jorge,

    La fórmula que he aplicado me devuelve "REF" como error. Puede ser que sea porque la matriz de la que extrae los datos tiene filas vacías intercaladas? Esta matriz, que tú defines como "compras", no debe comprender la fila en la que se encuentran los nombres de las columnas, verdad?

    Muchas gracias.

    ResponderBorrar
  26. El nombre "compras" se refiere al rango A2:C10, es decir, no incluye los nombres de las columnas.
    Las filas en blanco no deben influir en el resultado si los rangos están definidos en forma correcta.
    Uno de los motivos del error #REF en esta fórmula puede ser que estés buscando una instancia que no existe, talcomo pongo en la nota.

    ResponderBorrar
  27. Hola Jorge,

    Aún me aparece el error REF aunque ya he considerado las opciones de tu nota. ¿Podría deberse a que la matriz de datos ("compras") está en una pestaña diferente de la que contiene el valor "B12" (en la misma hoja)?

    Tengo un par de dudas relacionadas con la aplicación de la fórmula que pueden ser las causantes de que la esté escribiendo mal:

    - ¿Porqué escribes "2" cómo "área" (último campo de la fórmula global)? En la original de Chip Pearson él escribía un 3 y no me queda claro a qué se refiere este valor.

    - Al aplicar la fórmula Desref, ¿porqué no pones un "2" en lugar de un "0" en el valor correspondiente a "columnas", si el precio está dos columnas a la derecha del nombre "tornillos"?

    Muchas gracias de nuevo Jorge, llevo un par de días peleándome con esta fórmula sin mucho éxito!

    ResponderBorrar
  28. Te sugiero que descargues el archivo con el ejemplo dela nota y trates de aplicarlo a tu caso.

    ResponderBorrar
  29. Hola Jorge,

    Mi matriz de datos está compuesta por diferentes objetos ordenados de forma que hay tres filas seguidas con datos relativos a cada uno de los objetos. He aplicado tu fórmula para que me devuelva el valor de las diferentes columnas para cada objeto, pero sólo consigo un resultado satisfactorio para el objeto que ocupa las tres primeras filas de mi matriz (haciendo una analogía, sería como si en tu ejemplo la fórmula sólo se cumpliera para "tornillos" pero para "clavos" y "tuercas" obtuvieras siempre "0" como resultado). ¿Se te ocurre algún motivo por el cual puede darse este fenómeno? Si la fórmula responde bien para un objeto debería hacerlo para todos y no sólo para el que encabeza la matriz, ¿no?


    Muchas gracias de nuevo por atender a nuestras dudas desde tu bloc!

    ResponderBorrar
  30. Te sugiero que me envíes el archivo (por favor, leé lo que pongo en el enlace Ayuda).

    ResponderBorrar
  31. Hola..
    estoy tratando de que la formula me de sobre el mismo ejemplo pero me da error en esta parte de la formula (SI(DESREF(B11:D19;0;0;FILAS(B11:D19);1 a continuacion de K.ESIMO.MENOR
    No encuentra el valor.

    Espero comentarios...

    Gracias

    ResponderBorrar
  32. Pra saber por qué te da error tendría que ver tu archivo.

    ResponderBorrar
  33. Hola, porque cuando pulsas sobre la celda del resultado del valor y luego te vas a la barra de formulas y sin variar ningun dato te sale el error VALOR!?

    ResponderBorrar
  34. Hay un error en tu fórmula, obviamente. Puede ser que se refiera a una celda que contiene un error. No entiendo del todo la descripción del problema. ¿A qué te refieres con ir a la barra de fórmulas?

    ResponderBorrar
  35. Para sumar datos repetidos, se puede utilizar la funcion "sumar.si.conjunto()" o en ingles "sumifs()"

    ResponderBorrar
  36. Bueno, no exactamente. SUMAR.SI.CONJUNTO permite sumar en base a más de un criterio. En versiones anteriores a Excel 2007, lo hacemos con SUMAPRODUCTO.

    ResponderBorrar
  37. Hola Jorge, ésta fórmula es excelente pero no logro adaptarla a mi file, como podría hacer para mostrárte en donde me surgen los valores #num o #value?

    ResponderBorrar
  38. Puedes enviar el archivo por mail privado siguiendo las instrucciones que aparecen en el enlace Ayuda (en la parte superior del blog).

    ResponderBorrar
  39. Hola Jorge,

    Ando dándole vueltas a si se puede adaptar para que ofrezca como resultado todas las coincidencias y no una concreta. Pero no doy con ello.
    Es posible?

    Gracias y un saludo

    ResponderBorrar
  40. No, no es posible. No se puede cambiar la estructura de la hoja con funciones. Es decir, no podemos poner resultados calculados en una celda en otra celda.
    Tus alternativas son: Autofiltro, Filtro Avanzado, Tablas Dinámicas.
    Ultimamente he recibido varias consultas sobre este tema y estaré publicando una nota en breve.

    ResponderBorrar
  41. Buenas, he estado leyendo tu blog como unas 5 horas seguidas, haciendo pruebas y demás, es una maravilla. Muchas gracias por tu tiempo.. he usado rangos dinamicos dependientes, las listas desplegables y todo bien. Ahora el tema es que me he atascado. He leido mucho sobre algunas pistas que das a otra gente con temas similares pero no logo entender exactamente como hacerlo. Te cuento:
    Tengo dos listas desplegables dependientes una de otra. Al finalizar de elegir en las dos quiero que en la tercera casilla me salga el precio del producto. Ese precio depende de esas dos casillas (en el futuro serán 5 variables)
    El problema está al intentar usar BUSCARV o similares.

    Los datos son 4 opciones de cada una opcion 2 opciones más y de cada una de ellas 15 opciones más.. No se como hacer que "reconozca la elección de cada desplegable dependiente" y luego elija en la tabla de datos la cifra correspondiente.

    Me valdría por ejemplo si detecta "caso1" leer el dato de "columna1" , si detecta "caso2" y "opción2" leer de "columna2"
    ¿Eso se puede hacer?

    Espero haberme explicado.
    Muchisimas gracias por tu tiempo.

    ResponderBorrar
  42. Una solución es crear un campo auxiliar, que puede estar oculto, donde se combinan los valores de las opciones. De esta manera se crea una valor único. Este valor sirve como argumento de búsqueda en una tabla creada con los valores correspondientes a cad combinación.

    ResponderBorrar
  43. Buenos Días, soy nuevo en este blog, me parece muy valioso, aproposito, pero veo que los post son un poco antiguos, me gustaria recibir respuesta para saber si aún esta activo, gracias por la atención.

    ResponderBorrar
  44. Estimado, el blog sigue muy activo. Te invito a apretar el enlace "Página Principal" al pie de la plantilla. La última entrada es del 29/01/2012

    ResponderBorrar
  45. HOLA COMO HAGO PARA QUE AL BUSCARV ME SUME VARIAS CELDAS Q COINCIDEN CON EL VALOR BUSCADO YA QUE EL BUSCAR V SOLO ME PERMITE BUSCAR EL PRIMER VALOR QUE ENCUENTRA Y NECESITO LA SUMA DE ELLOS

    ResponderBorrar
  46. Ciertamente no con BUSCARV. Excel tiene varias funciones para sumar (o contar) de acuerdo a varios criterios. En las versiones recientes de Excel contamos con SUMA.SI.CONJUNTO, por ejemplo. Pero también podemos usar SUMAPRODUCTO o fórmulas matriciales. Esta nota, un poco vieja pero aun actual, toca el ema.

    ResponderBorrar
  47. Buenas, tengo un inconveniente. Tengo una base de datos que alimenta una Pivot, en esta base de datos tengo que traer valores de otra, con un valor de referencia que se repite. Por lo cual si hago un vlookup me va a traer varias veces ese valor que quiere buscar. Yo quiero que lo traiga una sola vez, si se repite el valor de referencia que me ponga 0. Se podrá?

    ResponderBorrar
  48. Gonzalo, no me parece que VLOOKUP sa la herramienta más adecuada en tu caso. Pero si queremos usar VLOOKUP podrías combinarla con CONTAR.SI para extraer el valor en la primer instancia y 0 si no es la primer instancia. Para determinar el orden a aparición de un valor (el de referencia en tu caso, supongamos que esta en la columna A a partir de la fila 2), usarías

    CONTAR.SI($A$2:A2;A2)

    y la copiás a lo largo del rango. Fijate en los símbolos $.

    Esta fórmula da 1 la primer vez que un valor aparece, 2 la segunda vez y así sucesivamente.

    La fórmula combinada sería

    =SI(CONTAR.SI($A$2:A2;A2)=1;BUSCARV(....);0)

    ResponderBorrar
  49. Excelente! Muchas gracias! Funciono perfecto! Ahora bien, a esta tambíen le puedo agregar otra funcion Si es error(N#A) me ponga cero, verdad?

    ResponderBorrar
  50. Así es. Con Excel 2007/10 se puede usar también SI.ERROR

    ResponderBorrar
  51. Hola!
    Ojalá me puedas ayudar.
    Tengo un problema con el BUSCARV, no se si este utilizando la fórmula correcta.

    Mi Base de Datos cuenta con 3 Columnas:
    Numero de tienda, Código de Barras y Unidades Vendidas.

    Y tengo mi Archivo en donde quiero pasar las Unidades Vendidas de cada tienda y cada código.
    Esto lo tengo que hacer, porque me lo piden en ese archivo exactamente y mi base de datos yo lo bajo de un sistema aparte.

    Como le puedo hacer para que se vacíen las unidades vendidas?

    espero que si me haya explicado bien!

    gracias!

    ResponderBorrar
  52. Hola Mucas Felicidades por tu blog y gracias por el tiempo que te llevas en contestar tengo un problema: estoy haciendo un Stock con Materiales-Entradas-Salidas y reporte de materiales pero quiero que en reporte de materiales asi como en tu ejemplo me muestre en que fecha fueron sacados los materiales (SALIDAS) como es bodega sacan materiales en varias fecha y sus decripciones ojala y me explique o me entiendas gracias por los aportes

    ResponderBorrar
  53. No entiendo que quieres decir con "que se vacíen las unidades vendidas". Pero suponiendo que quieres totalizar las ventas por tienda, tienes que usar la función SUMAR.SI, no BUSCARV

    ResponderBorrar
  54. Luis Angel,
    en tu caso usaría una tabla dinámica poniendo el camo de fechas en el área de filas.

    ResponderBorrar
  55. Buenos días Jorge:

    A ver si me puedes ayudar... porque creo q la solución es más fácil de cualquiera de las opciones que estoy intentado.

    Mi matriz tiene en la columna A los códigos de empresas en la B un tipo de actuación en dicha empresa, y en la C la cantidad de actuaciones que hemos tenido de cada tipo.

    Los tipos de actuación son 4, pero en función de la empresa puedo tener, 1 actuación, 2, 3 o las 4.

    Necesito tener una tabla en la que para cada empresa me devuelva el número de actuaciones para cada tipo, o 0 si no ha habido ninguna. Sería lo equivalente a "copiar" en fragmento de la tabla que corresponde a una sociedad en una pestaña diferente.

    He probado con un buscarv para buscar la empresa en la tabla, que me devuelve el valor de la tabla B y combinarlo con un "si" que me devuelve el valor que busco en la celda que quiero, pero eso solo me sirve para el primer tipo de actuación.

    No se si me he explicado.

    A ver si me puedes ayudar.

    Muchas gracias

    ResponderBorrar
  56. Estimado,
    Necesito una ayuda.
    Teniendo la celda A1=4 B1=2 y C1=4, como hago con buscarh que el valor que me de es el 4 de C1 y no el de A1. Si quieres puedo enviarte un mail con un ejemplo. Muchas gracias

    ResponderBorrar
  57. Si, enviame un mail porque la consulta no está clara (¿cuál es el criterio de búsqueda?)

    ResponderBorrar
  58. Jorge. Gracias por tu respuesta. Me indicas tu dirección de mail para enviarte el ejemplo?. Gracias

    ResponderBorrar
  59. Fijate en el enlace Ayuda, en la parte superior del blog.

    ResponderBorrar
  60. buenos dias tengo una hoja de calculo donde tengo las horas de entrada y salida de personal extraidas del un sistema pero me interesa filtrar por persona la primera entrada del dia y la ultima salida
    Alvarez Garcia, Lenis Tamara 20249 8/11/2012 6:27:08 am
    Alvarez Garcia, Lenis Tamara 20249 8/11/2012 6:59:02 am
    Alvarez Garcia, Lenis Tamara 20249 8/11/2012 7:01:20 am
    Alvarez Garcia, Lenis Tamara 20249 8/11/2012 10:51:36
    Alvarez Garcia, Lenis Tamara 20249 8/11/2012 10:51:54
    Alvarez Garcia, Lenis Tamara 20249 8/11/2012 10:54:14
    Alvarez Garcia, Lenis Tamara 20249 8/11/2012 10:56:24
    Alvarez Garcia, Lenis Tamara 20249 8/11/2012 10:59:24
    Añez Castillo, Edilia Josefina 13922 8/11/2012 7:57:26 am
    Añez Castillo, Edilia Josefina 13922 8/11/2012 8:02:20 am
    Añez Castillo, Edilia Josefina 13922 8/11/2012 8:07:20 am
    Añez Castillo, Edilia Josefina 13922 8/11/2012 9:02:56 am
    Añez Castillo, Edilia Josefina 13922 8/11/2012 9:05:54 am
    Añez Castillo, Edilia Josefina 13922 8/11/2012 11:38:16

    ResponderBorrar
  61. Erick, no con BUSCARV (el tema de la nota) sino con MIN para encontrar la hora de entrada y MAX para encontrar la hora de salida. Como hay que separar según persona una forma práctica de hacerlo sería usando una tabla dinámica. En el área de las filas ponemos los trabajadores y en el área de los datos ponemos la hora dos veces; un campo lo resumimos con MIN (entrada) y el segundo con MAX (salida).
    También se puede hacer directamente con fórmulas.

    ResponderBorrar
  62. Hola jorge, te consulto como hacer para que en lugar de hallar el valor "maximo" de los tornillos, me encuentre el valor "minimo" (Remite al ejemplo planteado"Si queremos buscar el máximo valor de Tornillos, sin relación al orden de aparición en la lista, podemos usar esta fórmula matricial:

    ")

    ResponderBorrar
  63. César,

    tendrías que usar esta fórmula, introduciéndola en forma matricial (Ctrl+Mayúsculas+Enter)

    =MIN(SI((A2:A10=B12)*(C2:C10)=0,"",(A2:A10=B12)*(C2:C10)))

    ResponderBorrar
  64. Hola,

    Tengo un problema historico con BuscarV con valores repetidos que no para de salirme y que nunca consigo solucionar, he leido tu ejemplo pero no me acaba de funcionar.

    Te cuento mi caso y espero que me puedas ayudar. Yo tengo un listado de personas con un codigo que liquidan sus gastos a un centro de coste. Pero en ocasiones no liquidan sus gastos al 100% al mismo centro de coste sino que algunas veces lo hacen diferentes % a distintos centros de coste. Y yo lo que quiero es dentro de la misma hoja poner el Codigo de la persona y los porcentajes a los que liquida a los diferentes centros de coste, ojo no a que centros de coste sino a los %.
    Ejemplo.

    Fulanito--- codigo de fulanito---1ºporcentaje(puede ser el 100% o no)---2º %, etc.... asi hasta que la suma de los % sea el 100%, puede ser un %, dos, tres, cuatro o 100 en el caso de que liquide un 1% en 100 centros de coste.

    Para todo esto en una hoja tengo los nombres con los codigos y otra tengo por grupos de centros de coste los nombres, los codigos y los %.

    Espero haberme explicado correctamente.

    Necesito tu ayuda porque llevo ya varios dias y no hay manera de solucionarlo

    ResponderBorrar
  65. ¿Por qué con BUSCARV? Te sugiero que pongas todos los datos en una única hoja (bse de datos plana) y hagas los resúmenes usando tablas dinámicas.

    ResponderBorrar
  66. Estimado
    Buenas noches. me remito a usted para realizarle una consulta sobre un inconveniente que tengo en un archivo .XLS. Tras investigar un poco, me encontré con el Blogspot, donde comente, dentro del foro del mismo, mi inquietud, la cual muy atentamente respondiste, motivo por el cual te agradezco muchisimo.
    Te comento que el problema lo tengo al realizar un "BUSCARV" con valores múltiples. A continuación detallo el libro y lo necesitado.
    En la columna "A" tengo un listado de números (legajos), los cuales se repiten entre 2 y 5 veces dentro de la misma columna.
    En la columna "B" tengo, en algunos caso la cantidad de segundos que "A" utilizo en una actividad determinada
    En la columna "C" se encuentra una referencia horaria, respecto a en que momento se utilizo "B"
    En la columna "D" poseo los mismos datos que en la "C" , solo que en otro formato ya que es una columna auxiliar que utilizo para otra hoja del mismo libro.
    En la Columna "E" obtengo el horario exacto en el que se comenzo a utilizar el tiempo ("B"), por lo que cada vez que tengo datos en "B", también los tengo en "E" (datos múltiples)
    En la columna "G" tengo el listado de legajos existentes

    Lo que necesito hacer es que en la columna "H" me traiga el dato que se encuentra en "E" para cada fila de la columna "G", pero como el valor buscado se encuentra duplicado no puedo utilizar la función BUSCARV. A demás necesito que todos los datos que se correspondan con los de cada fila "G" (legajos) sea el menor de todos.
    En respuesta a esto, me indicaste que podía utilizar la formula "=MIN(SI((A2:A10=B12)*(C2:C10)=0,"",(A2:A10=B12)*(C2:C10)))" (hiper vinculo a la consulta realizada en el foro) pero al acomodarla en mi libro de excel me da como resultado (#¡NUM!).
    Se que este resultado lo podría obtener realizando simplemente una tabla dinámica, pero como los datos que se encuentran en "A:C" varían todos los días, debería estar siempre actualizando la misma, y como es un archivo que luego impartiré con un colega de trabajo no quiero utilizar tablas, ya que en archivos anteriores hemos tenido problemas con las mismas.
    Te adjunto el archivo, espero haber sido lo suficientemente explicito como para poder obtener tu ayuda en este caso. Desde ya muchas gracias. A espera de una pronta respuesta, lo saludo Atte. Cesar

    ResponderBorrar
  67. César,
    un comentario no es el lugar adecuado para este tipo de consultas (ya que no es de interés general ni está ligada al tema de la nota). Por favor fijate lo que pongo en el enlace Ayuda (en la parte superior de la plantilla).

    ResponderBorrar
  68. GRACIAS. Pense que una consulta sobre BUSCARV con valores repetido, en un foro cuyo tema es "Usar BUSCARV (Excel) en listas con valores repetidos", era una consulta ligada al tema de la nota. No obstante agradezco tu respuesta. Saludos

    ResponderBorrar
  69. Hola!Tengo un problema, tengo una matriz que tiene en una columna el nombre de unos productos y en otra columna la cantidad de venta de cada uno, necesito hacer una funcion que busque el mayor valor de venta y que me indique a que producto se refiere.
    Para ponerlo en tu ejemplo, una funcion que busque la orden de compra mayor y que me indique que esta corresponde a tuercas, pensaba hacerlo con muchos "si" pero es demasiado tedioso
    Gracias !

    ResponderBorrar
  70. Buenas tardes, mi consulta es saber lo siguiente y si esta bien aplicada en este caso la funcion BUSCARV: tengo una matriz con nros de patentes de camiones con sus horas de ingreso a la fabrica, los quiero encontrar en otra hoja el caso es que cuando las patentes se empiezan a repetir me trae siempre el primer valor, yo quiero que los tome segun la fecha de ingreso del camion, me podrias ayudar a resolverlo, agradecere tu ayuda gracias y saludos Claudio.

    ResponderBorrar
  71. Lo más eficiente sería que usaras una tabla dinámica, resumiendo los valores con la función MAX. Otra posibilidad usar INDICE combinada con COINCIDIR, siendo el valor de búsqueda de COINCIDIR el resultado de la función MAX.

    ResponderBorrar
  72. Estimado Anónimo (el de los camiones),
    lo más fácil y eficiente es usar una tabla dinámica. Si no estás familiarizado con el tema, puedes leer las notas relevantes en el blog.

    ResponderBorrar
  73. Hola Jorge,

    Tengo un problema con la fórmula
    =MAX((A2:A10=B12)*(C2:C10))
    no sé si es mi excel 2010, pero al abrir tu archivo y sin tocar nada, se ve el valor correctamente (9,74), pero al situarme en la celda (B16) donde está esta fórmula y pulso Intro, vamos como si obligamos a excel a que ejecute de nuevo la fórmula, me aparece #¡VALOR!, ¿sabes a que se puede dar este error?

    Un saludo.

    ResponderBorrar
  74. Estimado,
    se debe a que la fórmula es matricial. Es decir, se introduce pulsando simultáneamente Ctrl-Mayúsc.-Enter.

    ResponderBorrar
  75. Muy ilustrativo tu blog!
    Aunque lo que propones aquí no se acomoda para mis necesidades particulares, espero que me puedas ayudar!

    Yo uso BUSCARV para sacar un valor de una matriz en otra hoja de cálculo, es decir, yo ingreso un código "XXXX" y las fórmulas me devuelven los valores que en la otra hoja de cálculo corresponden a "XXXX" pero la cosa es que cuando los valores se repiten necesito los datos que están en esa instancia, no en la primera entonces me consulta sería:

    ¿No existe una forma de usar alguna fórmula que me permita arrastrar datos de la misma forma que BUSCARV lo hace, pero que vaya contando de tal forma que ignore el 1, luego el 2 y así sucesivamente?

    ResponderBorrar
  76. Kamui,
    si es que entiendo tu consulta, podrías adaptar la fórmula que expongo en la nota. En lugar de usar una constante en "orden de aparación" tendrías que usar una variable. Por ejemplo, si el rango empieza en A2, FILA()-1 da el resultado 1; al arrastrar la fórmula a la celda A3, recibirías 2 y así sucesivamente.

    ResponderBorrar
  77. Hola Jorge

    Excelente pagina, tengo un problema con la siguiente lista
    Nombre calificación
    Ana 9
    Alberto 7
    Dominick 9
    Frida 8
    Cuando consulte en otra hoja de Excel me regrese una lista con el siguiente orden alfabético
    Nombre calificación
    Ana 9
    Dominick 9
    Frida 8
    Alberto 7

    Me puedes ayudar como hacer el arreglo de las formulas, te lo agradecería bastante, que tengas un buen día.
    Saludos

    Alberto B.

    ResponderBorrar
  78. En la segunda lista, ¿Alberto 7 no tendría que aparecer inmediatamente después de Ana 9?
    De todas maneras, podrías usar las fórmulas que muestro en esta nota y usar BUSCARV para extraer la calificación correspondiente al nombre.

    ResponderBorrar
  79. Hola!

    no termina de encajarme la fórmula max que planteas, algo estoy haciendo mal
    Tengo un listado de artículos que se repiten año tras año y por tanto su precio es mayor. Necesito que el resultado de buscarv sea el correspondiente al año presente (más alto).
    Mi duda es exactamente donde encajamos la funcion max dentro de buscarv?? he intentado usar la misma pauta que en otras formulas ligadas unas dentro de otras y no hay forma.

    =buscarv(valor;martriz;resultado;ordenado)
    =max(matriz,1(más alto)

    cómo las anexo??
    =buscarv(max(matriz,1)(valor....))?¿?¿
    Agradezco muchísimo tu ayuda
    Genial el blog
    Saludos

    ResponderBorrar
  80. ... de nuevo,

    creo que me he contestado a mí misma!
    no se trata de cruzar ambas fórmulas cierto?
    he conseguido lo que quería ordenando la lista de datos primero por el código cliente (esto es obligado por la formula buscarv) y luego por orden desdendiente de precio, de forma que al darme siempre el primer valor que haye, será el que quiero, el más actual.
    Te lo comento por si es una solución factible, o poco correcta para lo que en realidad nos da Excel
    Gracias de todos modos
    Saludos

    ResponderBorrar
  81. Hola Noelia,

    gracias por los conceptos, me alegro que te guste el blog.
    En cuanto a las fórmulas, las ingresas en forma matricial?
    En lo que hace a BUSCARV la lista debe estar ordenado sólo si se usa búsqueda aproximada (el cuarto parámetro es 1 o ausente). Si se usa búsqueda exacta no hace falta ordenar la lista.

    ResponderBorrar
  82. ¿Como puedo encontrar datos inexistentes en una hoja de calculo?

    Ejemplo:

    Tengo una cédulas en mi base de datos en la hoja1
    111111111
    222222222
    333333333

    Y en la hoja2
    Escribo la cedulas
    222222222
    444444444
    (hay una que existe y otra no)

    Quiero tener un celda que diga si hay numeros de cédula inexistenetes o todos los numeros de cédula coinciden

    Con que formula lo hago ?

    ResponderBorrar
  83. Estimado:

    Tengo una Consulta con respecto a este Post.

    ¿Cómo podría buscar por dos parametros? Por ejemplo, si los tornillos tuvieran el mismo precio en varias ordenes de compra y quisiese saber en que ordenes tiene dicho precio.

    Espero se entienda y de antemano muy agradecido por tu post

    ResponderBorrar
  84. HOLA , NO SE SI ESTE USANDO LA FORMULA QUE DEBE DE SER =BUSCAR , TENGO 2 ARCHIVOS CON NOMBRES DE CLIENTES , PERO QUISIERA IDENTIFICAR SI EN LOS DOS ARCHIVOS TENGO AL MISMO CLIENTE,

    SALUDOS

    ResponderBorrar
  85. En el blog hay varias notas sobre el tema mostrando distintas técnica. Puedes hacer una búsqueda en el blog con la palabra "comparar" para ver las notas.
    Y sin relación al tema, por favor, no hace falta ni hay motivo para escribir todo en mayúsculas (es como si estuvieras gritando).

    ResponderBorrar
  86. tengo los siguientes resultados: xxxy, xxxxx y, xxxyxyx y una tabla que me dice si hay tres x seguidas ponme 1 si hay 5 seguidas ponme 2, como puedo buscar los datos de la tabla en los resultados ?

    Gracias

    ResponderBorrar
  87. Publicaré en breve una nota sobre el tema.

    ResponderBorrar
  88. nose si vendra al caso pero la formula no puedo replicarla en otra hoja o en otro libro me parece que hay un error con el corchete inicial

    {=indice( etc)

    no se que significara {= tiene alguna implicancia ya que anoto la misma formula en otra celda y no resulta

    ResponderBorrar
  89. Estimado, las fórmulas son matriciales y se introducen en la celda apretando simultáneamente Ctrl-Mayúsculas-Enter. Los corchetes no hay que escribirlos, Excel los agrega al introducir la fórmula en la forma indicada. Fijate en esta nota.

    ResponderBorrar
  90. Hola Jorge buscando usted es lo mas parecido a lo que he querido.
    Como modificaria la formula para que mis criterios de busqueda en (Celda B13) en vez de "Orden de aparicion" pueda yo meter el criterio "Orden de Compra".
    Osea q mis filtros sean en primer lugar 1·Producto
    2·Orden de Compra
    = Precio

    ResponderBorrar
  91. Hola Carlos,

    en tu caso sería más conveniente usar SUMAPRODUCTO. Siguiendo con el ejemplo de la nota. para encontrar el precio del tornillo en la orden de compra 30040, usamos esta fórmula:

    =SUMAPRODUCTO((A2:A10="Tornillos")*(B2:B10=30040)*C2:C10)

    Para hacer una fórmula más dinámica podrías poner el articulo a buscar en la celda E1, y el número de orden de compra en E2 y poner esta fórmula en E3

    =SUMAPRODUCTO((A2:A10=E1)*(B2:B10=E2)*C2:C10)

    ResponderBorrar
  92. Hola,

    Quiero sumar en una base de datos de factuas valores por rango de fechas, ya le metí la fórmula de sumar.si condicionando la suma a los meses según corresponda la factura, además quiero condicionar la celda de que me sume las facturas que ya fueron pagadas; es decir, me sume las facturas pagadas de acuerdo al mes que corresponda.
    Qué hago?
    Gracias

    ResponderBorrar
  93. En Excel 2007/2013 SUMAR.SI.CONJUNTO, en las versiones anteriores SUMAPRODUCTO. En el blog hay varias notas sobre operaciones con varios criterios.

    ResponderBorrar
  94. Hola

    excelente la explicación, es justo lo que necesito, pero como puedo hacer que en la formula ={MAX((A2:A10=B12)*(C2:C10))} la celda B12 sea variable; es decir jalar la formula hacia abajo ya que tengo una lista de 500 materiales y quisiera saber el valor máximo de cada uno

    ResponderBorrar
  95. Para obtener los máximos de cada material te resutará más eficiente usar una tabla dinámica resumiendo los datos con la función MAX.

    ResponderBorrar
  96. Lo que yo quiero es encontrar un dato de una matriz que se repite varias veces y jalar el dato como único, osea una sola vez, por favor alguien que me ayude (Ejemplo, supongamos que tengo una lista de artículos en la columna B y algunos de esos artículos se repiten varias veces yo solo quiero jalar una sola vez cada uno de esos artículos), me pueden escribir a landerscz@hotmail.com

    ResponderBorrar
  97. Leo, la form más sencilla es usar Filtro Avanzado, como muestro en esta nota.
    Hay otras técnicas quepuedes ver haciendo una búsqueda en mi blog con el valor "únicos".

    ResponderBorrar
  98. hola Jorge muchas gracias por todo!!

    yo tengo una duda y ojala me puedas ayudar, fijate que tengo los siguientes datos,

    UNA BASE DE DATOS QUE SE ME VA ACTUALIZANDO POR SEMANAS (1-52) EN ELLA HAY PEDIDOS CON LOS DETALLES DE LOS MISMOS (CLIENTE, NO DE PEDIDO, FECHA ETC).
    LO QUE QUIERO BUSCAR ES QUE PARA DETERMINADA SEMANA POR EJEMPLO SEMANA 44, AL COLOCAR LA CLAVE DEL CLIENTE ME BUSQUE EL NUMERO DE PEDIDO, PERO QUE CORRESPONDA A DICHA SEMANA YA QUE CON BUSCARV ME APARECE EL PRIMER DATO QUE PUEDE SER DE LA PRIMER SEMANA.

    COMO PODRIA HACERLE PARA OBETENER ESTE DATO?

    ResponderBorrar
  99. La forma más fácil es con tablas dinámicas.

    ResponderBorrar
  100. Hola Jorge! Te envié un correo a tu cuenta con una consulta... Si tengo un puesto organizacional en específico, y hay 5 personas asignadas a ese puesto... ¿Cómo hacer que me salgan todos los nombres de las personas asignadas al puesto responsable en una sola celda? Me sale sólamente el primer resultado y requiero que me salgan los 5 nombres.

    ResponderBorrar
  101. Hola Fernanda, en los p´roximos días veré tu consulta y te responderé por correo electrónico. Mientras tanto: una celda puede contener solamente un resultado, no cinco. Existe la posibilidad de crear fórmula multi-celdas (fórmulas matriciales), pero seguramente hay una solución más eficiente para tu consulta.

    ResponderBorrar
  102. la formula {=INDICE(compras;K.ESIMO.MENOR(SI(DESREF(compras;0;0;FILAS(compras);1)=B12;FILA(DESREF(compras;0;0;FILAS(compras);1))-FILA( DESREF(compras;0;0;1;1) )+1;FILA( DESREF(compras;FILAS(compras)-1;0;1;1))+1);CONTAR.SI(DESREF(compras;0;0;FILAS(compras);1);B12));3)}.... vaya es muy buena pero al momento de copiarla en los dos mil registros de la hoja, pone lenta la base de datos y cada vez que le doy grabar a un nuevo registro se demora hasta media hora en cargar y cada vez es igual como hacer que esta formula no me genere tal cosa o como obtener otra formula que me arroje este mismo resultado

    ResponderBorrar
  103. Dos posibilidades:
    1 - poner el Cálculo en "manual" de manera que no efectúe el recálculo en cada nueva entrada; al finalizar la inclusión de nuevos datos hay que forzar el cálculo con F9;
    2 - usar una macro

    Además hay que preguntarse si Excel es la herramienta apropiada para manejar tu base de datos. Tendrías que considerar usar Access, por ejemplo.

    ResponderBorrar
  104. Hola, tengo un caso del cual les planteo mi requerimiento:

    Cliente Nombre cliente Folio Factura Monto Factura Serie
    10504 AGRO INSU 1603 $113.00 APS
    10504 AGRO INSU 157 $182.00 CDE
    12199 SEMILLAS 182 $106.00 NIT
    12306 MAPF 45 $16.00 NIT
    12306 MAPF 82 $284.00 PAT
    125 AGRO GON 158 $120.00 CDE
    125 AGRO GON 153 $181.00 CDE
    125 AGRO GON 1609 $60.00 CDG
    1331 PULIDO CONT 16121 $234.00 CDG

    En una tabla de muchos datos pero tomando como ejemplo lo anterior, necesito poner algún valor que me sirva de distintivo cuando un número de cliente exista en dos o más series distintas y si sólo pertenece a una serie, ponga otro valor. por ejemplo, que al cliente 10504 me ponga un 1 al pertenecer a más de 1 serie pero al cliente 12199 me ponga 0 al pertenecer solo a una serie.

    ResponderBorrar
  105. Supongamos que tu tabla tiene sólo dos columnas: Cliente (A) y Serie (B). Una solución posible consiste en crear una columna auxiliar C concatenando el número de cliente con la serie con la fórmula A2&B2. Luego en la columna D puedes usar está fórmula:

    =SI((CONTAR.SI($A$2:$A$10,A2)-CONTAR.SI($C$2:$C$10,C2))>0,1,0)

    Si no queremos usar la columna auxiliar podemos hacer el mismo cálculo con esta fórmula:

    =SI(SUMAPRODUCTO(($A$2:$A$10=A2)-($A$2:$A$10&$B$2:$B$10=A2&B2))>0,1,0)

    ResponderBorrar
  106. Hola amigo, buenas tardes.

    Una pregunta, y si lo que quiero hacer con respecto a tu explicación es realizar la busqueda teniendo en cuenta el valor de la columna Orden de Compra. Mira mi caso es el siguiente.

    De un archivo .CSV me llegan unos datos (Es el espacio libre de los discos duros en varios PC, el archivo me trae el nombre del equipo, la unidad y el tamaño del espacio libre).

    nombrePC1,C,30
    nombrePC1,D,20
    nombrePC2,C,10
    nombrePC2.......
    De aca hacia abajo continua con los datos de otros equipos.

    Quiero pasar esto a una tabla que tengo organizada de la siguiente forma.
    ____________C__|_D__|_E__|__...
    nombrePC1 |____|____|____|
    nombrePC2 |____|____|____|
    nombrePC3 |____|____|____|

    He intentado con formulas pero no encuentro la forma de decirle que me busque solo en las columnas donde la primer celda de la fila se repita, me explico como el nombre de los equipos se repite diferente cantidad de veces entonces no se como decirle busqueme el espacio libre del disco C en los espacios donde dice PC1 en la primera celda, tambien se debe tener encuenta que en la segunda columna donde estan las letras estas tambien se repiten.

    No se si me hallas entendido, de antemano muchas gracias.

    ResponderBorrar
  107. Hola, muy bueno tu aporte, pero tengo una pregunta, tengo una BD en la cual quiero hacer un cruce (un listado de pacientes atentidos en la 1era fase de cierta consulta) con una bd de los pacientes atendidos en 2da fase de cierta consulta, en teoria los pacientes atendidos en 1ra consulta deben ser los mismos de la 2da, pero en la realidad, muchos de los pacientes no fueron atendidos e incluso fueron vistos por mas de un especialista de la medicina (trabajo en una IPS). Intento hacer el cruce y el buscarv me arroja siempre el primer resultado que encuentra, el problema es que en esa misma bd esta el mismo paciente que fue atendido por un internista, es decir, al hacer la búsqueda inicial me arroja un código de diagnóstico x, pero ese mismo paciente fue visto por otro médico que le asigno un diagnóstico y y que necesito estén en la misma bd, que puedo hacer en ese caso.
    Agradeciendo de antemano su colaboración.

    ResponderBorrar
  108. Mauricio, por favor fijate lo que pongo en el enlace Ayuda (en la parte superior del blog) y ponete en contacto conmigo por mail privado.

    ResponderBorrar
  109. José Lemus, por favor, fijate en mi respuesta a Mauricio el 27/11

    ResponderBorrar
  110. Luis Adrian, no queda clara tu consulta.

    ResponderBorrar
  111. Hola buenas tardes me gustaría recibir su ayuda, primero debo confirmar la igualdad de códigos una vez encontrado ver las coincidencias en relación a 7 palabras pero que cuente la cantidad de veces que se repite la coincidencia con cada palabra
    Me puede ayudar

    ResponderBorrar
  112. Por favor, fijate en el enlace Ayuda (en la parte superior del blog).

    ResponderBorrar
  113. BUENO Y COMO HACER PARA QUE ME ARROJE EL RESULTADO PONIENDO PRODUCTO Y LUEGO ESCOGIENDO UN NUMERO ORDEN DE COMPRA , PORQUE VEO QUE ESTA EL MISMO PRODUCTO CON VARIOS NUMEROS DE ORDEN DE COMPRA, QUE EN UNA CELDA ME DE EL RESULTADO DE PRODUCTO MAS NUMERO DE ORDEN DE COMPRA

    ResponderBorrar
  114. Te sugiero que uses tablas dinámicas. Para tu caso son muchas más flexibles y eficientes.

    ResponderBorrar
  115. Hola, he visto la formula en diferentes partes y no me funciona, ¿te puedo enviar el documento para que lo veas?

    ResponderBorrar
  116. Hola Alvaro, si solo te pido que te fijes en lo que pongo en el enlace Ayuda (en la parte superior del blog).

    ResponderBorrar
  117. Este comentario ha sido eliminado por el autor.

    ResponderBorrar
  118. ¿Sos el mismo que me consultó por mail privado (y que encontró la solución)?

    ResponderBorrar
  119. Buen dia, Si lo que quiero traer depende de un resultado en Letras y no en numeros.

    Ejemplo: Tengo en la celda A1 una lista Consultas Con un codigo unico. y en otra tabla, varias respuestas que pueden apuntar a la misma consulta. Intento usar con BuscarV traerme la respuesta de la consulta que de como resultado la Palabra "Respondido"

    Agradeceria la ayuda

    ResponderBorrar
  120. Los resultados con BUSCARV no dependen del valor de búsqueda que puede ser númerico o textual. Para que pueda entender la consulta tendrías que mandarme un ejemplo con lo que estás intentando hacer.

    ResponderBorrar
  121. Buenas tardes, excelente el tutorial. Una consulta que formula puedo usar para traer solo los primeros valores en una columna de datos repetidos. Por ejemplo:

    Si tengo una columna con los siguientes datos:

    100
    100
    200
    200
    200
    300
    300

    Quiero que me arroje:

    100
    200
    300

    Se entiende? Si me pueden ayudar se los agradezco!

    Saludos!

    ResponderBorrar
  122. Hay varias formas. La más práctica: Datos--Ordenar y Filtrar--Avanzadas y en el formulario que se abrea elegir la opción "Sólo registros únicos".

    ResponderBorrar
  123. Hola, necesito ayudaaaa! Tengo una base con las siguientes columnas: A: fecha B: paciente C: medicamento D: cantidad de medicamento entregada; cada paciente puede tener dos o mas filas dependiendo de los medicamentos, hay cerca de 1200 pacientes que debo eliminar de la base, que es gigante, porque recibieron X medicamento en X mes... le he intentado con Buscarv y Si., pero no me funciona :(... Me ayudas por favor :) Gracias!

    ResponderBorrar
  124. Hola Alejandra, por favor fijate en los lineamientos que pongo en el enlace "Ayuda" (en la parte superior del blog) y ponte en contacto conmigo por mail privado.

    ResponderBorrar
  125. Hola! Tengo una base de datos que incluye el nombre de mi cliente y en otra columna el articulo que vende, hay clientes que venden el mismo articulo. Si uso la función =CONTAR.SI me doy cuenta a cuantos clientes le vendo cada articulo, pero quisiera que en una misma celda me nombrara cada uno de esos clientes, hay opción de hacer esta formula?
    Saludos!

    ResponderBorrar
  126. La única opción práctica que se me ocurre es que uses un tabla dinámica. En el área de las filas ponés primero la columna de los productos, luego la columna de los nombres de los clientes y finalmente en el área de los valores nuevamente la columna de los nombres.

    ResponderBorrar
  127. Hola

    Tengo una base de datos con dos columnas en la primera tengo facturas de las cuales hay varias repetidas y en otra columna tengo observaciones, necesito cruzar la informacion con otra base de datos y que cada que haya una coincidencia me muestre todas las observaciones, es decir si al cruzar hay 5 facturas No.100, me muestre las 5 observaciones, pero sin tener que hacerlo una por una ya que es una base extensa.

    Agradezco la colaboracion.

    ResponderBorrar
  128. Hola, si lo que estas buscando es crear una tabla con una fila para cada factura, donde en la primer columna aparece el numero de la factura y en la segunda columna todas las observaciones, separadas por comas, solo podras hacerlo con Vba (macros) o, mejor aun, con Power Query.
    Tal vez publique una nota sobre como hacerlo con Power Query.

    ResponderBorrar
  129. Jorge muchas gracias, lo intentare con macros

    ResponderBorrar
  130. Hola, explico lo que requiero hacer, ocurre que estoy haciendo inventarios ciclicos en una bodega, mediante el pistoleo de informacion ocurre que lo que se registra en el excel es el codigo de barra del codigo y la ubicacion, con esta informacion se sube al sistema y finalmente aparece en los documentos de picking, mi problema es que cuando un producto tenga mas de una ubicacion debo consolidarla en una sola celda para subirla de una vez al sistema...en resumen quiero hacer una busqueda en una base de datos y que me devuelva en una celda las ubicaciones asociadas al codigo

    ResponderBorrar
  131. Como se trata de consolidar varias lineas en una sola las mejores opciones son:

    1 - mediante una tabla dinámica donde en el área de las filas va la barra de código;

    2 - usando la "Group by" (agrupar por) del Power Query.

    La segunda opción es la mejor. Si no estás familiarizado con el Power Query te recomiendo apenderla ya que te dará mucgas ventajas en tu trabajo.

    ResponderBorrar
  132. PARA BUSCAR EN UNA LISTA DE ALUMNOS DONDE SE REPITE EL NOMBRE DE ALGUNO DE ELLOS (O VARIOS), CÓMO APLICAR LA FÓRMULA?

    ResponderBorrar

Nota: sólo los miembros de este blog pueden publicar comentarios.