首页 > 解决方案 > 如何在Excel中将新列与旧列对齐

问题描述

我有一个已连接到 Microsoft Access 查询的 excel 文件。在 Ms Access 数据库中输入数据后,我可以刷新我的 excel 文件并查看已添加哪些记录。

现在我想在这个 excel(用 Excel 插入列)文件中添加一些新列并在这些列中输入数据,但我的问题是我添加的新列与从 ms 访问查询刷新的旧列不匹配。我还想在刷新新列后仍然与旧列匹配。

在刷新 excel 文件之前,我的数据如下所示,A、B 列连接到 Ms Access 查询,C 列一直在 Excel 文件中与我自己:

   column A       Column B    Column C

    Doc            Trans       added column in Excel
    doc-100        t-100       r-100
    doc-300        t-300       r-300
    doc-500        t-500       r-500

现在我在 ms access 数据库中添加记录

 doc-200    t-200

并刷新 Excel 文件,现在我的数据如下所示:

     column A     Column B    Column C

       Doc           Trans     added column in Excel
      doc-100        t-100      r-100
      doc-200        t-200      r-300
      doc-300        t-300  
      doc-500        t-500      r-500

现在刷新后 (r-300) 在 doc-200 , t-200 前面,而应该在 doc-300, t-300 前面

我希望刷新后的数据如下所示:

      column A     Column B    Column C

        Doc          Trans     added column in Excel
     doc-100         t-100      r-100
     doc-200         t-200      
     doc-300         t-300      r-300
     doc-500         t-500      r-500

标签: excelms-access

解决方案


在 Excel 中刷新对外部数据的查询时,可能会发生以下几种情况:

  • 查询返回相同的行数
  • 查询返回比以前更多的行
  • 查询返回的行数比以前少

当您使用工作表网格针对从查询返回的行输入值时,您需要了解查询刷新可能会导致不同的数据落在同一行中。曾经在第 4 行的内容在刷新后可能在第 7 行。因此,如果您手动添加列并输入数据,查询刷新将对此造成严重破坏。

如果您想手动将数据添加到查询中,我建议采用以下方法:

  • 查询外部数据并将其带入电子表格
  • 在单独的工作表上创建一个新的数据表,在其中使用查询记录的唯一键或 ID 作为第一列,然后手动将数据添加到下一个列中
  • 在查询结果表中,添加一列,您可以在其中使用查找公式根据行 ID 获取手动输入的数据

大多数查询类型将支持带有公式的附加列。如果实际数据位于不同的工作表中,则公式将为该行提取正确的数据,即使查询在刷新后返回更少或更多的行也是如此。

这是使用 Power Query 将不同数据源组合到一个结果表中的主要示例。一个对 Access db 的查询,另一个对工作表上的表的查询,将两者合并到一个数据结果表中。

如果您对此有任何疑问,请提出来。


推荐阅读