134 votos

¿Cómo puedo unir dos hojas de cálculo en Excel como yo en SQL?

Tengo dos hojas de cálculo diferentes en los dos archivos de Excel. Ambas contienen una lista de nombres, números de identificación y los datos asociados. Uno es un maestro de la lista que incluye demográfica general campos, y la otra es una lista que sólo incluye el nombre y la id, y una dirección. Esta lista se redujo a partir de la lista maestra por otra oficina.

Quiero usar la 2ª lista para filtrar la primera. Además, quiero los resultados para incluir otros campos del maestro de la hoja de cálculo junto a los campos de dirección de la segunda hoja de cálculo. Sé cómo podría hacer esto muy fácilmente con una base de datos inner join, pero estoy menos clara sobre cómo hacer esto de manera eficiente en Excel. ¿Cómo se pueden unir dos hojas de cálculo en Excel? Puntos de bonificación para mostrar cómo hacer combinaciones externas así, y me sería de gran prefieren saber cómo hacer esto sin necesidad de una macro.

162voto

Larry Watanabe Puntos 7305

Para el año 2007 uso+ Data > From Other Sources > From Microsoft Query:

  1. elija Excel File y seleccione su 1er excel
  2. elegir columnas
    (si usted no ve ninguna lista de columnas, asegúrese de comprobar Options > System Tables)
  3. ir a Data > Connections > [elegir la conexión que acaba de crear] > Properties > Definition > Command text

Ahora puede editar esta Command text como SQL. No está seguro de lo que la sintaxis es patrocinada, pero traté de uniones implícitas, "inner join", "left join" y los sindicatos que todo funcione. Aquí está una consulta de ejemplo:

SELECT *
FROM `C:\Users\Peter\Documents\Excel-to-excel\Source_1.xlsx`.`Sheet1$` a
LEFT JOIN `C:\Users\Peter\Documents\Excel-to-excel\Source_2.xlsx`.`Sheet1$` b
ON a.col2 = b.col2

14voto

Ben Lin Puntos 91

Apoyo a la aceptada respuesta. Sólo quiero hacer hincapié en "elegir columnas (si usted no ve ninguna lista de columnas, asegúrese de comprobar las Opciones de > las Tablas del Sistema)"

Una vez que seleccione el archivo de excel, es muy probable que usted verá this data source contains no visible tables de símbolo de sistema, y la disposición de las pestañas y columnas son ninguno. Microsoft admitió que es un error que las lengüetas en los archivos de excel son tratados como "las Tablas del Sistema", y la opción por el Sistema de "Tablas" no está seleccionada de forma predeterminada. Así que no cunda el pánico, en este paso, usted sólo necesita hacer clic en "opción" y comprobar el Sistema de "Tablas", luego ves las columnas disponibles.

11voto

Reuben L. Puntos 714

BUSCARV y BUSCARH podría ser utilizado para la búsqueda de coincidencia de claves primarias (almacenados en posición vertical u horizontal) y los valores de retorno de 'atributo' columnas/filas.

3voto

mischab1 Puntos 894

Usted no puede preforma SQL estilo se une en las tablas de Excel desde Excel. Dicho esto, hay varias maneras de lograr lo que usted está tratando de hacer.

En Excel, como dice Rubén, las fórmulas que probablemente el trabajo de los mejores, VLOOKUP y HLOOKUP. En ambos casos, coinciden en una única fila y se devuelve el valor de la columna\fila a la izquierda\abajo de la id.

Si sólo desea agregar un par de campos adicionales a la segunda lista, a continuación, añadir las fórmulas para el segundo de la lista. Si usted quiere una "outer join" estilo de tabla, a continuación, añadir el VLOOKUP fórmula para la primera lista con ISNA a prueba si la búsqueda fue encontrado. Si Excel de Ayuda no dan suficiente información sobre cómo utilizar estos en su caso particular, háganoslo saber.

Si usted prefiere usar SQL, a continuación, vincular los datos en su programa de base de datos, crear la consulta, y exportar los resultados a Excel. (En el Acceso puede importar Hojas de cálculo de Excel o Rangos con Nombre en una Tabla Vinculada.)

0voto

dav Puntos 5003

Si usted está lo suficientemente familiarizado con las bases de datos, puede utilizar SQL Server para conectar dos hojas de cálculo como Servidores Vinculados y, a continuación, el uso de T-SQL para hacer el back-end de datos de trabajo. A continuación, terminar la conexión de Excel a SQL y extraer los datos en una tabla (regular o pivote). Usted también puede considerar el uso de Powerpivot; permitirá a las uniones entre cualquier base de datos de fuentes-incluyendo Excel se utiliza como plano de bases de datos.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: