![如何通过合并大型规范化表中的重复单元格来获取一对多行表?](https://linux22.com/image/1329162/%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%E5%90%88%E5%B9%B6%E5%A4%A7%E5%9E%8B%E8%A7%84%E8%8C%83%E5%8C%96%E8%A1%A8%E4%B8%AD%E7%9A%84%E9%87%8D%E5%A4%8D%E5%8D%95%E5%85%83%E6%A0%BC%E6%9D%A5%E8%8E%B7%E5%8F%96%E4%B8%80%E5%AF%B9%E5%A4%9A%E8%A1%8C%E8%A1%A8%EF%BC%9F.png)
由于我是 Excel(老实说,也是整个 Microsoft Office 套件)的新手,所以我花了很多时间浏览这个问题的解决方案 - 如何从规范化表中获取一对多行表 - 而且由于我发布了这个问题,很明显我没有找到合适的答案。
为了更清楚起见,假设初始规范化表如下所示:
结果表应如下所示:
现在,对于包含几行的表,答案非常明显并且效率有点低:
- 对包含相同值的单元格的列进行排序;
- 手动选择具有相同值的单元格组,然后右键单击“合并和居中”按钮(见下图)。
- 对该列中所有已识别的重复单元格组重复步骤 2。
挑战在于使用 Excel 2010 对具有大量数据(约 6k 行)的表获得相同的结果。显然,上面提出的解决方案远非有效。
对此有什么想法吗?我将非常感谢您的帮助。
答案1
您看过数据透视表了吗?这似乎完全符合您的要求。
首先要做的是确保数据表中有一个标题行。
然后选择数据范围内的任意单元格并转到“插入”选项卡,然后选择“数据透视表”。
接受默认设置并单击“确定”。这将打开一个新的数据透视表,您需要将字段 1 和字段 2 放在“行”部分(首先是字段 1)。
然后你只需要更改一些格式选项:
在“数据透视表工具”选项卡(现在已显示在数据透视表中)中,单击“设计”选项卡,然后在“布局”组中选择报告布局/以表格形式显示
再次在同一个数据透视表工具 / 设计 / 布局选择小计/不显示小计
再次在同一个数据透视表工具 / 设计 / 布局选择总计/行和列关闭
最后,右键单击数据表中的任意位置并选择数据透视表选项然后在第一个(布局和格式)选项卡中勾选合并单元格并将其与标签置于中心
然后,您可以重新使用此数据透视表来指向新的数据集(当数据集可用时)数据透视表工具/选项/更改数据源)
编辑:只是为了向你展示最终输出的样子。我点击了不到 20 次:
答案2
您可以使用功能区上“数据”选项卡下的“SubTotal”选项。我已重新创建您的电子表格,如下所示:
如果我仅突出显示数据,请单击“小计”按钮,然后设置以下选项:
我得到以下输出,它并不完全是你想要的,但它可能会对你有所帮助:
答案3
乔恩对此提出了一个很好的尝试,但是正如你所说,你是 MS Office 的“新手”,我会向你提出一些不同的方法。
您应该问自己或者这个任务的请求,Excel 是否是适合该任务的工具,因为它更像是一个 Access/SQL 任务。
如果它有是 Excel,您还可以使用数据表上的 Subsum 函数。它不如数据透视表那么强大,但基本上功能非常相似。