Excel自动筛选范围:保持范围不变/避免自动添加行

时间:2019-02-01 15:21:54

标签: python excel xlsxwriter autofilter

我有一个问题,将Excel自动筛选器限制为设置的范围,并在该范围下方显示一个粘性底部行...

这很好用(我正在使用Python xlsxwriter):

worksheet.autofilter('A1:D111')

这会导致Excel(Office 365)中的过滤器列表范围为$ A $ 1:$ D $ 111。

但是,如果我使用以下命令在自动过滤器范围以下编写单元格:

worksheet.write(111, 3, 'Total filtered selection', format_string) #adds string to Excel row 112

然后,该行也包含在filterrange中(由于某种原因,该过滤器现在以$ D112结尾...见图)。

由于这个原因,在更改过滤器时,最下面一行没有停留在选择的底部,这是我想要的,以便显示选择的总数(使用=SUBTOTAL(101, E1:E111)仅包含过滤的行,预期)。

我在做什么错?谢谢!

enter image description here

1 个答案:

答案 0 :(得分:1)

按使用相同的范围为一图表系列自动筛选范围保持不变:

作为dwirony建议的,它似乎是为Excel到新的数据(行)添加到自动筛选标准行为。这样,扩展了过滤器范围,我的下一行显示了小计,并且当重新应用过滤器时,该行被隐藏了。

不过,如果你申请一个图表系列相同的范围细胞自动筛选范围,然后自动筛选保持不变!即我的自动筛选器范围是“ A1:D111”,并在向第112行添加内容时更改为“ A1:D112”。但是,如果我为范围“ A1:D111”创建图表系列并将内容添加至第112行,则自动筛选器范围将保持不变。

PS注:我也试图保持定义了一个名为范围(不使用它)固定的范围内,但是这并不能帮助/过滤器仍然会自动添加一个名为范围之外的新行。在xlsx writer中:

ocr_sma