在没有安装VBA或宏的情况下,有可能在Excel中迭代(循环)一组行吗?Web搜索没有产生任何有用的结果。
=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。
6条答案
按热度按时间pn9klfpd1#
获取公式结果的方法是从新工作表开始。
在单元格A1中填入公式
将该单元格向下复制到第40行在单元格B1中输入公式
在单元格B2中填入公式
将该单元格向下复制到第40行。
现在,所需的值就在第40行的该列中。
不是你真正想要的答案,但这是最快的方法来完成事情excel明智的,而不需要创建一个自定义公式,在一个范围内,使计算(这将是更有趣的做法)。
5f0d552i2#
我只是在找类似的东西:
我想把每一个奇数行和列相加。
SUMIF
有两个可能的范围,一个是 sum from 的范围,另一个是 consider criteria in的范围。此函数将考虑B范围内的单元格是否为“=1”,只有在为“= 1”时,它才会对相应的A单元格求和。
为了使“=1”返回到B范围内,我将以下内容放入B中:
然后自动填充,得到要填充的模数,你可以在这里输入一个可计算的条件,得到你需要循环通过每个单元格的SUMIF或SUMIFS条件。
比数组的东西更容易,并隐藏了循环的后端!
yvfmudvl3#
我自己来回答这个问题(如果我错了,请纠正我):
如果未安装VBA/未启用宏,则无法在Excel中迭代一组行(如数组)。
vzgqcmou4#
您可以在计算电子表格的某个位置创建一个表,为每对单元格执行此操作,然后使用自动填充来填充它。
将该表中的结果聚合到结果单元格中。
引用结果的200个so单元格可以引用保存聚合结果的单元格,在最新版本的excel中,为了便于阅读,你可以命名结果单元格并引用它。
7qhs6swi5#
当你的变量循环以不同的速率重复时,添加更多的列。我不清楚你想做什么,但是我想我已经做了一些可以应用的事情。
在Excel中创建一个循环非常简单。它实际上为你完成了这项工作。在一个新的工作簿上试试这个
1.在A1中输入“1”
1.在A2中输入“=A1+1”
向下拖动时,A3将自动变为“=A2+1”。第一步不必那么明确。如果您只在A2中输入“2”,Excel将自动识别模式并计数,但如果我们希望B1-B5为“100”,B5-B10为“200”,(以同样的方式计数)你可以明白为什么知道如何明确地做它很重要。在这个场景中,你只需输入:
当你向下拖动时,B7会自动变为“=B2+100”等,所以基本上它每5行无限增加一次。要在A列中循环数字1-5:
1.在单元格A6中输入“=A1”。向下拖动时,单元格A7中的值将自动变为“=A2”,依此类推,这是Excel的工作方式。
现在,A列重复数字1-5,而B列每5个单元格增加100。例如,您可以使用与A列相同的方法,使B列重复数字100-900,以生成,例如,每个可能的组合都有多个变量。向下拖动列,它们会无限地执行。我没有明确地解决给定的场景,但是如果您遵循这些步骤并理解了它们,那么这个概念应该可以为您提供一个解决问题的答案,这个问题涉及到添加更多的列并将它们集中或用作变量。
1mrurvl16#
@Nat给出了一个很好的答案。但是既然没有办法缩短代码,为什么不使用concatenate来“生成”你需要的代码呢?当我很懒的时候(在单元格中输入整个代码),它很管用。
因此,我们需要做的只是识别模式〉使用excel构建模式'structure'〉添加“=“并将其粘贴到预期的单元格中。
例如,你想达到(我的意思是,在单元格中输入):
我没有键入它,我只是使用“&”符号来合并Excel中的排列单元格(另一个文件,而不是我们正在处理的文件)。
请注意:
第1部分〉
IF('testsheet'!$C$
第2部分〉
1 to 40
第3部分〉
<= 99,'testsheet'!$A$
第4部分〉
1 to 40
第5部分〉
,"") &
现在选择A2:I2,并向下拖动它。注意,数字是每增加一行就增加一个,并且生成的文本是逐单元格和逐行合并的。
结果=按预期编码。
我已经使用Excel/OpenOfficeCalc来帮助我为我的项目生成代码。对我有效,希望对其他人有帮助。(: