我需要在 Excel 中取一行垂直数字,将它们全部相加,然后除以七。然后,我需要将结果转置为 7 个相等的行(一行代表一周中的每一天)。
我曾在 excel 中尝试过以下操作 =TRANSPOSE("=SUM(D1:D4)/7"),但后来我意识到它可能只会将数字转置到一个单元格而不是 7 个单元格,而且即使这样也不起作用!
例如,我想执行以下操作,在此示例中,我将使用 4 行而不是 7 行。但除了 7 行之外,其他操作均适用。
6
5
4
3
18 (=SUM(D1:D4))
然后 =SUM(D1:D4)/5 等于 3.6
然后我希望能够将这个结果转置为 4 个水平行,这样它看起来就会像这样
3.6 3.6 3.6 3.6
我想我可以使用以下函数 =TRANSPOSE("=SUM(D1:D4)/7")
但我在结果字段中得到的结果只有以下 =SUM(D1:D4)/5,而且只出现在第一个水平字段中。而不是全部 4 个
关于如何转置这一点,您有什么想法吗?该函数是如何编写的?
提前致谢。
****编辑 我要把它放在这里以及其中一条评论中,以便它被看到 谢谢大家,虽然答案对我来说非常有用,但规范已经改变了。他们现在还希望成本代码和描述水平关联,并为每个水平单元格分配一个日期,这可能需要编写一个相当长的宏。我对此完全没有经验,而且我正在努力使用基本功能,而且由于只有 8 周的时间表需要转移到新系统,他们认为在公司假期结束之前引用旧数据库会更容易。感谢您的回复**
答案1
您不必使用TRANSPOSE
函数来执行此操作,只需使用array formula
。
假设您有以下内容:
ColA
6
5
4
3
如果您突出显示单元格A5:G5
(作为A5
活动单元格),然后键入公式=sum(A1:A4)/5
并按ctrl+shft+enter
,它将产生以下内容:
ColA ColB ColC ColD ColE ColF ColG
6
5
4
3
3.6 3.6 3.6 3.6 3.6 3.6 3.6
更改单元格中的任何值A1:A4
都会更新所有公式总数。
答案2
我建议最简单的方法就是在第一个单元格中使用此公式
=SUM($D1:$D4)/7
然后复制到另外 6 个单元格
如果你想要一个单一的功能,这个应该可以做到
=SUM($D1:$D4)/{7,7,7,7,7,7,7}
“数组已输入”在 7 个单元格水平范围内