展开Excel公式而不引用前一个单元格
我正在尝试使用IF语句来检查另一个Excel工作表中两个单元格的总和是否大于或等于1。
对于名为Test1
并具有列C
中感兴趣的值的表,这是我目前为止的工作正常的: =IF((Test1!C1+Test1!C2>=1),1,0)
在B
的第二张表格中,我将称之为Test2
,我想将这个公式复制下来200,000
行。 但是,如果上述公式在单元格B1
,对于B2
的公式,我希望公式为: =IF((Test1!C3+Test1!C4>=1),1,0)
我想复制下列公式的列,以便第一行中的公式中的第二个单元格引用不会成为第二行中的公式中的第一个单元格引用(例如,它会去C1+C2
,然后C3+C4
, C5+C6
等)。
我已经尝试手动input几行的公式,突出显示这些,并将其复制下来,但无法获得所需的单元格引用模式。 如果我突出显示并将这三个公式向前拖动三行,则C4
和C5
会重复,而不是正确的一对。
=IF((Test1!C1+Test1!C2>=1),1,0) =IF((Test1!C3+Test1!C4>=1),1,0) =IF((Test1!C5+Test1!C6>=1),1,0) =IF((Test1!C4+Test1!C5>=1),1,0) =IF((Test1!C6+Test1!C7>=1),1,0) =IF((Test1!C8+Test1!C9>=1),1,0)
我已经尝试在这个公式内使用OFFSET()
,但不能得到它的工作。 我基本上只想为公式中的每个单元格引用添加1
,与前一行相比(但实际上不会将该单元格的值加C1+1
,例如, C1+1
会发生这种情况)。
任何有识之士将不胜感激!
如果你打算复制下来200K行,那么你会想要绝对最简单的公式,完成蹒跚。 避免易失性OFFSETfunction,或准备花费大量时间等待随机计算周期完成。 只要工作簿中的任何内容发生更改,volatile函数就会重新计算; 而不仅仅是当细胞中涉及公式的变化时。
=--(SUM(INDEX(Test1!C:C, (ROW(1:1)-1)*2+1), INDEX(Test1!C:C, (ROW(1:1)-1)*2+2))>=1)
下面的公式应该可以做到这一点:
=(SUM(INDIRECT("C"&ROW()*2-1);INDIRECT("C"&ROW()*2))>=1)*1
这就是使用IF
的版本:
=IF(SUM(INDIRECT("C"&ZEILE()*2-1);INDIRECT("C"&ROW()*2))>=1;1;0)
你说我基本上只是想在公式中的每个单元格引用中加上'1',但似乎是增加2
,所以我很困惑,但是一个选项可能是将现有的公式应用到400,000行,加上=ISODD(ROW())
,然后过滤另一列以select并删除显示为FALSE
。
Excel的自动填充function将不会执行您要查找的2格移位。 您可以使用那里的function。
Put =IF((Test1!C1+Test1!C2>=1),1,0)
在顶部单元格中,并将副本拖到第二行(它将=IF((Test1!C2+Test1!C3>=1),1,0)
但没关系)。 现在,把'A'和'B'放在下一列。 select所有4个单元格,并将它们复制到400k行。
使用filter删除用'B'标记的行并删除空行。
(使用[F5]
select空白行,单击Special
,然后selectBlanks
,然后右键单击并删除)
这是你所需要的。 这是快速和非易失性的。
=--(SUM(INDEX(Test1!C:C,ROW(1:1)*2-2):INDEX(Test1!C:C,ROW(2:2)*2-2))>=1)
只要你喜欢把它复制下来。