有没有办法在Excel中隐藏行或列而不使用VBA?

我知道几种使用macros(VBA)来显示/隐藏Excel中的列和行的方法,但我无法弄清楚或find一种方法来使用公式或条件格式。 特别感兴趣的是Excel 2007 – 但是我很想知道是否有人在任何版本的Excel中设法做到这一点。

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

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

如果你不喜欢VBA,把这样的列表和表格结合起来真的很强大,但不幸的是,VBA真的是这种东西的解决scheme。

您可能需要第三张表格(或者在您指定date的地方使用第二张表格),并使用HLOOKUPS或MATCHfunction。

1)根据你的date范围,使用一个函数dynamic地填充你所需要的列标题。 所以在B1你会把= StartDate

2)单元格C1将= IF(B1 + 1 <= EndDate,B1 + 1,“”),并根据您对某个时期人们可能查找的时间

3)向下和向右的单元格B2将使用您的HLOOKUP()或OFFSET(MATCH())组合的首选项,并结合IF来确定是否需要它。 例如B2将是= IF(B $ 1 <>“”,HLOOKUP(B $ 1,DataRange,row(B2),false),“”),并根据需要向下复制。

然而,上面关于转置数据,然后使用数据透视表的build议,与您的数据(即IF(AND(date> = StartDate,date<= EndDate),“显示”,“隐藏”)旁边的帮手列和然后过滤页面字段中的“显示”。

对不起,没有VBA就不会发生。 (但有人certificate我错了)