Excel 成功时增加单元格引用

Excel Increment cell reference upon success

不幸的是,我无权创建宏,所以我必须使用公式进行编码。我的问题是,如果成功发生,是否可以增加单元格值。

IF(A1=B1,'Sheet1'!A1,equal)

所以我想要的是 'Sheet1'!A1 的一些函数,让它只在使用时递增。所以当我拉出公式 A1=B1 时,每个单元格都会发生变化。但是 'Sheet1'!A1 只会增加到 'Sheet1'!A2,当使用 'Sheet1'!A1 时。之后就是'Sheet1'!A2,直到出现新的增量。

     B                     C                   D 

如上图例子所示,中间一行有如下公式:

=IF(LEFT(D9,3)<>LEFT(D10,3),'2_System documentation'!D30,"See Above.")

所以真正的陈述 '2_System documentation'!D30,只有在使用时才应该改变。不使用宏可以吗?

再次尝试解释

很抱歉解释不够好。这是最具描述性的。但我会在这里尝试另一种方式:

IF(A1 = B1, true, C1),假设它成立 10 次,然后当我向下拖动公式时,我仍然想要这个结果:IF(A11 = B11, true, C1)。现在 A11 = B11 不正确,因此结果是 C1,当我继续拖动时,下一个公式应该是 IF(A12 = B12, true, C2)。这样 C 只有在被使用时才会增加。希望这更准确?

代码尝试

Struct Cell;

New savedCell = excel.sheet.cell(C1);


Cell Function(cell1,cell2)
{
    Cell Temp = null;
    If(cell1 == cell2)
    {
        Temp = new cell{True};
    }
    Else
    {
        Temp = savedCell;
        savedCell = excel.sheet.cell(C2)
    }
    return Temp;
}

其中 struct Cell 对应于一个 excel 单元格。

savedCell,是对应于仅在成功时才递增的单元格的单元格。

这是否可以在您下拉并填充所有单元格的公式中执行。或者我需要一个宏。

好的,以我糟糕的英语可能不太容易解释,但我会尝试的。

首先,我假设您有 3 列,A B 和 C。前 2 列是您要比较的数据,C 列是您希望作为结果看到的数据,但您希望在以下情况下看到以下结果满足特定条件。我在 excel

中创建了以下 table

在那 table 中,我使用 D 列从第二个单元格 (D2) 开始使用以下公式查找 C 列所需的行号:

=IF(A1=B1,D1,D1+1)

之后的 D 列是您想要的结果,公式如下:

=IF(A2=B2,TRUE,INDIRECT(F2))

其中E列为C列递增条件的地址,公式:

="C"&D2

希望这能解决您的问题。

更新: 我忘了提到第一行是 headers 除了 D 列。我把 1 放在那里作为公式。您可能需要将该 1 保留在 D 列的第一个单元格中。

如果我正确理解了您的预期用途,我认为这应该可以在不需要辅助列的情况下工作。

对于第一个条目,我假设 A1=B1 并且您想从 C1 中提取标题。下面假设"target"列为D,对于D1,只要让其等于C1即可。对于该列的其余部分,您可以为该列的其余部分输入:

=IF(A2=B2,D1,INDEX(C:C,MATCH(D1,C:C,0)+1))

基本上,D 列列出了标题。如果在行 n An=Bn 中,Dn 将列出与其上方的单元格相同的标题,即 D(n-1)。如果 An=/=Bn,Dn 将从 C 列中提取下一个标题。