如何在非并发 Excel 单元格上执行相同操作

如何在非并发 Excel 单元格上执行相同操作

我正在尝试在 Excel 上的一系列非并发单元格上执行相同的操作。

假设我有范围 C:C,在这个范围内我需要执行此操作。我如何让它对单元格、等IF(ISNUMBER(C2),(C2*A2),(0))一遍又一遍地执行相同的操作,这样我最终会得到类似这样的结果:C9C16C23
IF(ISNUMBER(C2),(C2*A2),(0))+IF(ISNUMBER(C9),(C9*A9),(0))

将结果发布到工作表上任意位置的一个单元格中。

谢谢,

萨尔

答案1

假设你想要从第 2 行开始的每第七行

=SUM(IF(ISNUMBER(A:A),A:A,0)*IF(ISNUMBER(C:C),C:C,0)*(MOD(ROW(A:A),7)=2))

解释

IF(ISNUMBER(A:A),A:A,0)是工作表列的一个版本A,其中任何非数字单元格都用零替换。同样,对于IF(ISNUMBER(C:C),C:C,0)

(MOD(ROW(A:A),7)=2)仅仅是工作表的一个完整列TRUE,并FALSE根据工作表行号是否属于序列 2,9,16,23,... 的一部分。

Excel 允许将大小相同的数组相乘,结果是一个大小相同的数组,其单元格由“输入”数组的相应单元格相乘而来。此外,在 Excel 中,将数字乘以TRUEFALSE分别相当于乘以 1 或 0。

替代公式

=SUM(IF(ISNUMBER(C:C),A:A*C:C,0)*(MOD(ROW(A:A),7)=2))

仅当全部列的元素A要么为空,要么为数字。如果任何列的元素(单元格)A是文本,并且对应的列元素C是数字,则对应的元素的A:A*C:C含义也将计算#VALUE!为该SUM值。

笔记

给出的公式允许使用全部列AC。您可能不想“隔离”所有这些列。例如,如果您知道“总和”中的行数永远不会超过 100 行(以便要包括的最后一行不会在第 695 行之后),则可以将其修改为

=SUM(IF(ISNUMBER(A2:A695),A2:A695,0)*IF(ISNUMBER(C2:C695),C2:C695,0)*(MOD(ROW(A2:A695),7)=2))

相关内容