📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

Easiest way to COMBINE Multiple Excel Files into ONE (Append data from Folder)

Leila Gharani10:29

Transcription

今天,让我们来看看一个你可能已经遇到过的常见任务,那就是将多个 Excel 文件合并到一个文件中。例如,假设你向同事发送了一个模板来收集一些数据。你收到了分开的文件。现在你想将它们合并。基本上,你想在一个文件中整合或追加数据。一个解决方案一直是 VBA,但这次我们将使用一种更简单的方法。我们将使用“获取和转换”(Get & Transform),也称为 Power Query,来自数据选项卡。(欢快的音乐)(嗖嗖声)(气泡破裂声)我的目标是通过直接连接到文件夹来合并这些文件中的数据。现在,有一些要求。我不想包含任何不包含“_Data”的文件,并且我还想确保排除任何非 Excel 文件。让我们快速看一下文件的内容。我有一个特定月份的单元格信息。数据不在 Excel 表格中。但是,文件的结构是相同的。它们都有相同的标题。现在,我想确保排除这个文件。现在,我最终想要的结果是一个将这些文件中的数据合并的 PivotTable。我想按公司和客户获取汇总销售报告。让我们打开一个空白工作簿。转到数据 + 获取数据 + 从文件 + 从文件夹。浏览文件夹。我的文件就在这里。确定和确定。现在,Power Query 会继续,创建一个到文件夹的连接,并检查文件夹中的内容。如果所有数据都格式正确,如果它只包含我需要的文件,我就可以直接将数据合并并加载到工作簿中,但我需要对其进行一些转换。所以让我们继续转换数据。在我合并这些文件(我们可以在这里看到)之前,我想做的是过滤掉我不需要的文件。所以我设置了任何不包含“_Data”的都不需要。所以对于文本过滤器,我想包含所有包含“_Data”的内容,然后确定。我还想确保我将所有内容限制为 Excel 文件,以“.xls”开头,然后确定。这是我的两个步骤。现在我准备好合并内容了。我所要做的就是点击这个双向下箭头,合并文件,Power Query 将会弹出导航器,询问我想要合并哪个选项卡或哪个数据。我在这里做出的决定是基于一个示例文件。所以它选择了第一个文件,也就是那个文件夹里的 Bere Kleid。从这个第一个文件中,我可以选择我想要的选项卡,然后确定。现在,Power Query 将会尝试弄清楚它应该对该示例文件应用什么转换,将该转换应用于所有其他文件并追加数据。这就是它为我所做的工作。现在,不幸的是,在这一点上,它并不完美,因为我的数据不是完美的 Excel 表格。所以我需要做一些调整,但它已经添加了所有这些步骤。在我点击这个按钮之前的最后一个步骤是这个步骤。它所做的是添加了另一个过滤器。它过滤掉了隐藏文件。所以如果我碰巧有一个文件在后台打开,我不会遇到问题。它将被自动过滤。然后它继续创建了所有这些转换,这里并不多。它试图弄清楚它应该对该示例文件做什么,使其格式正确,以便它可以将其应用于所有其他文件,然后再将它们追加在一起。这里的函数将此转换应用到其他文件,然后再将其合并。这就是这个步骤的意思。然后它继续并将此列重命名为 source,然后删除了关于文件的所有其他信息,然后展开了我们的数据并应用了更改类型。所以现在,我们知道在加载之前需要清理它,但是我们在哪里进行清理呢?我们是清理追加的版本,还是清理示例的版本?现在,这取决于你,但尽可能地,尝试在 Power Query 将它们合并在一起之前,在示例文件级别进行清理。但是,有些步骤需要在追加级别上进行,因为只有在追加级别上,我才有文件名,我实际上可以用它来获取公司名称。所以如果我回溯一步,在我们展开表格之前,我实际上可以在此之后立即处理它。我也可以在这里最后处理它。在我的情况下,我将在那里处理它,所以我将把它重命名为 Company + 插入步骤,并且我还将从文件名中提取公司名称。转换 + 提取 + 分隔符之前的文本。我的分隔符是下划线,但我只是要在此基础上添加“_Data”,然后确定。现在,一旦它展开,我就有了正确的公司名称展开了。现在,因为我的标题已更改,“更改类型”步骤不再适用。我实际上将退出,因为它没有意义将“更改类型”应用于这些。我应该先清理这些。让我们快速看一下我们需要进行的清理。首先,列标题重复了,其次,在一些数据集的底部有一些空行。让我们通过清理示例来清理它。在示例文件中,我不需要“提升的标题”。我实际上需要做的是删除前两行。删除顶部行,输入两个,然后确定。现在,我想在这里提升标题,所以使用第一行作为标题,接下来,我想处理这些空行。所以删除行 + 删除空白行。现在,当我提升标题时,它自动做的另一件事是它决定更改类型。但这对我没有帮助,因为我仍然需要在那里进行类型设置。所以我更喜欢从这里删除“更改类型”步骤,并在最后一步正确地进行。所以我将按 Ctrl + A 选择所有内容,转换 + 检测数据类型,然后仔细检查所有内容是否正确。好了,我的数据干净了。让我们将其加载为 PivotTable。所以关闭并加载 + 关闭并加载到 + PivotTable 报告。我们将其放在现有工作表中,然后确定。现在,让我们按客户和公司分析销售额。我只是更新一下设计,以表格格式显示。这样,我可以看到每个公司对客户的总销售额,并看到哪些公司在向同一客户销售。现在,假设我收到了新数据。Lucas Basics 决定发送他们的数据,所以我将获取文件并将其放在这里。他们输入了数据,只是将列的顺序放错了。所以销售价值不再在最后,它在 E 列,而不是其他列所在的 F 列。这会给我们带来问题吗?让我们检查一下。右键单击并刷新。Lucas Basics 的数据就在这里。列的顺序无关紧要。重要的是拥有相同的列标题,因为看看这个。如果我打开 Lucas Basics_Data,而不是将“销售价值”的“S”大写,而是小写“s”,我将保存它,然后返回这里并刷新,数据将不会显示出来。现在,对于这类问题,你需要决定在哪里进行清理。你是想清理源文件,还是这是一个常见问题,有些标题可以大写,有些不能?这是你想在 Power Query 端处理的事情吗?如果你决定在 Power Query 端处理它,你可以添加一个新步骤,在合并它们之前将所有标题大写。但要做到这一点,你需要熟悉 M 函数。这是我们将在课程的高级部分涵盖的内容。如果你有兴趣了解更多关于我的 Power Query 课程的信息,请查看此视频下方的描述。现在,如果你想要的最终结果是一个表格而不是 PivotTable 呢?嗯,你所要做的就是更改加载目标。右键单击最终查询 + 加载到,选择表格而不是 PivotTable。现有工作表 $A$1 就可以了,然后单击确定。它正在询问我们是否真的要删除这个 PivotTable。我们确实要,这就是我们的表格。所有数据都堆叠在一起。这就是你如何使用 Excel 的“获取和转换”功能将多个文件的数据合并到一个文件中。我希望你喜欢这个视频。如果你喜欢,请给它一个赞,(气泡破裂声)如果你喜欢你看到的内容,请考虑(鼠标点击)订阅此频道(铃声响起),如果你还没有这样做的话。并且不要忘记点击那个铃铛,这样你就可以在有新视频发布时收到更新,我将在下一个视频中见到你。(欢快的音乐)