MS Excel:我如何使单元格引用variables?

我可能没有正确地说出这个标题,所以让我解释一下我正在尝试做什么。

我需要find一系列数据的周期。 假设我在Excel电子表格的A列中填写了所有数据。 如果我正在查找的一个条件在单元格A7中是正确的,我想检查它是否在每个第二个单元格中都是真实的(A9,A11,A13等等)。 如果在每个第二个单元格中都不是这样,我想调整模型来检查从A7单元格开始的每个第三个单元格(A10,A13,A16,等等)。 如果在每个第三个单元格中条件不成立,那么我想检查每个第四个单元格(A11,A15,A19等)。

使用IF或AND公式来编程公式以检查条件是否真实应该是比较容易的。 我的问题是如何改变模型从每个第二个单元格切换到每个第三个单元格,然后运行它来检查每个第四个单元格,依此类推。 我想,例如,在列B中设置公式,并将单元格C1作为用户input,以确定在列B中的公式中使用了哪些单元格。有没有办法做到这一点?

例如:如果单元格C1表示“2”,则列B中的公式检查列A中的每个其他单元格,如果将单元格C1中的值从“2”更改为“3”,则列B中的公式从检查每一个第二个细胞检查每个第三个细胞并向我报告。

我可以手动更改B列公式中的单元格引用,但这可能需要血腥的年龄,我认为这应该是一个更好的方法。

所以我正在寻求在某种意义上使单元格引用“variables”。 而不是硬编码的单元格引用,并说“看看单元格A7,然后看单元格A9,然后看单元格A11 …”我想告诉Excel“看看A7,然后看看下一个单元格取决于我说什么在单元格C1“。

下面的图片显示了我的设置:

在这里输入图像说明

我在列A中有简单的数据。列B确定是否应评估C中的公式。 例如,B2包含以下公式:

=IF(MOD(ROW(A2),$D$2)=0,1,0) 

C列将包含您想要应用的逻辑。 在这种情况下,如果B是1,则返回A中的数据; 否则,我返回“”:

 =IF(B2=1,A2,"") 

D列确定要跳过的行数。

如果你只需要一列,这个公式将会在B1中,你可以将它拖下来。 更新$ A $ 1:$ A $ 20范围以包含您的整个范围。 这个公式将检查循环中的前一个单元格(每个2,3,4等)是否匹配。

 =IF(AND(ROW()>$C$1,MOD(ROW(),$C$1)=0),INDEX($A$1:$A$20,ROW()-$C$1)=$A1,"") 

不要使用间接的…永远。