google-sheets - 谷歌表格周/年数组公式
问题描述
我有看起来像这样的sheet1 :
和sheet2看起来像这样:
ColA: =UNIQUE(ARRAY_CONSTRAIN({"周/年";arrayformula(IF(ISBLANK(Sheet1!A$2:A);"";CONCAT(CONCAT(WEEKNUM(Sheet1!A$2:A;2);"/" );TEXT(Sheet1!A$2:A;"YY"))))};COUNTA(Sheet1!A$2:A);1))
ColB: =SUM(FILTER(Sheet1!B$2:B;ARRAYFORMULA(WEEKNUM(Sheet1!A$2:A;2)=index(SPLIT(A2;"/");0;1)))) <--I在这里需要帮助
在 sheet2 的基础上构建了一个图表:
如果周数和年份与 A 列相同(A 列是日期格式 dd.mm.yyyy),我需要从 B 列获取值的总和。我设法按周数过滤了金额,但我无法为该年添加第二张支票。请帮助我,我已经尝试了一切。
解决方案
这是你需要的(细胞A1
)吗?删除列中的值B
。
=arrayformula(query(query({Sheet1!A:B\if(Sheet1!A:A<>"";{weeknum(Sheet1!A:A;2)&"/"&right(year(Sheet1!A:A);2)\year(Sheet1!A:A)&"-"&text(weeknum(Sheet1!A:A;2);"00")};)};"select Col4,Col3,sum(Col2) where Col3 is not null group by Col4,Col3 label Col3 'Date', sum(Col2) 'Value' ";1);"select Col2,Col3";1))
笔记:
我使用一个数组{}
来获取以下 4 列:
Col1 和 Col2:Sheet1!A:B
Col3:(weeknum(Sheet1!A:A;2)&"/"&right(year(Sheet1!A:A);2)
例如 n/yy)
Col4:(year(Sheet1!A:A)&"-"&text(weeknum(Sheet1!A:A;2);"00")
例如 yyyy-nn)
Col3 和 Col4 只返回一个值,而 A 列下方有值:if(Sheet1!A:A<>"";
Col3 是图表中显示的周数和年份。
Col4 相同,但排序的格式不同。
第一个query
得到 Col4,Col3 和 Col2 的总和,然后第二个查询得到 Col3 和 sum(Col2)。
推荐阅读
- html - Django 视图打开不同的内容
- android - 如何使用 Flutter 制作“全选”和“取消全选”按钮?
- javascript - 如何调用 API 以使其返回您请求的任何内容以及如何减少 Vuejs 中的观察者数量
- sql - postgres:查询百分比执行
- spring - 将 Angular 10 与 Spring 安全连接以使用自定义登录页面时出现问题
- python - Python 错误:NameError:名称未定义
- r - 如何使用防火墙阻止 R 访问互联网?
- bash - 如何在单个文件中分析多个文本块(多行)的模式?
- jmeter - 为 ServiceNow 应用程序创建 JMeter 脚本
- linux - 如何修复来自 oh-my-zsh 的自定义别名?