跟踪名册上的 "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 的主键。

希望对您有所帮助!