【问题标题】:repeating a formula conditionally in excel 2013?在 excel 2013 中有条件地重复公式?
【发布时间】:2015-04-24 06:44:54
【问题描述】:

我正在尝试计算一个公式,然后将其拖动以将其应用于整个列,但问题是我想将 A 列的第一个单元格与 B 列的第一个单元格进行比较,然后将A列与B列的第二个单元格,然后将a列的第三个单元格与B列的第一个单元格进行比较...:

    A    B      result
1   1    4        0
2   2    5        0
3   3             0
4   4             0 
5   5             1
6   5             1

当我编写类似 if =IF((A1<Sheet1!B1),0,1) then =IF((A2<Sheet1!B2),0,1) ,=IF((A1<Sheet1!B1),0,1),=IF((A2<Sheet1!B2),0,1) 的模式时 四次,然后拖动列的公式,它开始将其与对应的=IF((A5<Sheet1!B5),0,1) 进行比较,我应该如何更改它?

编辑

在示例中,我想将单元格(1,A)与单元格(1,B)进行比较,然后将单元格(2,A)与单元格(2,B)进行比较,然后将单元格(3,A)与单元格(1, B)然后是单元格(4,A)和单元格(2,B),然后是单元格(5,A)和单元格(1,B),然后是单元格(6,A)和单元格(2,B)。 [重复模式两次然后重新开始]

【问题讨论】:

  • 那么您正在寻找的预期结果是什么?
  • @AHC,请看编辑部分
  • @pnuts - 我读这个的方式,A3 (3) 小于 B1 (4) 所以结果是 。但是,A4 (4) 小于 B2 (5),因此它也应该为零。
  • 是的@pnuts 它在不同的工作表中,我没有得到你的第二个问题?
  • @pnuts,我的错,结果是错误的。

标签: excel excel-formula excel-2013


【解决方案1】:

在 C1 中试试这个,

=--NOT(A1<OFFSET('Different Sheet'!$B$1, MOD(ROW(1:1)-1, 2), 0))

根据需要填写。你似乎只是在寻找一个 0 或一个 1 所以我已经简化了你的 IF 声明。 (注意:经过 MOD 的数学调整以提高通用性)

对于不同的倍数,您应该只需要更改MOD function除数 参数。用作ROW(1:1)ROW function 将在您填写时返回1、2、3、4、5 等。 MOD 返回除法运算的余数,因此MOD(ROW(1:1)-1, 3) 填写后将返回0、1、2、0、1、2、0 等

如果您在'Different Sheet'中的数字上使用COUNT function!B:B,您应该能够实现动态除数。

=--NOT(A1<OFFSET('Different Sheet'!$B$1, MOD(ROW(1:1)-1, COUNT('Different Sheet'!B:B)), 0))

【讨论】:

  • 感谢您的回答,但 B 列实际上在不同的工作表中。
  • @academic.user - 引用另一个工作表并不难。
  • 感谢@Jeeped,对不起,但我不是专家,在修改它时遇到问题,例如第二列是三行,我们想要比较相同但重复 3.let 说重复一些公式n 次并重新开始。
  • @academic.user - 我已经修改了 MOD function 中的数学运算,所以您只需更改 MOD 的 除数 中的 2范围。见我上面的解释。如果需要,您实际上可以使用COUNT function 来提供除数。
  • 我模拟了几乎相同的公式,只是我将 volatile OFFSET 函数替换为 INDEX 函数,例如:=IF(A1&lt;INDEX(Sheet1!B:B,MOD(ROW()-1,COUNT(Sheet1!B:B))+1),0,1)。如果此电子表格扩大规模,可能会产生显着的性能差异。
猜你喜欢
  • 2018-05-27
  • 2016-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-27
  • 1970-01-01
  • 2013-07-11
相关资源
最近更新 更多