• Portada
    • Recientes
    • Usuarios
    • Registrarse
    • Conectarse

    Para los expertos en excel

    Programado Fijo Cerrado Movido
    Software
    4
    5
    617
    Cargando más mensajes
    • Más antiguo a más nuevo
    • Más nuevo a más antiguo
    • Mayor número de Votos
    Responder
    • Responder como tema
    Accede para responder
    Este tema ha sido borrado. Solo los usuarios que tengan privilegios de administración de temas pueden verlo.
    • TassadarT
      Tassadar
      Última edición por

      Hola a todos,

      tengo un problemilla con el cual quizás alguien pueda ayudarme, el tema es que necesito vincular dos tablas en excel con un campo en comun, por ejemplo:

      Codigo nombre
      1 juan
      2 pepe
      3 luis

      siguiente tabla:

      codigo edad
      1 20
      2 30
      3 50

      Resultado que busco:

      Codigo nombre edad
      1 Juan 20
      2 pepe 30
      3 luis 50

      Las tablas de origen están en dos ficheros diferentes y la cabecera del campo a agrupar es el mismo.

      Un saludo y gracias

      1 Respuesta Última respuesta Responder Citar 0
      • amd125A
        amd125 Veteranos HL
        Última edición por

        Si sólo quieres que te una lo de la casilla A1 de la hoja 1 por ejemplo, con su homónimo de la hoja 2, hay una fórmula falicita que es "CONCATENAR" Le dices =CONCATENAR(A1hoja1;A1hoja2)

        Esta fórmula sólo tiene un problema, que te une todo, así que en vez de ponerte JUAN 21 pondría JUAN21 sin espacios. ¿Forma de solucionarlo? le dices que concatener 3 casilla, la primera la de la hoja 1, la segunda una cailla que sea una casilla en la que simplemente le deuna vez a la barra espaciadora, y la tercera la casilla de la hoja 2.

        Con lo del espacio en blanco simplemente te digo que te vayas a una casilla que puede ser si estás en la hoja 1 y la casilla A1 es la de datos, te vas a la B1 y le das un espacio en blanco. Tú no verás nada pero para excel esa casilla tiene un dato que es el espacio en blanco. La formula quedaría así =CONCATENAR(A1hoja1;B1hoja1(siendo esta la que tiene el espacio en blanco);A1hoja2)

        No sé si es esto lo que buscas. Si no te sale me mandas el fichero y te lo hago a amd125@gmail.com

        Si por el contrario lo que buscas es que en la primera casilla estén nombres y en la segunda hoja estén esos nombre y con edades por ejemplo y no están ordenador alfabéticamente o bien hay nombre en una hoja que no hay en otro… se haría con la fórmula =busvarv (buscame en vertical en la hoja 2 el dato que necesito en la hoja 1)... pero creo que no es esto sino lo primero lo que necesitas.

        IstarionI 1 Respuesta Última respuesta Responder Citar 0
        • IstarionI
          Istarion @amd125
          Última edición por

          Uhm haciendo un apaño con una macro es facil, pero han de estar en el mismo fichero :S

          Sub Concateno()
              Dim Total As Integer
              Total = 10
              Set res1 = Range("H1:H" + CStr(Total))
              Set res2 = Range("I1:I" + CStr(Total))
              Set conc1 = Range("C1:C" + CStr(Total))
              Set conc2 = Range("F1:F" + CStr(Total))
              Set id1 = Range("B1:B" + CStr(Total))
              Set id2 = Range("E1:E" + CStr(Total))
          
              For idLeft = 1 To Total
                  For idRight = 1 To Total
                      If id1.Cells(idLeft) = id2.Cells(idRight) Then
                          res1.Cells(idLeft) = conc1.Cells(idLeft)
                          res2.Cells(idLeft) = conc2.Cells(idRight)
                      End If
                  Next
              Next
          
          End Sub
          

          Es bastante a saco 😛 pero la idea es que "total" es el numero de filas a comparar, y luego los rangos te indican que filas son. Puedes poner la columna a la que se refiere en una variable a parte pero bueno, yo lo he hecho a saco a que funcione.
          Simplemente recorres la columna de la izquierda y luego la de la derecha, comparas si los valores son iguales, y si lo son, las concatenas en la columna que indica "res1".

          Intel Xeon E3 1231v3 @ 3.4Ghz / 16GB DDR3 2133Mhz 11-11-11 / R290 PRO / Samsung 970 Evo 500GB / Samsung 840 250GB / 2xHDD / Netway 700w

          lforosL 1 Respuesta Última respuesta Responder Citar 0
          • lforosL
            lforos Veteranos HL @Istarion
            Última edición por

            No sé si entiendo bien la situación, pero creo que lo más sencillo es usar la función BUSCARV, en la que puedes buscar referencias en otras hojas.

            Por ejemplo, imaginamos que ponemos en una columna (la A) la lista de todos los códigos así
            1
            2
            3

            y en la siguiente celda (es decir, empezando en la B1, ponemos esto: =BUSCARV(A1;[Libro1.xls]Hoja1!$A$2:$B$4;2;FALSO) & " " & BUSCARV(A1;[Libro2.xls]Hoja1!$A$2:$B$4;2;FALSO)

            y copias para abajo a todas las demás. Libro1 sería el fichero de los nombres, Hoja1 la hoja donde están los nombres y A2:B4 el rango de los datos de nombre (he puesto desde la fila 2 porque has dicho que tenían una cabecera). Libro2, Hoja2 es lo mismo pero para la tabla de las edades.

            Esto funciona, pero tiene una limitación. El campo en el que estás buscando tiene que ser el primero en la matriz en la que buscas (con buscarv). Si no lo está, tambíén se puede hacer, aunque el pitote a montar es considerable (pasa por usar la función COINCIDIR dos veces para buscar la posición de fila y columna de lo que buscas y luego usar DESREF para hacer una referencia calculada a la misma).

            hlbm signature

            TassadarT 1 Respuesta Última respuesta Responder Citar 0
            • TassadarT
              Tassadar @lforos
              Última edición por

              Muchísimas gracias a todos, la verdad es que esta es una duda que no era para mí, y al final me dijo mi colega que ya lo había arreglado, la verdad que no me dijo como.

              Ahora me dice que tiene otro problema, jeje, se ha encontrado con ésto:

              y en el mensaje me dice:

              Como solucionar esto, tengo la tabla dbf sin el codigo de articulos, cojo de la otra tabla con el excel la abro y copio el codigo de los articulos, lo pego en la primera tabla dbf tambien con excel y cuando le doy a guardar me sale ese mensaje, y no se guarda. Como puedo hacer para que se guarden? O ke otro programa puedo utilizar?
              Gracias.

              Pues eso, de nuevo solicito vuestra ayuda. Mil gracias por vuestra ayuda y paciencia

              1 Respuesta Última respuesta Responder Citar 0
              • 1 / 1
              • First post
                Last post

              Foreros conectados [Conectados hoy]

              0 usuarios activos (0 miembros e 0 invitados).
              febesin, pAtO,

              Estadísticas de Hardlimit

              Los hardlimitianos han creado un total de 543.3k posts en 62.8k hilos.
              Somos un total de 34.8k miembros registrados.
              safemedsuk ha sido nuestro último fichaje.