在子单元格Excel大纲级别分组中聚合信息

在子单元格Excel大纲级别分组中聚合信息,excel,formatting,vba,Excel,Formatting,Vba,我正在使用Excel大纲级别。数据如下所示 我需要红色文本是一个自动值(可能查看多个级别的子项),它将查询组记录的任何子项记录并汇总数据。在这种情况下,您可以看到以下三个条件: -如果所有的座位都没有人,房间是空的,如果有临时座位,房间是部分的,如果所有的座位都坐满了 您可以用formuala来实现这一点,还是我需要创建VBA功能?在C4中,假设a列是隐藏的,并且每个座位旁边都标注了房间: =If(Countif(A:A, B4) - 1 = CountA(Offset(C4, 1, 0, C

我正在使用Excel大纲级别。数据如下所示

我需要红色文本是一个自动值(可能查看多个级别的子项),它将查询组记录的任何子项记录并汇总数据。在这种情况下,您可以看到以下三个条件: -如果所有的座位都没有人,房间是空的,如果有临时座位,房间是部分的,如果所有的座位都坐满了


您可以用formuala来实现这一点,还是我需要创建VBA功能?

C4
中,假设a列是隐藏的,并且每个座位旁边都标注了房间:

=If(Countif(A:A, B4) - 1 = CountA(Offset(C4, 1, 0, Countif(A:A, B4) - 1)), "FULL", 
      If(0 = CountA(Offset(C4, 1, 0, Countif(A:A, B4) - 1)), "EMPTY", "PARTIAL"))
另外:

=If(Countif(1:1, B2) - 1 = CountA(Offset(B3, 0, 1, , Countif(1:1, B2) - 1)), "FULL", 
      If(0 = CountA(Offset(B3, 0, 1, , Countif(1:1, B2) - 1)), "EMPTY", "PARTIAL"))
以上两点,如果您没有将单元格
A4
标记为
房间A
,则移除
-1

同样,一旦对这一个单元格完成这些操作,只需复制并粘贴到其他单元格,它将使用相对引用为您自动引用正确的单元格

如果转置:

=If(Countif(1:1, B2) - 1 = CountA(Offset(B3, 0, 1, , Countif(1:1, B2) - 1)), "FULL", 
      If(0 = CountA(Offset(B3, 0, 1, , Countif(1:1, B2) - 1)), "EMPTY", "PARTIAL"))

C4
中,假设A列是隐藏的,并且每个座位旁边都标注了房间:

=If(Countif(A:A, B4) - 1 = CountA(Offset(C4, 1, 0, Countif(A:A, B4) - 1)), "FULL", 
      If(0 = CountA(Offset(C4, 1, 0, Countif(A:A, B4) - 1)), "EMPTY", "PARTIAL"))
另外:

=If(Countif(1:1, B2) - 1 = CountA(Offset(B3, 0, 1, , Countif(1:1, B2) - 1)), "FULL", 
      If(0 = CountA(Offset(B3, 0, 1, , Countif(1:1, B2) - 1)), "EMPTY", "PARTIAL"))
以上两点,如果您没有将单元格
A4
标记为
房间A
,则移除
-1

同样,一旦对这一个单元格完成这些操作,只需复制并粘贴到其他单元格,它将使用相对引用为您自动引用正确的单元格

如果转置:

=If(Countif(1:1, B2) - 1 = CountA(Offset(B3, 0, 1, , Countif(1:1, B2) - 1)), "FULL", 
      If(0 = CountA(Offset(B3, 0, 1, , Countif(1:1, B2) - 1)), "EMPTY", "PARTIAL"))

如果你能在每一个座位旁边加上一个注明房间的栏,我能给你一个建议吗?这是可能的,即使它总是隐藏的。这很好。我下面的建议应该行得通。如果你能在每个座位旁边加一个注明房间的栏,我可以建议你回答吗?这是可能的,即使它总是隐藏的。这很好。我下面的建议应该行得通。如果我转置工作表(即分组的行变为列),这会行得通吗?或者我需要更改偏移量吗?您需要更改它,还需要一个示例,因为您的初始示例可以通过多种方式进行转置。我将更新我的答案以进行完整的换位。如果我换位工作表(即分组的行变为列),这是否有效?或者我是否需要更改偏移量?您需要更改它,并且还需要一个示例,因为您的初始示例可以通过多种方式进行换位。我将更新我的答案,以便进行完全换位。