在过滤器中包括最近的非空列值

在过滤器中包括最近的非空列值

如果我的数据如下所示:

Category    Sub Category
1           a
            b
2           c
            d

这表明有两个类别:“1”,其有子类别“a”和“b”,“2”,其有子类别“c”和“d”。

我可以在 Excel 中做什么(进行过滤/排序)来将第 1 行和第 2 行放在一起作为类别“1”,而不是将第一行作为类别“1”,将第二行作为类别“”?

我试图避免这样做:

Category    Sub Category
1           a
1           b
2           c
2           d

答案1

您可以合并单元格,这样就可以进行筛选。例如,如果您的数据在范围内A1:B5,则可以合并单元格A2:A3、和A4:A5。然后,您可以按 B 列进行筛选,A 列中的值将用于两个相应的行。

不过,以这种方式合并单元格不适用于排序。对于这种情况,您可以编写一些简短的 VBA 代码。简短的伪代码如下:

for irow2 = 0 to nrows/2-1
  A<2*irow2+1>.Value = A<2*irow2>.Value
next irow2
Range(A2:B<nrows+1>).Sort

答案2

非常简单.....如果你有一列1然后2's 等。格式化第一个1正常。格式化所有其他1下面的文本颜色与单元格背景颜色相同。

因此只有顶部1看起来会有价值。另一个1将显示为空。

类似2的。

这可以让您获得所需的视觉效果并且仍然支持过滤。

相关内容