如何在没有VBA或macros的Excel中循环?

是否有可能在没有安装VBA或macros的情况下迭代(循环)Excel中的一组行? 谷歌没有产生任何有用的东西。

=IF('testsheet'!$C$1 <= 99,'testsheet'!$A$1,"") & IF('testsheet'!$C$2 <= 99, 'testsheet'!$A$2,"") & IF('testsheet'!$C$3 <= 99, 'testsheet'!$A$3,"") & ... and so on through !$C$40, !$A$40 ... 

事实上,我将不得不在每个单元格重复上述代码40次,并且我有超过200个单元需要代码。 吸气

我很擅长PHP / SQL,但只是学习Excel。

获得公式结果的方法是从新表开始。

在A1单元格中input公式

 =IF('testsheet'!C1 <= 99,'testsheet'!A1,"") 

将该单元格复制到第40行在单元格B1中放入公式

 =A1 

在B2单元格中input公式

 =B1 & A2 

将该单元格复制到第40行。

您想要的值现在在第40行的该列中。

不是你想要的答案,但这是以最快的方式完成事情的明智之举,而不需要创build一个自定义的公式,这个公式可以在一个范围内进行计算(这会更有趣)。

要自己回答(如果我错了,请纠正我)

在不启用VBA /macros的情况下,无法在Excel中迭代一组行(如数组)。

我只是在寻找类似的东西:

我想总结每一个奇数行的列。

SUMIF有两个可能的范围,从中求和的范围以及考虑标准的范围。

SUMIF(B1:B1000,1,A1:A1000)

这个函数会考虑B范围内的一个单元格是否为“= 1”,如果是的话,它将把相应的A单元格相加。

为了让“= 1”返回到B范围,我把它放在B:

= MOD(ROWNUM(B1),2)

然后自动填充以获得模数来填充,您可以在这里放置和计算标准,以获得循环遍历每个单元格所需的SUMIF或SUMIFS条件。

比ARRAY的东西容易,隐藏循环的后端!

您可以在计算电子表格上的某个位置创build一个表格,对每对单元格执行此操作,并使用自动填充来填充它。

将来自该表的结果汇总到结果单元格中。

引用结果的200个单元格然后可以引用包含聚合结果的单元格。 在最新版本的Excel中,您可以命名结果单元格并以此方式引用它,以便于阅读。

如果您有以不同速率重复的variables循环,请添加更多列。 我不清楚你想做什么,但我想我已经做了一些可以应用的东西。

在Excel中创build单个循环非常简单。 它实际上为你做的工作。 试试这个新的工作簿

  1. 在A1中input“1”
  2. 在A2中input“= A1 + 1”

向下拖动时,A3将自动为“= A2 + 1”。 第一步不一定要明确。 如果你在A2中放置了“2”,Excel会自动识别该模式并计数,但是如果我们想让B1-B5为“100”而B5-B10为“200”(以相同的方式计算),你可以看到为什么知道如何明确地做到这一点。 在这种情况下,您只需input:

  1. B1中的“100”,拖到B5和
  2. 在B6中“= B1 + 100”

B7会自动变成“= B2 + 100”等等,所以基本上每5行就会无限增加。 在列A中进行数字1-5的循环:

  1. 在单元格A6中input“= A1”。 当你拖下来时,它会自动地在单元格A7等“= A2”,因为Excel做事情的方式。

所以,现在我们有A列重复数字1-5,而B列是每5个细胞增加100列。你可以使列B重复,例如,数字100-900使用与列A相同的方法例如,生成每个可能的组合与多个variables的方法。 向下拖动列,他们会无限地做到这一点。 我并没有明确地解决所给出的情况,但是如果你按照步骤去理解它们,那么这个概念应该给你一个解决问题的答案,这个问题需要增加更多的列并且把它们作为你的variables来使用。