首页 > 解决方案 > 如何比较多个列聚合与 Google 表格中这些列相关的值

问题描述

我有一张项目表,它使用导入范围来收集每个用户每个项目的小时数。我想要的是一种合计这些项目时间的方法,这样我就知道每个用户在所有项目中给了我多少小时。并非所有项目都有相同数量的用户,也不是所有用户都在每个项目中。

项目的数量将始终保持增长,因此如果可能,公式需要是反应式的

我在这里做了一个样本测试表

用户主列表 全部小时数 用户 小时 用户 小时
弗雷德 5 弗雷德 3 哈利 5
鲍勃 12 鲍勃 7 弗雷德 2
库斯伯特 0 雷金纳德 4 阿尔杰农 4
塞德里克 0 鲍勃 5
阿尔杰农 4 雷金纳德 6
鲁珀特 0
雷金纳德 10
哈利 5

我曾尝试使用查询,但在尝试整理多列数据时感到困惑。可能有一种非常简单的方法可以做到这一点,我只是没有看到。

提前致谢。

编辑 1 - 我也在使用 =FILTER({I4:I;L4:L;O4:O;R4:R;U4:U;X4:X;AA4:AA;AD4:AD;AG4:AG;AJ4:AJ ;AM4:AM;AP4:AP;AS4:AS;AV4:AV;AY4:AY;BB4:BB;BE4:BE;BH4:BH;BK4:BK;BN4:BN;BQ4:BQ;BT4:BT;BW4 :BW;BZ4:BZ;CC4:CC;CF4:CF;CI4:CI;CL4:CL;CO4:CO;CR4:CR;CU4:CU;CX4:CX;DA4:DA}, LEN({I4:I ;L4:L;O4:O;R4:R;U4:U;X4:X;AA4:AA;AD4:AD;AG4:AG;AJ4:AJ;AM4:AM;AP4:AP;AS4:AS;AV4 :AV;AY4:AY;BB4:BB;BE4:BE;BH4:BH;BK4:BK;BN4:BN;BQ4:BQ;BT4:BT;BW4:BW;BZ4:BZ;CC4:CC;CF4:CF ;CI4:CI;CL4:CL;CO4:CO;CR4:CR;CU4:CU;CX4:CX;DA4:DA})) 用于整理用户和 =FILTER({I4:I;L4: L;O4:O;R4:R;U4:U;X4:X;AA4:AA;AD4:AD;AG4:AG;AJ4:AJ;AM4:AM;AP4:AP;AS4:AS;AV4:AV; AY4:AY;BB4:BB;BE4:BE;BH4:BH;BK4:BK;BN4:BN;BQ4:BQ;BT4:BT;BW4:BW;BZ4:BZ;CC4:CC;CF4:CF;CI4: CI;CL4:CL;CO4:CO;CR4:CR;CU4:CU;CX4:CX;DA4:DA}, LEN({I4:I;L4:L;O4:O;R4:R;U4:U; X4:X;AA4:AA;AD4:AD;AG4:AG;AJ4:AJ;AM4:AM;AP4:AP;AS4:AS;AV4:AV;AY4:AY;BB4:BB;BE4:BE;BH4:BH;BK4:BK;BN4:BN;BQ4:BQ;BT4:BT;BW4:BW;BZ4:BZ;CC4:CC;CF4:CF;CI4:CI;CL4:CL; CO4:CO;CR4:CR;CU4:CU;CX4:CX;DA4:DA})) 来整理小时数。

标签: google-sheets

解决方案


鉴于当前数据的结构,您可以尝试以下操作:

总计(小时总和):

=ArrayFormula(if(len(A3:A),C3:C + D3:D,""))

或者

=ArrayFormula(MMULT(C3:D12,(transpose(COLUMN(C3:D3)^0))))

项目一:

=ArrayFormula(if(len(A3:A),SUMIF(F3:F,A3:A,G3:G),""))

在此处输入图像描述

项目二:

=arrayformula(if(len(A3:A),SUMIF(I3:I,A3:A,J3:J),""))

ETC ...


推荐阅读