function - Google表格简化中的查询功能
问题描述
我正在寻找一种简化此公式的方法,因为它必须在 17424 个唯一单元格中运行:
=IFERROR(SUMPRODUCT(QUERY('MASTER Accelo Data 1'!A:G;"Select G where (B>=date '2020-01-01' and B<=date '2020-01-31' and A matches '"&J2&"' and D matches '"&JOIN("|";$T$2:$T)&"')";0));0)+IFERROR(SUMPRODUCT(QUERY('MASTER Accelo Data 2'!A:G;"Select G where (B>=date '2020-01-01' and B<=date '2020-01-31' and A matches '"&J2&"' and D matches '"&JOIN("|";$T$2:$T)&"')";0));0)
在哪里...
MASTER Accelo Data 1!G:G + MASTER Accelo Data 2!G:G = 要求和的单元格
MASTER Accelo Data 1!B:B + MASTER Accelo Data 2!B:B= 要检查的日期
J2 = 客户 ID
MASTER Accelo Data 1!A:A + MASTER Accelo Data 2!A:A = 要检查的客户 ID
T2:T = 所有者数组
MASTER Accelo Data 1!D:D + MASTER Accelo Data 2!D:D = 要检查的所有者
希望各位大神帮忙!
解决方案
使用数组公式求解:
=ARRAYFORMULA(
QUERY(
{{'MASTER Accelo Data 1'!A2:C;
'MASTER Accelo Data 2'!A2:C}\
HVIS.FEJL(
LOPSLAG(
{'MASTER Accelo Data 1'!D2:D;
'MASTER Accelo Data 2'!D2:D};
{"OQ"\"Apprentice";"OP"\"Apprentice";
"DH"\"Associate";"KI"\"Associate";
"UY"\"Intern";"YU"\"Intern";"ER"\"Intern";
"WE"\"Intern";"KY"\"Intern";"VB"\"Intern";
"KP"\"Management";"MD"\"Management";"KL"\"Management";
"AS"\"Management";"SD"\"Management";"IGR"\"Pss";
"GTI"\"Pss";"SS"\"Pss";"SQ"\"Pss";"VD"\"Pss";
"AE"\"Senior";"A"\"Senior";"VE"\"Senior";
"KJ"\"Senior";"KO"\"Senior";"LQ"\"Senior";
"IU"\"Senior"};
2;FALSK))\
{'MASTER Accelo Data 1'!G2:G;
'MASTER Accelo Data 2'!G2:G}};
"select Col1, Sum(Col5)
where
Col3 is not null and
Col2 >= date '2020-01-01' and
Col2 <= date '2020-01-31'
group by Col1
pivot Col4
label Col1 'ID'"))
推荐阅读
- java - 如何使用方法定义字符串数组?
- php - Laravel 查询与连接表的关系
- javascript - 使用 Chrome 扩展更新页面上的 TinyMCE
- extjs - 如何在另一页面的事件中重新加载或刷新一个页面的存储数据
- c# - 将对象添加到 HashSet 属性时调用方法
- c++ - std::function 赋值在 Visual C++ 2015 Win32 应用程序中无效
- r - 从矩阵中删除 ID = NA 的行
- java - 尝试使用 ArrayList 解决用户给定方程的导数
- java - Crashlytics.app 添加新应用程序停留在“添加运行脚本”步骤
- elasticsearch - 模糊度超过 2 个字符的弹性搜索(距离)