跟踪名册上的 "No Shows"
Keeping track of "No Shows" on roster
目前我正在制定 class 次的时间表,秘书将姓名添加到列表中,无论该房间有多少座位,它会显示他们是否已经通过测试。经理们想知道医生有多少次没有出现。 A 列是座位号(没有实际作用),B 列是名称槽,它从主列表中拉出一个可搜索列表,使用“=Cell("contents")”技巧,因为太多了直线下降。 C 列在 VLOOKUP 以检查他们当前的测试状态,以帮助避免重复预订。最后,如果他们没有出现,D 列是一个复选框。
我有一个单独的 sheet 来跟踪这些未出现的情况,它记录了姓名、计数 1 和他们跳过的日期。
问题 1,有没有办法不必单独制作每个复选框并且 link 每个都单独制作?有 8 周的 class 有 60 个以上的席位。
问题 2,有没有办法让它向这个 sheet 添加行,只有在勾选的情况下才不会有 900 个空行作为数据透视表 table?
代码用于 "NoShow" sheet:
=IF(Schedule!D5=TRUE,Schedule!B5,"")
=IF(A2<>"","1","")
=IF(Schedule!D5=TRUE,TODAY(),"")
使用 Power Query 可以更轻松地完成此操作。在这个例子中,我有:
- 每个工作表上一个 table,每个培训日期。 "Yes".
表示没有演出
- 每个 table 被命名为 t_ 和 table 名字。
然后 Power Query 将所有 table 合并为一个并生成一个 table 显示所有合并的记录,用数据透视表 table 汇总,另一个用可用于您的 drop-down 菜单的唯一名称。
当您有新日期时,只需为该日期添加一个包含 table 的新工作表,填写信息并刷新计算。
这里是 table 合并数据...
这是计算未出现的数据的基准...
获取摘要table...
设置 table 后,通过转到数据 > 获取和转换数据 > 获取数据 > 从其他来源 > 空白查询插入空白查询。
然后单击“高级编辑器”,删除任何现有文本并粘贴:
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"
然后单击“关闭并加载到”>“新建工作表”。
获取唯一名称table...
按照上面的相同步骤,但在新的空白查询中,粘贴此文本...
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"
然后关闭并加载到 > 新工作表。
然后您可以 select 摘要中的数据 table 和插入数据透视表 Table。将名称添加到“行”部分,将“未显示”添加到“值”部分。在“行标签”列 header 中,单击“值筛选器”>“大于 0”(以删除空白)。使用数据透视表 table,您可以 double-click 显示未显示的次数,并且将创建一个新的工作表,向您显示该计算的来源,因此不需要超链接。
问题 1,有没有办法不必单独制作每个复选框并且 link 每个都单独制作?有 8 周的 class 有 60 多个席位。
是的!请参阅下面建议的系统解决方案。
问题 2,有没有一种方法可以让它向这个 sheet 添加行,只有在勾选的情况下才不会有 900 个空白行用于一个数据透视表 table?
是的,将您使用的范围格式化为 "Table",table 会自动添加行。与建议的解决方案结合使用。
建议的解决方案:
您应该能够找到 PowerPivot 的解决方案,使用 (i) 一个简单的数据模型,该模型由一个 table(事实 table)组成,跟踪 class 日期和错过 [=29] 的人=] 和潜在与会者的主列表 (lookup/dimension table),您可以在其中通过名称将 class 跟踪 table 与潜在与会者 table 相关联(ii) 一个可以轻松总结谁错过的关键 table。从 Pivot Table,您可以根据需要创建炫酷的图表或幻灯片
您的秘书只需更新事实 table 或维度 table 的变化。如果座位号没有实际意义,则将其省略是有道理的。
事实Table 列:日期、姓名、错过(分配 1)
Dimension/LookUpTable 列:姓名、参加的考试、(其他相关信息)
请注意,您在一个单元格中使用了完整的姓名(名字和姓氏)。如果您想要严谨,您可能需要为每个名称分配它自己的唯一 ID,并在有两个相同名称的情况下将其用作 LookUp table 的主键。
希望对您有所帮助!
目前我正在制定 class 次的时间表,秘书将姓名添加到列表中,无论该房间有多少座位,它会显示他们是否已经通过测试。经理们想知道医生有多少次没有出现。 A 列是座位号(没有实际作用),B 列是名称槽,它从主列表中拉出一个可搜索列表,使用“=Cell("contents")”技巧,因为太多了直线下降。 C 列在 VLOOKUP 以检查他们当前的测试状态,以帮助避免重复预订。最后,如果他们没有出现,D 列是一个复选框。
我有一个单独的 sheet 来跟踪这些未出现的情况,它记录了姓名、计数 1 和他们跳过的日期。
问题 1,有没有办法不必单独制作每个复选框并且 link 每个都单独制作?有 8 周的 class 有 60 个以上的席位。
问题 2,有没有办法让它向这个 sheet 添加行,只有在勾选的情况下才不会有 900 个空行作为数据透视表 table?
代码用于 "NoShow" sheet:
=IF(Schedule!D5=TRUE,Schedule!B5,"")
=IF(A2<>"","1","")
=IF(Schedule!D5=TRUE,TODAY(),"")
使用 Power Query 可以更轻松地完成此操作。在这个例子中,我有:
- 每个工作表上一个 table,每个培训日期。 "Yes". 表示没有演出
- 每个 table 被命名为 t_ 和 table 名字。
然后 Power Query 将所有 table 合并为一个并生成一个 table 显示所有合并的记录,用数据透视表 table 汇总,另一个用可用于您的 drop-down 菜单的唯一名称。
当您有新日期时,只需为该日期添加一个包含 table 的新工作表,填写信息并刷新计算。
这里是 table 合并数据...
这是计算未出现的数据的基准...
获取摘要table... 设置 table 后,通过转到数据 > 获取和转换数据 > 获取数据 > 从其他来源 > 空白查询插入空白查询。
然后单击“高级编辑器”,删除任何现有文本并粘贴:
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"
然后单击“关闭并加载到”>“新建工作表”。
获取唯一名称table... 按照上面的相同步骤,但在新的空白查询中,粘贴此文本...
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"
然后关闭并加载到 > 新工作表。
然后您可以 select 摘要中的数据 table 和插入数据透视表 Table。将名称添加到“行”部分,将“未显示”添加到“值”部分。在“行标签”列 header 中,单击“值筛选器”>“大于 0”(以删除空白)。使用数据透视表 table,您可以 double-click 显示未显示的次数,并且将创建一个新的工作表,向您显示该计算的来源,因此不需要超链接。
问题 1,有没有办法不必单独制作每个复选框并且 link 每个都单独制作?有 8 周的 class 有 60 多个席位。 是的!请参阅下面建议的系统解决方案。
问题 2,有没有一种方法可以让它向这个 sheet 添加行,只有在勾选的情况下才不会有 900 个空白行用于一个数据透视表 table?
是的,将您使用的范围格式化为 "Table",table 会自动添加行。与建议的解决方案结合使用。
建议的解决方案: 您应该能够找到 PowerPivot 的解决方案,使用 (i) 一个简单的数据模型,该模型由一个 table(事实 table)组成,跟踪 class 日期和错过 [=29] 的人=] 和潜在与会者的主列表 (lookup/dimension table),您可以在其中通过名称将 class 跟踪 table 与潜在与会者 table 相关联(ii) 一个可以轻松总结谁错过的关键 table。从 Pivot Table,您可以根据需要创建炫酷的图表或幻灯片
您的秘书只需更新事实 table 或维度 table 的变化。如果座位号没有实际意义,则将其省略是有道理的。
事实Table 列:日期、姓名、错过(分配 1) Dimension/LookUpTable 列:姓名、参加的考试、(其他相关信息)
请注意,您在一个单元格中使用了完整的姓名(名字和姓氏)。如果您想要严谨,您可能需要为每个名称分配它自己的唯一 ID,并在有两个相同名称的情况下将其用作 LookUp table 的主键。
希望对您有所帮助!