google-sheets - 带有 SUMIFS 的 Arrayformula 不下拉
问题描述
我已经尝试解决这个问题一段时间了。我在这里阅读了一些问题,但没有一个能解决我的问题。
我有一张包含一些股票数据的表格,我正在尝试使用 ARRAYFORMULA 计算直到那一刻的平均价格,我想要的是 ColH,但我的 ARRAYFORMULA 不会自动下拉,老实说我不明白它的原因。
https://docs.google.com/spreadsheets/d/1sRDNCyWK1LItqETYoWSOV9eiEI4mySDetlBcbupwbvk/edit?usp=sharing
我使用的公式是:
=ArrayFormula(SUM(FILTER($G$2:G2;$C$2:C2="Buy";$D$2:D2=INDEX($D2:$D;1);$A$2:A2=INDEX($A2:$A;1)))/SUM(FILTER($E$2:E2;$C$2:C2="Buy";$D$2:D2=INDEX($D2:$D;1);$A$2:A2=INDEX($A2:$A;1))))
为什么这不起作用?我也尝试过使用 SUMIFS,但它没有用。
解决方案
尝试:
=ARRAYFORMULA(QUERY(SPLIT(FLATTEN(IF(
INDIRECT("D2:D"&MAX(IF(C2:C="buy"; ROW(C2:C))))=IF(ROW(
INDIRECT("C2:C"&MAX(IF(C2:C="buy"; ROW(C2:C)))))>=TRANSPOSE(ROW(
INDIRECT("C2:C"&MAX(IF(C2:C="buy"; ROW(C2:C)))))); TRANSPOSE(
INDIRECT("D2:D"&MAX(IF(C2:C="buy"; ROW(C2:C))))); ); ROW(
INDIRECT("C2:C"&MAX(IF(C2:C="buy"; ROW(C2:C)))))&"×"&
INDIRECT("G2:G"&MAX(IF(C2:C="buy"; ROW(C2:C))))&"×"&
INDIRECT("E2:E"&MAX(IF(C2:C="buy"; ROW(C2:C)))); )); "×");
"select sum(Col2)/sum(Col3)
where Col2 is not null
group by Col1
label sum(Col2)/sum(Col3)''"))
推荐阅读
- verilog - Verilog 时钟脉冲
- java - 任何 Java IDE Intellisense 都缺少某些元素
- python - python中的Level Order Traversal,我们可以更好地优化它吗?
- python - 如何为我的 Lambda 函数创建可重复使用的 CloudFormation 模板?
- node.js - 如何更改计时器的值
- python - pytest 代码和路由的实际烧瓶会话之间的行为差异
- python - 尝试创建一个函数来搜索字符串中的单词
- ios - geocodeAddressString(String:) 上的 iOS 完成处理程序不执行语句
- firebase - 尝试更新flutter firebase中的数据时出错 - 未处理的异常:无效参数:'TextEditingController'的实例
- linux - USB 音频输入设备未列为“arecord -l”下的输入设备