使用 Power Query 可以更轻松地完成此操作。在这个例子中,我有:
- 每个工作表上有一个表格,用于每个培训日期。 “是”表示没有节目。
- 每个表都被命名为 t_ 和表名。
然后,Power Query 将所有表合并到一个表中,并生成一个显示所有合并记录的表,该表使用数据透视表进行汇总,另一个具有唯一名称,可用于下拉菜单。
当您有新日期时,只需添加一个包含该日期表格的新工作表,填写信息并刷新计算。
这是合并数据表...
这里是没有显示的关键点...
要获取汇总表...
设置表格后,通过转到数据 > 获取和转换数据 > 获取数据 > 从其他来源 > 空白查询插入一个空白查询。
然后点击高级编辑器,删除所有现有文本并粘贴:
let
Source = Excel.CurrentWorkbook(),
#"Filtered Rows" = Table.SelectRows(Source, each ([Name] <> "Summary")),
#"Expanded Content1" = Table.ExpandTableColumn(#"Filtered Rows", "Content", {"Seat Number", "Name of Physician", "No Show?"}, {"Seat Number", "Name of Physician", "No Show?"}),
#"Duplicated Column" = Table.DuplicateColumn(#"Expanded Content1", "Name", "Name - Copy"),
#"Removed Columns" = Table.RemoveColumns(#"Duplicated Column",{"Seat Number"}),
#"Renamed Columns" = Table.RenameColumns(#"Removed Columns",{{"Name - Copy", "Date"}}),
#"Extracted Text After Delimiter" = Table.TransformColumns(#"Renamed Columns", {{"Date", each Text.AfterDelimiter(_, "_"), type text}}),
#"Changed Type" = Table.TransformColumnTypes(#"Extracted Text After Delimiter",{{"Date", type date}}),
#"Reordered Columns" = Table.ReorderColumns(#"Changed Type",{"Name", "Date", "Name of Physician", "No Show?"}),
#"Renamed Columns1" = Table.RenameColumns(#"Reordered Columns",{{"Name", "Table Name"}})
in
#"Renamed Columns1"
然后单击关闭并加载到 > 新工作表。
获取唯一名称表....
按照上述相同步骤,但在新的空白查询中,粘贴此文本...
let
Source = Excel.CurrentWorkbook(),
#"Filtered Rows" = Table.SelectRows(Source, each ([Name] <> "Summary")),
#"Expanded Content1" = Table.ExpandTableColumn(#"Filtered Rows", "Content", {"Seat Number", "Name of Physician", "No Show?"}, {"Seat Number", "Name of Physician", "No Show?"}),
#"Duplicated Column" = Table.DuplicateColumn(#"Expanded Content1", "Name", "Name - Copy"),
#"Removed Columns" = Table.RemoveColumns(#"Duplicated Column",{"Seat Number"}),
#"Renamed Columns" = Table.RenameColumns(#"Removed Columns",{{"Name - Copy", "Date"}}),
#"Extracted Text After Delimiter" = Table.TransformColumns(#"Renamed Columns", {{"Date", each Text.AfterDelimiter(_, "_"), type text}}),
#"Changed Type" = Table.TransformColumnTypes(#"Extracted Text After Delimiter",{{"Date", type date}}),
#"Reordered Columns" = Table.ReorderColumns(#"Changed Type",{"Name", "Date", "Name of Physician", "No Show?"}),
#"Renamed Columns1" = Table.RenameColumns(#"Reordered Columns",{{"Name", "Table Name"}}),
#"Removed Columns1" = Table.RemoveColumns(#"Renamed Columns1",{"No Show?", "Date", "Table Name"}),
#"Removed Duplicates" = Table.Distinct(#"Removed Columns1")
in
#"Removed Duplicates"
然后关闭并加载到 > 新工作表。
然后您可以选择汇总表和插入数据透视表中的数据。将名称添加到 Rows 部分,将 No Shows 添加到 Values 部分。在行标签列标题中,单击值过滤器 > 大于 0(以删除空白)。使用数据透视表,您可以双击未显示的数量,然后将创建一个新工作表,显示该计算的来源,因此不需要超链接。