![按部分自动填充或以另一个单元格为条件](https://linux22.com/image/1439352/%E6%8C%89%E9%83%A8%E5%88%86%E8%87%AA%E5%8A%A8%E5%A1%AB%E5%85%85%E6%88%96%E4%BB%A5%E5%8F%A6%E4%B8%80%E4%B8%AA%E5%8D%95%E5%85%83%E6%A0%BC%E4%B8%BA%E6%9D%A1%E4%BB%B6.png)
我有如下数据:
类别 日期 第 1 年 第 2 年 季节性指数 澳大利亚 8 月 9 日 1 0 0.060465116 澳大利亚 8 月 16 日 6 0 0.362790698 澳大利亚 8 月 23 日 2 1 0.181395349 BVE 9-8 月 2 0?
我想自动填充季节性指数列。但是,这些单元格的代码如下所示:
=(D55+E55)/SUM($D$55:$E$67)*$H$1
其中H1
是一个常数,但正如您所见,每个索引都取决于该类中第 1 年(Yr1
)和第 2 年(Yr2
)的所有值的总和。当类发生变化时,我希望自动填充更改为下一部分。
显然,在这种情况下,正常的自动填充不起作用,因为单元格被锁定了。如果有帮助的话,每个部分正好是 13 行。
答案1
我不确定这对您来说是否可行,但您可以尝试:1. 使用与类名完全相同的名称命名每个范围。2. 将总和替换为:=(D55+E55)/SUM(INDIRECT(A55))*$H$1,假设 A55 是包含类名的单元格。
当然,首先命名范围有点麻烦,这取决于您使用此电子表格的频率以及是否经常以完全相同的格式重复使用它。
答案2
如果您想要一个表达式,SUM($D$55:$E$67)
当它在第 55-67 行被评估时,其计算结果为SUM($D$68:$E$80)
,当它在第 68-80 行被评估时,其计算结果为,等等,请使用
SUM(OFFSET($D$3, 13*INT((ROW()-3)/13), 0, 13, 2))
(将其插入到您的完整公式中。)行号 55 到 67 转换为 52 到 64(通过减去 3),得到 4 到 4.923(通过除以 13),所有这些都通过 转换为 4。INT()
然后乘以 13,回到 52,并使用该值作为 的偏移量,D3
得到D55
。
或者,若要将 D 列和 E 列中的值添加到与 A 列中的值相同的行中,请使用
(SUMIF($A$1:$A$999, $A1, $D$1)+SUMIF($A$1:$A$999, $A1, $E$1))
它的作用与我刚才描述的几乎完全相同。将 1 和 999 替换为您有类数据的行范围。
似乎应该可以将上述内容合并为一个SUMIF
(或者可能SUMIFS
)将 D 列和 E 列相加,但我无法弄清楚。