有没有办法在不使用VBA的情况下隐藏excel中的行或列?

时间:2010-04-13 16:18:52

标签: excel

我知道使用宏(VBA)在Excel中显示/隐藏列和行的几种方法,但我无法弄清楚或找到使用公式或条件格式来执行此操作的方法。特别感兴趣的是Excel 2007 - 但我很想知道是否有人设法在任何版本的Excel中完成它。

对于那些想要背景的人,我有一个数据传播,其中日期在顶部,标签在第一列。我想指定一个日期窗口(在另一个工作表上)作为两个具有下拉日期(月)的单元格,然后显示/隐藏数据表上的相应列。

4 个答案:

答案 0 :(得分:3)

您可能需要第三张纸(或使用您指定日期的第二张纸),并使用HLOOKUPS或MATCH功能。

1)使用函数根据您的日期范围动态填充所需的列标题。所以在B1你要把= StartDate

2)单元格C1将= IF(B1 + 1 <= EndDate,B1 + 1,“”)并根据您对人们可能寻找的时间长度的评估,复制适当数量的列

3)向下和向右的单元格B2将使用您对HLOOKUP()或OFFSET(MATCH())组合的偏好,并结合IF来确定您是否需要它。 例如B2将是= IF(B $ 1&lt;&gt;“”,HLOOKUP(B $ 1,DataRange,行(B2),false),“”)并根据需要向下复制。

然而,上面的建议是关于转置数据然后使用数据透视表,借助辅助列和数据(即IF(AND(日期&gt; = StartDate,日期&lt; = EndDate),“显示”,“隐藏”) “)然后过滤页面字段中的”显示“。

答案 1 :(得分:2)

这不是直接回答你的问题(我强烈怀疑有一个问题),但如果你使用数据表组织数据,使数据向下而不是像简单的OLAP多维数据集一样水平,你可能会添加一个条件列,用于检查数据点是否在您的两个阈值之间,然后在数据透视表中组织您的视图。

如果您不喜欢VBA,那么组合这样的列表和表格非常强大,但不幸的是,VBA确实是这类内容的解决方案。

答案 2 :(得分:0)

抱歉,没有VBA就不会发生。 (但有人证明我错了)

答案 3 :(得分:0)

突出显示要隐藏或显示的列/行是否相邻,然后单击数据>组。 然后,您可以在灰色区域/边距中使用加号/减号来隐藏/显示行/组。