我需要帮助来制作下表:假设我在 Excel 工作簿中有三张工作表。
- 第一张表是摘要页。接下来的两张是主题 1 和主题 2。
- 每个主题表都有一个包含两列的表格 - 书名和状态。
- “Bookname” 是关于书的名称,“Status” 可以是“是”或“否” - 表示我是否已经开始读这本书。
因此,在任何给定点,在主题 1 和主题 2 中,都会有几本书,每本书都会分配有 Y 或 N。
既然如此,我只想知道如何才能只显示摘要页面中标记为“是”的那些书籍(出现在主题 1 和主题 2 表中)。也就是说,我希望在摘要页面中有一个表格,显示我目前正在阅读哪本书。
答案1
正如前面提到的,您想要的对于数据库解决方案来说很自然。这里有一种方法,它利用了 Excel 连接外部数据源的能力。我还没有广泛使用过这种方法,所以至少对我来说,它只能算是实验性的,而且可能还存在我尚未发现的隐藏陷阱。
思路是将工作簿与其自身建立数据连接,使用 Microsoft Query Tool 对工作簿主题表中的数据表定义联合查询,并将查询结果作为汇总表中的合并表返回。然后可以根据需要对该表中的数据进行排序和筛选。
主题表的设置与你概述的一致(略有阐述)。为了使查询工具将表中的数据识别为“表格”,必须为每本图书列表命名。例如,A1:E11
表中的范围主题1已被命名主题1与其他两份数据表的名称类似。[1]
要设置查询,首先从功能区上的选项卡中选择 /,然后From Other Sources
选择From Microsoft Query
Data
Excel 文件作为数据源,并指定工作簿本身作为源文件。
查询工具将打开,其中显示查询向导。您定义的每个范围名称都将列为表格,其列标题为字段。继续并从第一个表格 Subj1 中选择要包含在查询中的字段。然后单击Next两次以移动到查询向导完成对话框。在那里,选择单选View data or edit query in Microsoft Query
按钮并单击Finish。
查询工具本身将打开,其中包含迄今为止指定的查询的图形视图和查询结果列表。单击SQL主菜单栏上的按钮,打开 SQL 编辑器。
修改查询以便它能合并所有数据范围(在我的示例中为三个):
SELECT subj1.subject, subj1.title, subj1.status
FROM subj1
UNION ALL
SELECT subj2.subject, subj2.title, subj2.status
FROM subj2
UNION ALL
SELECT subj3.subject, subj3.title, subj3.status
FROM subj3
单击 后OK,保存查询。现在,您可以通过选择File
/来嵌入查询结果Return Data to Microsoft Excel
,然后按照提示将结果Summary
作为可排序和可过滤的表格导入到工作表中。
由于 Excel 认为表格中的数据来自外部数据源,因此在编辑书籍列表后,您需要刷新表格。Refresh
可以通过在表格中单击鼠标右键来调出上下文菜单。 [2]
如果您随后想要修改查询(例如,添加类别),您可以通过功能区上的Data
/访问它。单击对话框中,然后选择选项卡。直接在框中编辑查询;如果您按 ,Excel 会发出警告。 Connections
PropertiesWorkbook Connections
Definition
Command text
Edit query
1. E 列和第 11 行中的蓝色阴影区域是为了以后添加更多书籍(或类别)时方便使用。可以将它们向下或向右拖动以留出更多数据的空间,同时保留范围名称。(在范围名称中包含额外行将导致摘要表中出现空白行;查询工具不会将动态定义的范围识别为表格。)
2. 在上下文菜单上选择Table
/External Data Properties
将会显示一些有用的表格格式属性,包括在刷新时关闭表格列的自动调整大小。