【问题标题】:Increment a number within a formula by 2 each time每次将公式中的数字加 2
【发布时间】:2019-05-01 10:07:53
【问题描述】:

如图所示:

我在合并单元集F229:F231 中有以下公式,它可以正常工作:

=OFFSET('Food Diary'!$A$2,31*(ROWS($F$18:F229)-3),)

这会从另一个工作表中提取数据 - 在这种情况下,会提取值 73.0(在单元格区域 H229 to M231 中有类似的公式。

基本上,我希望上面OFFSET 公式末尾的-3 部分在我每次复制和粘贴三行集时增加2。因此,在F232 - F234 的合并单元集中,它将是-5,在下一个单元集中,它将是-7,然后是-9 等等。

这有点小技巧,但这会导致提取正确的数据。这不是工作电子表格,只是记录我的食物等的个人日志,所以不一定是理想的。

【问题讨论】:

  • 您可以在F232 - F234 中输入=OFFSET('Food Diary'!$A$2,31*(ROWS($F$18:F232)-3-(COUNTA($F$229:F229)*2)),) 并复制下来。
  • @jvdV 最初似乎可以工作,但是当复制下来时却不行。谢谢
  • 嗯,我无法测试您的数据,但=OFFSET('Food Diary'!$A$2,31*(ROWS($F$18:F232)-1*(3+(COUNTA($F$229:F229)*2))),) 会对此有所改变吗?还可以尝试评估公式,看看它可能会在哪里得到错误的值。
  • @JvdV 我找到了一种让它工作的方法,在数据右侧的一列中,我在三行中输入 -3,然后为每三行数据集增加 2 .然后在OFFSET公式中链接到这一列!一个黑客,但它的工作!

标签: excel excel-formula offset


【解决方案1】:

-3 更改为+2*Row()/3 + c,其中c 是一个修饰符,以确保您的第一行对齐

例如,如果第一行是第 4 行,并且您希望值为 2:

- 2 * Row() / 3 + c
- 2 * 4 / 3 + c
- 8 / 3 + c
- 2.666 + c
c = - 1/3
- 2.666 - 1/3
- 3
- 2 * Row() / 3 - 1/3

然后,当您将其复制到第 7 行时:

- 2 * Row() / 3 - 1/3
- 2 * 7 / 3 - 1/3
- 14 / 3 - 1/3
- 4.666 / 3 - 1/3
- 5

【讨论】:

  • 谢谢@chronocidal 我无法让它工作。会再试一次
  • 谢谢@chronocidal 我找到了一种让它工作的方法,在数据右侧的列中,我在三行中输入了 -3,然后每三行将它们增加 2数据集。然后在OFFSET公式中链接到这一列!一个黑客,但它的工作!
【解决方案2】:

为您的计数器使用以下公式之一,从 -3 开始,每三行更改 -2。您可以开始使用 A1 行,也可以引用当前单元格并对公式进行一些调整以获得相同的结果。

=-3-2*(ROUNDUP(ROW(A1)/3,0)-1)

or

=-3-2*(ROUNDDOWN((ROW(G229)-ROW($G$229))/3,0))

两者都可以生成您要查找的号码

您的最终公式可能如下所示:

=OFFSET('Food Diary'!$A$2,31*(ROWS($F$18:F229)+(-3-2*(ROUNDUP(ROW(A1)/3,0)-1))),)

【讨论】:

  • 谢谢@Forward Ed明天试试这个!
猜你喜欢
  • 2021-06-18
  • 2014-11-05
  • 2023-03-24
  • 2016-02-10
  • 2016-12-14
  • 1970-01-01
  • 1970-01-01
  • 2019-01-09
  • 1970-01-01
相关资源
最近更新 更多