jueves, 6 de octubre de 2011

BUSCARV y COINCIDIR: una búsqueda cruzada.

Estamos acostumbrados a trabajar con la función BUSCARV pensando sólo en búsquedas verticales, digamos en una sóla dimensión, debiendo hacer uso de otras funciones, como DESREF para otros tipos de búsquedas; sin embargo, veremos hoy como combinándola con la función COINCIDIR podremos encontrar nuestro valor buscado sobre las dos dimensiones de nuestras tablas.
Nuestro ejemplo será muy sencillo, pero representativo. Necesitamos obtener un valor en función de dos variables ('Categoría hotel' y 'Tipo habitación'); ambos parámetros cruzan en una tabla, de la que obtendremos el precio para cada combinación posible.
Veámoslo:

BUSCARV y COINCIDIR: una búsqueda cruzada.
haz click en la imagen


Se trata por tanto, en base a los valores de las columnas A (Categoría) y B (Tipo habitación), determinar cuál es el precio de la habitación.
Nos aprovecharemos de la disposición de valores en la tabla de precios (E1:I8), donde por filas podemos reconocer la 'Categoría' del hotel y por columnas el 'Tipo de habitación'; con la función
COINCIDIR(B2;$F$2:$I$2;0)+1
obtendremos el número de columna coincidente con el Tipo de habitación, que emplearemos con argumento Indicador de columna de la función BUSCARV.
Si la anidamos, tenemos
=BUSCARV(A2;$E$3:$I$8;COINCIDIR(B2;$F$2:$I$2;0)+1;0)
es decir, buscamos en la matriz o tabla E3:I8, el valor de la celda A2 (esto es, la Categoría del hotel), y buscamos su precio en el número de columna obtenido con la función COINCIDIR.

BUSCARV y COINCIDIR: una búsqueda cruzada.
haz click en la imagen

74 comentarios:

  1. Thank you for this, Can you tell How to bring the symbol of Indian currency

    ResponderEliminar
  2. Hola,
    para añadir el símbolo de la rupia India, simplemente introduce el valor en una celda y desde Formato de celda > Numero > Moneda buscas Hindi; se agregará a la celda.
    En la versión en castellano, que yo sepa, no existe la posibilidad de insertarlo directamente...
    te remito a
    microsoft.
    Slds

    ResponderEliminar
  3. Muchas gracias, me ha servido de mucha ayuda. Con la función Indice también se puede hacer? En el caso que se pudiera hacer, cómo seria la fórmula?

    ResponderEliminar
    Respuestas
    1. Hola,
      con la función INDICE sobre el mismo ejemplo sería:
      =INDICE($E$2:$I$8;COINCIDIR(A2;$E$2:$E$8;0);COINCIDIR(B2;$E$2:$I$2;0))
      Espero te sirva,
      Slds

      Eliminar
  4. Muchas gracias, hay una cosa que no me queda claro, y es el "+1" que hay detrás de la función coincidir.

    ResponderEliminar
    Respuestas
    1. Hola,
      bien, partimos de nuestra fórmula final:
      =BUSCARV(A2;$E$3:$I$8;COINCIDIR(B2;$F$2:$I$2;0)+1;0)
      debes fijarte en que la matriz de búsqueda de la función BUSCARV es E3:I8. Para ontener el indicador de columna a devolver empleamos la función
      COINCIDIR(B2;$F$2:$I$2;0)+1
      es decir busca B2 en F2:I2 para obtener una posición, a la que luego sumamos +1; por ejemplo, si buscamos un tipo de habitación Doble COINCIDIR devolvería 2, pero para conseguir encontrar con la función BUSCARV una Categoría, debemos sumarle 1 a la posición, ya que la matriz de búsqueda tiene una columna más, la primera, la columna E...

      Espero haberme explicado.
      Slds

      Eliminar
    2. Muchas gracias por aclarar mi duda, muy buena explicación.

      Eliminar
    3. Como puedo eliminar columnas de una hoja, sin que modifique las formulas de otra hoja.

      Eliminar
    4. Hola que tal?
      Espero estés bien.
      Precisamente una de las grandes ventajas de Excel es que al eliminar celdas, filas o columnas, las fórmulas se readaptan a la nueva situación.
      Si quieres no tener en cuenta esta posibilidad, podrías aplicar en tus fórmulas las referencias en estilo L1C1; así tus fórmula apuntarán siempre a una situación relativa...
      Espero te sirva
      Slds

      Eliminar
  5. Hola,

    MUy interesante tu artículo. Tengo una duda existencial: resulta que tengo unsa serie de datos recogidos en tres columnas, A: Día de la semana (LUNES, MARTES, MIÉRCOLES, etc), B: Hora (8:00, 9:00, 10:00, etc), C: Valor (30, 21, 34, etc). El caso es que en otra hoja tengo una plantilla con una tabla hecha, con los días en las filas y las horas en las columnas. Me gustaría que en el cruce LUNES a las 08:00 apareciese el valor que está metido en la tabla anterior. Lo he intentado con INDICE y COINCIDIR, pero no me sale, no sé si es porque me lío al meter los datos de la fórmula, pero es desesperante.

    Gracias!

    ResponderEliminar
    Respuestas
    1. Hola!!
      me da la sensaciónque estás empleando en sentido inverso las funciones INDICE y COINCIDIR; ya que normalmente se parte de la tabla de referencia cruzada para llegar al tipo lista.
      Si he entendido bien tu planteamiento, suponiendo en A1:A7 los días de la semana, en B1:B7 las horas y en C1:C7 los valores, prueba con la siguiente fórmula, en tu tabla a completar, por ejemplo en B10:H10 ponemos las horas y en A11:A17 los días de la semana, y a completar el rango B11:H17, entonces en B11 añades:
      =SUMAPRODUCTO($C$1:$C$7*($A$1:$A$7=$A11)*($B$1:$B$7=B$10))
      y arrastras al resto.

      Espero te sirva
      Slds

      Eliminar
  6. Hola,

    Gracias por tu respuesta. Efectivamente, es el mismo planteamiento, pero al revés. El problema es que la tabla se rellena mediante un formulario de google docs, y sale por defecto así. Como la posibilidad de meter datos es infinita, no sé si sería demiado largo hacerlo en horizontal. ¿No existe la posibilidad de hacerlo según está?

    GRacias de nuevo

    Salu2

    ResponderEliminar
    Respuestas
    1. Hola,
      según planteabas, me parece que la solución es la que te dí, con la fórmula
      =SUMAPRODUCTO($C$1:$C$7*($A$1:$A$7=$A11)*($B$1:$B$7=B$10))
      puedes completarlo...
      Slds

      Eliminar
  7. Hola que tal!, por favor necesito que me ayudes.
    tengo dos hojas

    A|B..........A|B
    1|5...........1|4
    2|6...........2|6
    3|8...........3|8
    4|6...........4|6
    HOJA1....HOJA2

    Necesito buscar el dato 1 de la HOJA2 en la HOJA1 y luego coincidir los datos de las columnas B.

    Saludos!

    ResponderEliminar
    Respuestas
    1. Hola!
      bien, la primera parte es sencilla, en la HOJA1 (supongo lo quieres en la columna C) escribirías un BUSCARV para traer el dato correspondiente a la columna A de la B de la HOJA2:
      =BUSCARV(A1;Hoja2!A:B;2;0)

      Lo que no veo claro es que quieres decir con 'coincidir los datos de las columnas B'.... ??
      Si pudieras aclararmelo.
      Slds

      Eliminar
  8. Excelente foro Ismael! Gracias a ti he aprendido muchísimo.

    En este momento tengo un problema, ¿podrías ayudarme?

    Tengo 2 columnas con números y necesito colocar en una 3er columna los números en serie ascendente sin repetirlos.

    Ejemplo:
    A................B
    10...............14
    12...............16
    14...............18
    16...............20
    18...............22

    Debería quedar en la columna C
    C
    10
    12
    14
    16
    18
    20
    22

    ¿Existe alguna forma?

    Espero haberme explicado bien. Saludos!

    ResponderEliminar
    Respuestas
    1. Hola Patricio,
      el asunto es bastante complejo, pero con algunas columnas auxiliares se podría conseguir.
      En las columnas C:D añadimos la función JERARQUIA (o JERARQUIA.EQV), por ejemplo en C1:
      =JERARQUIA.EQV(A1;$A$1:$B$5;1)
      y arrastramos en C1:D5.
      En otra auxiliar, en F1:
      =SI.ERROR(COINCIDIR(FILA();$C$1:$C$5;0);COINCIDIR(FILA();$D$1:$D$5;0))
      arrastramos hasta F10
      Otra auxiliar G1:
      =SI(ESERROR(COINCIDIR(FILA();$C$1:$C$5;0));2;1)
      hasta G10.

      finalmente, para obtener los valores 'ordenados únicos' (ojo por que quedarían huecos... que habría que eliminar con nuevas fórmulas!!), en H1:
      =SI.ERROR(INDICE($A$1:$B$5;F1;G1);"")


      Lógicamente en A1:B5 estarían los datos iniciales.

      Espero te sirva o al menos te oriente en la dirección que buscas.
      Slds cordiales

      Eliminar
  9. Hola!
    Tengo una duda que no he podido resolver buscando en google..
    Lo que estoy tratando de hacer es coincidir dos parámetros. En este caso están los dós en columnas. Por ejemplo:
    Cliente Código Precio
    Pepe A 1
    Jose A 1.3
    Juan A 1.2
    Jose B 1
    Juan B 1.5

    Y quiero en una lista aparte, ordenada por cliente, que me aparezca el precio de cada código. Pero es una lista aparte, que tiene otras columnas.. no es que quiero simplemente ordenar la lista de precios por cliente..

    ResponderEliminar
    Respuestas
    1. Hola,
      para tal caso, entendiendo que en la tabla de precios por cliente(en otra hoja o lugar), tendrías que aplicar la función BUSCARV del código de cliente de una tabla sobre la otra.
      Por ejemplo, si los datos de la tabla están en la columna A:B (en A el cód cliente y en B el precio); y en la que planteas de la hoja de trabajo, En A el código,
      entonces insertas donde quieras el precio:
      =BUSCARV(A2;Hoja2!A:B;2;0)

      Espero sea esto lo que buscas... no te entendí muy bien.
      Saludos

      Eliminar
  10. No es eso lo que preguntaba en realidad. Perdona si no me expresé bien.
    La idea sería coincidir dos parámetros para luego que agarre un tercero. En este caso, necesitaría que me coincida el Cliente y el Código del Producto (un mismo código de Producto lo vende mas de un cliente) y de esta forma que agarre el precio. Osea necesitaría un BUSCARV pero que haga coincidir dos parámetros.

    ResponderEliminar
    Respuestas
    1. Ok, si hablamos de combinaciones de Cliente y Códigos únicos, como muestras en el ejemplo, es decir, sólo hay un Pepe con cód A, y un solo Juan con cod A, etc...

      en lugar de un BUSCARV se puede utilizar el SUMAR.SI.CONJUNTO

      En la segunda hoja sobre la celda de cliente y código, (A1 y B1 respectivamente) entonces en C1 insertaremos:
      =SUMAR.SI.CONJUNTO(Hoja1!Precios;Hoja1!Clientes;A1;Hoja1!Código;B1)

      siendo Precios, Clientes y Código los rangos donde están los valores...

      Espero lo veas claro.
      Un saludo

      Eliminar
  11. Hola
    alquien que me pueda ayudar a encontrar valores cruzados de una tabla, con base a dos datos ya obtenidos.

    Saludos

    ResponderEliminar
    Respuestas
    1. Hola Luna,
      ¿podrías ser algo más concisa???

      Un cordial saludo

      Eliminar
  12. Hola Ismael,

    Tengo un problema que creo está relacionado con éste ejercicio pero no acabo de solucionarlo. A ver si me puedes ayudar.

    En la HOJA 1 tendría lo siguiente:
    1 2 3 4
    A1 A2

    Y en la HOJA 2
    1 2 3 4
    A1 3000 455 100
    A2 300 40 75
    A4 500 60 780


    Lo que quisiera es tener una formula en las celdas de la hoja 1 que me buscasen en la HOJA 2 y sumasen los valores de A1 y A2 para cada uno de los meses (1,2,3,4...etc)

    El resultado en la HOJA 1 debería de ser el siguiente:
    1 2 3 4
    A1 A2 3000 755 140 75


    MUCHÍSIMAS gracias por tu ayuda

    Un saludo

    ResponderEliminar
  13. Vuelvo a subir las matrices, en el comentario anterior no se ven bien:

    HOJA 1
    ...........................1............2..........3..........4
    A1.......A2........

    HOJA 2
    _______1______2______3______4
    A1____3000___455____100_____0
    A2_____0_____300____40______75
    A4____500____60_____780_____0


    RESULTADO HOJA 1
    ____________1______2______3______4
    A1___A2____3000___755____140_____75


    GRACIAS

    ResponderEliminar
  14. He encontrado la solución, he puesto la siguiente fórmula:
    =BUSCARV($B$2;HOJA2!$A:$E;COINCIDIR(C1;HOJA2!$B$1:$E$1;0)+1;0)+BUSCARV($A$2;HOJA2!$A:$E;COINCIDIR(C1;HOJA2!$B$1:$E$1;0)+1;0)

    La pongo por si me puedes aconsejar algo menos complejo y más "fino"

    Gracias y saludos!

    por cierto, enhorabuena por el blog, lo tengo entre mis feeds preferidos.

    ResponderEliminar
    Respuestas
    1. Gracias Diego!
      bueno, creo que algo más sencillo sería, en la Hoja1 para el dato de 1:
      =SUMAR.SI(HOJA2!$A$1:$A$100;"A1";HOJA2!B$1:B$100)+SUMAR.SI(HOJA2!$A$1:$A$100;"A2";HOJA2!B$1:B$100)
      luego arrastras hacia la derecha...

      Espero te sirva
      Saludos

      Eliminar
  15. También funciona, muchísimas gracias!
    saludos

    ResponderEliminar
  16. hola, llevo años (literal) tratando de resolver este problema, pero en verdad no encuentro el error... no me da el resultado final en mi celda D4

    =SUMAPRODUCTO(('0418D'!A1+'0419D'!A1+'0423D'!A1=C4),'0418D'!L36+'0419D'!L36+'0423D'!L36=D4)

    las premisas son:
    c4=SR0930607G29

    '0418D'!A1 = SR0930607G29
    '0419D'!A1 = SR0930607G29
    '0423D'!A1 = AHA680116PQ4

    '0418D'!L36 = 43,416.36
    '0419D'!L36 = 73,924.06
    '0423D'!L36= 2,246.95

    y mi resultado en d4 deberia ser 117,341.00 ya que 0423d no cumple con la premisa de c4 que es SR0930607G29

    gracias

    ResponderEliminar
    Respuestas
    1. Hola,
      no todas las funciones sirven para operar entre diferentes hojas, prueba alguna de las ideas que te indico:
      http://excelforo.blogspot.com.es/2014/07/suma-condicional-tridimensional-3d-sin.html
      http://excelforo.blogspot.com.es/2014/01/vba-una-funcion-personalizada-de.html
      o en todo caso, ya que sólo son tres hojas, incluye un condicional por hoja:
      =SI(0418D!A1=c4;0418D!L36;0)+SI(0419D!A1=c4;0419D!L36;0)+SI(0423D!A1=c4;0423D!L36;0)

      Saludos

      Eliminar
  17. Estimado Ismael de ExcelForo. Uso Excel 2013, necesito encontrar el Detalle y el Precio Unitario correspondiente a un código. La Tabla es así:
    ---A---B---C
    1-Código-Detalle-Precio
    2-1342b-?-?
    3-1234a-?-?
    4-1455c-?-?

    Por otro lado la tabla origen (en este caso más abajo), se compone de lo siguiente:
    ---A---B---C
    9-Código-Detalle-PrecioU
    10-1234a-Resma A4-118
    11-1342b-Cartulina-5
    12-1455c-CD-8
    y sigue

    Yo ubicado en B2 (en A1-C1 están los encabezados), necesito saber el detalle correspondiente al código 1342b. En C2 necesito saber el Precio Unitario (PrecioU). El código está ubicado en A2

    Hasta Excel 2007 usaba el asistente para búsquedas... pero lo quitaron en 2010...
    Conozco la función INDICE y COINCIDIR, pero en Excel 2013 no me funcionan.
    En B2 yo tengo esta fórmula y Excel me indica #N/A.
    =INDICE(A9:C13;COINCIDIR(A2;A9:C13;0);2)

    No me sirve ni BuscarV ni BuscarH, ya que mis datos no están ordenados, a veces se agregan y a veces se quitan.

    Alguna idea de como hacerlo... como extraño el Asistente para Búsquedas!. Gracias desde ya por tu paciencia y atención!

    ResponderEliminar
    Respuestas
    1. Hola Santiago,
      lo más sencillo sería usar para el Detalle la función
      =BUSCARV(A2;$A$9:$C$13;2;0)
      y para el precio
      =BUSCARV(A2;$A$9:$C$13;3;0)

      con la función INDICE+COINCIDIR para el detalle:
      =INDICE($A$9:$C$13;COINCIDIR(A2;$A$9:$A$13;0);2)
      y para el precio
      =INDICE($A$9:$C$13;COINCIDIR(A2;$A$9:$A$13;0);3)
      saludos

      Eliminar
    2. Muchas gracias Ismael, ya con tu respuesta encontré donde estaba mi error. Y sí, creo que con BuscarV me alcanza.
      Saludos, nuevamente muchas gracias, sobre todo por tu rápida respuesta.

      Eliminar
  18. Buenas!!! quizas puedas ayudarme porque ya no doy para mas, he buscado en distintos foros y nada.. quizas esta formula que aqui explicas sea la indicada pero no se como plasmarla.... Aqui la pregunta

    ¿Como traerme el valor la fila siguiente al valor buscado con una formula de BUSCARV?

    Me explico BUSCARV realiza una búsqueda de un valor en una matriz y me devuelve los valores que yo le indico según la columna pero de la misma fila. Yo quiero traerme el valor de la siguiente fila

    Tengo una tabla con varias entidades identificadas con su nombre en la primera fila, sus datos estan divididos en 3 filas y las columnas correspondiente a los meses del año

    En la formula con buscarv me busca los valores por el nombre de la entidad pero solo me trae la fila que tiene el nombre de la entidad

    Mi pregunta es, si en la formula con buscarv hay una manera que me traiga la formula la fila siguiente a la que me busca el buscarv.

    Ejemplo

    =BUSCARV(Z1; A2015 !B5:B130; A2015 !F5:Q130;FALSO)

    En z1 escribo el nombre de la entidad.
    A2015 es el nombre de la segunda hoja
    La columna B es donde estan los nombres de las empresas
    Las columnas F a Q tienen los valores de Enero a Diciembre

    Cada entidad se divide en 3 filas como dije anterioremente.

    En la columna B se dividen las entidades asi:
    fila1 Nombre entidad
    fila2 Vacio
    fila3 Identificador de empresa

    En las columnas F a ! se dividen las entidades asi:
    fila1 montos servicios mensuales por mes
    fila2 montos Otros servicios
    fila3 montos cobros realizados

    Como hago para traerme la fila de otros servicios a partir del nombre con el buscarv de la primera fila en la columna b

    Gracias

    ResponderEliminar
    Respuestas
    1. Hola,
      quizá no sea la función BUSCARV la adecuada...
      Yo probaría con una combinación de funciones DESREF + INDICE + COINCIDR
      puedes ver un ejemplo en
      http://excelforo.blogspot.com.es/2015/02/un-rango-variable-con-la-funcion-indice.html

      Espero te pueda orientar...
      De todas formas en cuanto pueda subiré al blog una explicación con el planteamiento.
      Saludos

      Eliminar
  19. Buenas Tardes

    Necesito Ayuda porfavor, necesito sacar datos con 2 variables

    Ejem:
    Hoja 1
    A1 B1 C1 D1
    Tienda Codigo Cajas
    1 102-bc xc-78 15
    2 87-nb dx-86 7
    3 102-bc xd-78 78
    4 102-bc yt-78 22
    5

    Hoja 2
    A1 B1 C1 D1
    Tienda Codigo Cajas Totales
    1 102-bc xc-78
    2 87-nb dx-86
    3
    4


    y Asi, necesito sabes cuantas cajas compro cada tienda de cada codigo,
    son como 700 tiendas y mas de 300 codigos x tienda
    el reporte q tengo me da 18750 filas y eso q falto q compraran productos, los reportes son cada 3 dia y la vdd ya ni duermo por hacer el trabajo.... ayuda porfas...
    SALUDOS

    ResponderEliminar
    Respuestas
    1. Hola Rafael,
      podrías emplear la función SUMAR.SI en la hoja 2 (o quizá SUMAR.SI.CONJUNTO), en la columna totales...
      Si el acumulado debe tener en cuenta la tienda y el código de articulo mejor SUMAR.SI.CONJUNTO
      Podría ser algo así...
      =SUMAR.SI.CONJUNTO(Hoja1!D:D;Hoja1!A.A;Hoja2!A2;Hoja1!B:B;Hoja2!B2)

      Saludos

      Eliminar
  20. Hola, tengo un problema similar, lo he intentado de varias maneras pero no me sale. He usado en combinacion buscarv-coincidir e indice-coincidir pero nada.
    La cuestion es la siguiente:
    Tengo una tabla con 5 columnas de numeros telefonicos y una columna inicial para un id.
    Necesito ubicar los numeros telefonicos en una sola columna, esto ya lo he hecho de la forma que explican en: http://superuser.com/questions/539255/how-to-merge-two-excel-columns-into-one-the-other-way . lo que me falta es recuperar el id para cada telefono segun la fila de la que proviene.

    ej:
    id col1 col2 col3
    2 2514678 3166215487 2568978
    3 6 2514578 3165487946 3652147
    4 2514163 316547896
    5 2589674 3101234567
    6 3103364764
    7 2655368 3014094322
    8 3000364 3003501217
    9 7527821 3203537826
    10 6053735 3167343739 7021879

    resultado esperado
    id tel
    2 2514678
    2 3166215487
    2 2568978
    3 6 2514578
    3 3165487946
    3 3652147
    4 2514163
    4 316547896
    5 2589674
    5 3101234567
    6 3103364764
    7 2655368
    7 3014094322
    8 3000364
    8 3003501217
    9 7527821
    9 3203537826
    10 6053735
    10 3167343739
    10 7021879

    Espero que me pueda ayudar, muchas gracias.

    ResponderEliminar
    Respuestas
    1. Hola,
      como son pocas columnas podrías anidar con SI.ERROR, algo así:
      =SI.ERROR(INDICE(id;COINCIDIR(C10;colum1;0);1);SI.ERROR(INDICE(id;COINCIDIR(C10;colum2;0);1);SI.ERROR(INDICE(id;COINCIDIR(C10;colum3;0);1);"")))

      Saludos

      Eliminar
  21. Hola buen dia, necesito tu ayuda, tengo una tabla en la cual necesito me arroje un valor, en este caso el precio de viaje dadas dos variables: ejemplo

    Destino /Tipo / Precio/ Precio Final
    Oaxaca Niño $ 30 ???
    Adulto $ 50
    Veracruz Niño $ 20
    . Adulto $ 40
    Yucatán Niño $ 60
    . Adulto $ 80
    México Niño $ 100
    . Adulto $ 200

    Que en la última columna me arroje el precio dependiendo de las condiciones por ejemplo si fue un viaje a mexico de niño me de el valor de $100


    Ayuda por favor

    ResponderEliminar
    Respuestas
    1. Hola,
      yo usaría, ya que la combinación de precios es única, un SUMAR.SI.CONJUNTO, en tu ejemplo:
      =SUMAR.SI.CONJUNTO(precio;destino;"México";Tipo;"Niño")

      Saludos

      Eliminar
    2. bueno pero por ejemplo si despues le cambio a un viaje a oaxaca de adulto y luego requiero uno de niño a yucatan y asi aleatoriamente, me va a funcionar?

      Eliminar
    3. sí mientras las combinaciones de destino y tipo sean únicas en la tabla origen..
      ;-)
      Saludos

      Eliminar
  22. HOLAA... AYUDA TENGO UN PROBLEMA NECESITO REALIZAR UN CRUCE DE INFORNACION DE UNOS CODIGOS DE BARRA DE UNA PLANILLA SABER CUALES ESTAN EN LA OTRA... ES UN INVENTARIO TOMADO V/S EL TOMADO FISICAMENTE, NECESITO CRUZAR ESA INFORMACION PARA SABER SI LAS CANTIDADES ESTAN OK..

    ResponderEliminar
    Respuestas
    1. Hola Nadia,
      puedes optar por emplear la función BUSCARV de un elemento sobre el rango del otro, o incluso emplear SUMAR.SI (o SUMAR.SI.CONJUNTO).

      Espero haberte dado la idea.
      Saludos

      Eliminar
  23. hola buenas tardes tengo algo mas complejo no se si me puedas ayuda, es lo siguiente tengo estos datos
    FECHA VALOR FECHA VALOR
    01/03/2016 400.000 01/03/2016 27.832
    01/03/2016 29.700 01/03/2016 86.121
    02/03/2016 72.100 01/03/2016 10.000
    02/03/2016 18.100 01/03/2016 287.280
    02/03/2016 288.028 01/03/2016 187.267
    03/03/2016 72.099 01/03/2016 538.152
    03/03/2016 38.300 01/03/2016 29.700
    03/03/2016 18.100 01/03/2016 270.289
    03/03/2016 23.100 01/03/2016 61.000
    04/03/2016 1.200.000 01/03/2016 400.000
    04/03/2016 3.000.000 01/03/2016 5.568.966
    04/03/2016 147.300 01/03/2016 12.931
    04/03/2016 40.100 02/03/2016 70.172
    04/03/2016 150.299 02/03/2016 108.414
    05/03/2016 8.669.600 02/03/2016 356.167
    05/03/2016 147.300 02/03/2016 730.000
    05/03/2016 124.500 02/03/2016 18.100
    05/03/2016 54.100 02/03/2016 289.397
    07/03/2016 2.262.000 02/03/2016 288.027
    07/03/2016 3.757.000 02/03/2016 367.500
    08/03/2016 436.914 02/03/2016 363.896
    08/03/2016 995.708 02/03/2016 72.099
    08/03/2016 2.106.960 02/03/2016 25.000
    08/03/2016 6.153.160 02/03/2016 68.534
    08/03/2016 206.171 03/03/2016 16.810
    08/03/2016 1.313.737 03/03/2016 299.714
    08/03/2016 81.099 03/03/2016 53.300
    08/03/2016 351.565 03/03/2016 72.099
    08/03/2016 30.000 03/03/2016 259.030
    08/03/2016 249.145 03/03/2016 18.100
    09/03/2016 1.006.000 03/03/2016 23.100
    09/03/2016 5.000.000 03/03/2016 38.300
    09/03/2016 21.700 03/03/2016 62.249
    09/03/2016 87.099 03/03/2016 304.542
    10/03/2016 1.177.962 03/03/2016 11.207
    10/03/2016 88.499 04/03/2016 304.759
    10/03/2016 26.100 04/03/2016 60.779
    10/03/2016 402.853 04/03/2016 3.000.000
    11/03/2016 8.659.600 04/03/2016 229.183
    11/03/2016 200.000 04/03/2016 40.100
    11/03/2016 57.999 04/03/2016 1.200.000
    14/03/2016 4.000.000 04/03/2016 150.298
    14/03/2016 4.342.000 04/03/2016 206.171
    14/03/2016 1.113.264 04/03/2016 5.329.100
    14/03/2016 394.167 04/03/2016 335.847
    14/03/2016 46.400 04/03/2016 3.581.034
    14/03/2016 334.855 05/03/2016 243.107
    14/03/2016 54.100 05/03/2016 12.241
    14/03/2016 23.100 05/03/2016 537.931
    14/03/2016 34.375 05/03/2016 25.836
    15/03/2016 5.000.000 05/03/2016 51.724
    15/03/2016 23.100 05/03/2016 12.500
    16/03/2016 1.675.192 05/03/2016 4.000.000
    16/03/2016 18.100 05/03/2016 371.000
    17/03/2016 18.100 05/03/2016 4.669.600
    18/03/2016 6.000.000 05/03/2016 262.550
    18/03/2016 672.000 05/03/2016 54.100
    18/03/2016 261.000 05/03/2016 265.785
    18/03/2016 203.448 05/03/2016 619.167
    19/03/2016 2.000.000 05/03/2016 149.064
    19/03/2016 1.457.398 07/03/2016 168.345
    19/03/2016 150.000 07/03/2016 3.000.000
    19/03/2016 3.600 07/03/2016 757.000
    19/03/2016 74.599 07/03/2016 27.000
    19/03/2016 18.100 07/03/2016 80.000
    19/03/2016 30.000 07/03/2016 166.235
    22/03/2016 825.823 08/03/2016 43.500
    22/03/2016 256.470 08/03/2016 351.564


    lA IDEA ES QUE LA FORMULA DE EXCEL ME PUEDA DECIR LA FECHA Y EL VALOR QUE ESTA EN LA PRIMERA FILA FECHA-VALOR SI ESTA EN LA SEGUNDA CO LA MISMA FECHA Y VALOR DE LA SEGUNDA Y LO DIGA EN EN UNA COLUMNA AL FRENTE EJEMPLO EL PRIMER DATO ES
    FECHA VALOR
    01/03/2016 400.000
    ESTE DATO DEBE BUSCARLO IGUAL EN LA SEGUNDA Y SI ESTA COLOCARLO EN LA COLUMNA DONDE HAGO LA FORMULA PARA SABER QUE SI ESTA.

    GRACIAS

    ResponderEliminar
  24. Hola, mi caso es especial, he intentado de varias formas con todas estas formulas, pero en realidad no me ha funcionado, o no se si realmente no se pueda.
    Debo encontrar la fecha y el valor igual en las otras, si existe la fecha y el mismo valor en el otro lado.

    asi como este ejemplo

    Estos valores con fecha

    FECHA VALOR
    01/03/2016 400.000
    01/03/2016 29.700
    02/03/2016 72.100
    02/03/2016 18.100
    02/03/2016 288.028
    03/03/2016 72.099
    03/03/2016 38.300

    En esta otra con la misma fecha y el valor igual en la siguiente

    FECHA VALOR
    01/03/2016 27.832
    01/03/2016 86.121
    01/03/2016 29.700
    01/03/2016 287.280
    01/03/2016 400.000
    02/03/2016 400.000
    03/03/2016 288.028

    Lo he intentado de varias maneras pero genera error. Gracias

    ResponderEliminar
    Respuestas
    1. Hola Pablo,
      lo siento pero no comprendo el objetivo..
      puedes exponerlo de manera más clara?

      Gracias!

      Eliminar
  25. Si qu pena, mira tengo cuatro columnas en las primeras dos como ves en lo ultimo que envie una columna es fecha y la otr el valor. En las otras dos lo mismo fecha y valor. Debo tomar la fecha y el valor de la primera y buscarlo igual en la segunda que existe igual, pero no se como hacerlo. He intentado con buscarv y coincidir, con indice y coincidir y nada me da error.
    No estoy seguro si se pueda, gracias por tu ayuda

    ResponderEliminar
    Respuestas
    1. Hola Pablo,
      si solo quieres saber si existe es fácil empleando por ejemplo un CONTAR.SI.CONJUNTO sobre los dos campos de Fecha y Valor
      La cuestión es que en el ejemplo que muestras parece todos se repiten...??.
      Solo quieres saber si existe o quizá también recuperar algún tipo de dato?
      Saludos

      Eliminar
    2. SI Ismael, como te decia debo encontrar en esas columnas la misma fecha y valor, pueda que el valor se repita con fecha y valor en las otras, pero debe coincidir la fecha y el valor y que me devuleva el dato en otras columnas para saber que si estan. Mira es como conciliar, la fecha con el valor de unas consignaciones en libro de bancos, y los fueras a buscar con fecha y valor igual en el extracto, sino com oesta en excel es tedioso ponerse una a una a buscar. la idea es que mediante una formula yo pueda cencontrar que si el dia 1 tengo en la fecha 01-01-2016 $400.000 me busque en la otra hoja esos valores iguales, pueden existir varias veces, pero si busca en la otra debe coincidir las misma veces y asi me queda mas facil.
      Gracias

      Eliminar
    3. ok, pues emplea lo que te he comentado: CONTAR.SI.CONJUNTO
      así sabrás si existe o no y podrás buscar de un lugar a otro.

      Saludos

      Eliminar
  26. Buenas, Tengo una pregunta para una hoja en la que estoy trabajdno y que por exigencias de la persona no puedo utilizar la fuuncion filtro que a mi parecer es lo mas indicado. El caso es el siguiente:

    Se queiere tener un control de pagos realizados a sus dstintos proveedores. Supongamos que han habido 150 pagos en lo que va de año. Cada pago tiene varias columnas que indican, FECHA, BENEFICIARIO, N° REFERENCIA, TIPO TRANSACCION, DESCRIPCION, PAGOS, COBROS Y MONTO ACUMULADO POR CLIENTE.

    Lo más logico par ami es utilizar el filtro de lo que se quiere saber por beneficiario y listo, asi se diferencia cada pago realizado. Pero, la persona quiere que no sea con filtro, es decir, el requerimiento es que en otra hoja coloque en una celda una lista de datos con todos los beneficiarios que se tienen y que al seleccionarlos más abajo en la hoja me aparezcan todos los datos de todos los pagos o cobros realizados según beneficiario.

    Hasta el cuadro con la lista todo bien. El problema es como hago para que al seleccionar un beneficiario me busque todos los pagos/cobros realizados y me los uestre fila por fila, es decir, como hago para simular lo que me hace la función filtro sin aplicar la función filtro. He intentado con BUSCARV, con coincidir con todo, pero siempre me encuentro el mismo problema, solo me trae una linea, no todas. Y el problema es que un beneficiario puede tener 30 pagos asi como otro beneficiario puede tener solo 1. Y hacer formula para cada celda es como complicado porque nunca se sabe cuantos pagos pueden haber en total.

    ResponderEliminar
    Respuestas
    1. podrias intentar con una tabla dinamica =)

      Eliminar
    2. Eso hice, tampoco le gusta a la persona que quiere el requerimiento. Su idea es así como lo plantee, Sólo para poder escoger empresa por empresa e imprimir directamente sin tener que mover ni cambiar nada.

      Eliminar
    3. Hola,
      estoy de acuerdo con Whity, lo más práctico sería la TD..
      el problema es que a priori no se conoce el número de registros/pagos de un Proveedor, lo que hace complicado trabajar con fórmulas... ya que podrías preparar funciones para 100 posibles pagos, pero quizá en un caso tuvieras 101 y perderías uno...

      La otra opción sería con macros...

      Saludos

      Eliminar
    4. Y como hago una macro de eso? Ni idea de eso de macros.

      Eliminar
    5. Si no conoces nada de macros, entonces no es tu herramienta ni solución.
      Intenta aplicar un filtro avanzado con la opción de 'copiar a'
      Saludos

      Eliminar
    6. Gracias por su respuesta.... Efectivamente la solución más viable fue la del filtro avanzado.

      Aunque yo sigo con la intención de dejarle ver que con una tabla dinámica es más fácil hacer este tipo de requerimiento. sólo me falta un campo que no se sí sea posible hacer. Y es que hay datos que dan como valor total cero (0). Por lo que mi pregunta es, ¿Hay algúna manera que el filtro que se aplica en una tabla dinámica, en este caso el de beneficiario, no me traiga el nombre de la línea para aquel que tenga cero o quizas no cero sino que no me traiga el nombre de un valor que no quiero traer sin necesidad de crear otra hoja previamente filtrada? Muchas gracias por su ayuda. Me han sido realmente utiles.

      Eliminar
    7. Hola,
      puedes aplicar un filtro sobre el campo 'beneficiario'(supongo en el área de filas), pero un filtro de Valor (no de etiqueta)...

      Creo es lo que buscas.
      Saludos

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

    ResponderEliminar
  28. Gracias!!! Listo... O eso creo.... Espero que no me pidan más cambios o requerimientos. Agradecido con ustedes por ayudarme nuevamente.

    ResponderEliminar
  29. Buenos Dias, una consulta tengo una lista de recibos de pago con el nro de Cliente, y tengo en otra celda el numero del Cliente con su nombre, deseo agregar una nueva columna al lado de la del nro de cliente y que me indique el nombre del cliente, como aplicaria alli el coincidir?

    ResponderEliminar
    Respuestas
    1. Recibo Cliente Nombre Otra Celda Cliente Nombre
      XXX 1 ? 1 Pedro
      XXX 2 ? 2 Juan
      XXX 1 ? 3 Maria

      Eliminar
    2. Hola Nina,
      en realidad lo más sencillo sería (probablemente, depende de la disposición de datos de la relación de clientes+nombre) aplicar un BUSCARV, en la celda de nombre:
      =BUSCARV(cod cliente;Tabla-cliente+nombre;2;0)

      Saludos

      Eliminar
  30. hola, que tal. creo que es algo sencillo que no logro solucionar. tengo dos columnas (A y B) con valores numéricos y lo que quiero es saber si los datos que están en A, están en B, pero como un mismo valor puede repetirse varias veces, por ejemplo en A tengo 5 valores de $100 pero en B solo tengo 4 valores de $100... quiero detectar el valor que sobra, y pude que sobre o que directamente no se encuentre ese valora en la otra columna... y esto puede suceder tanto de A a B como de B a A.

    saludos

    ResponderEliminar
    Respuestas
    1. Hola,
      no es algo sencillo..al contrario.
      La idea que se me ocurre es emplear algún tipo de matricial que identifique los valores cruzados, discriminando los que quedan desparejados.

      Intentaré subir una respuesta en el blog en cuanto pueda.
      Saludos

      Eliminar
    2. muchas gracias, Ismael. lo que intento hacer es cruzar valores de una cunenta de contabilidad y informacion de esa misma cuenta pero que sale de un modulo externo. en teoria deberian ser iguales y coincidir. pero como ya sabemos la teoria no simpre se da. lo que yo hago en estos momentos es ordenar los valores en orden desendientes y con una columna en medio y la funcion "si", voy haciendo coincir manualmente (cortando y pegando) hacia abajo, la mayoria de los valores encuntra rapidamente su par, y van apareciendo los que lo tienen... pero esto lleva demaciado tiempo... saludos cordiales

      Eliminar
    3. Pensaré si se me ocurre alguna cosa
      ;-)

      Eliminar
    4. buenos dias ismael, tengo todas las esperanzas puesta en tu respuesta jaja.

      Eliminar
  31. hola buenos días estaba tratando de hacer una hoja para facilitarme el trabajo pero no he podido podrían ayudarme. Quisiera que al poner un valor o buscarlo como si filtrara me devolviera el que le corresponde en otra fila. trate con buscar, coincidir y con la función si pero nada.

    Ej
    1 1
    2 2
    3 3
    4 4
    5 5
    6 6

    Algo asi que al poner 1 en la celda A2 me devuelva en la celda G8 1 y asi al cambiar de valor

    ResponderEliminar