excel 如何找到每一周的每一天,然后把数字加起来?

svujldwt  于 2023-08-08  发布在  其他
关注(0)|答案(3)|浏览(125)

我有这个excel:(例如)
| 7月2日星期六|7月3日电|7月4日星期一|7月5日,星期二|7月6日星期三|07/07/0220:03:03法新社曼谷七日电|7月8日星期五|7月9日星期六|7月10日电|7月11日星期一|7月12日,周二|7月13日星期三| wed, jul 13 |
| --|--|--|--|--|--|--|--|--|--|--|--| ------------ |
| 二十块|三十块|十五块|十八块|十四块|二十四块|74美元|六十八块|四十五块|88美元|七十七块|49美元| $49 |
| 星期一的今天|星期二总数|总重量|星期四总数|FRI总数|卫星总数|(空)|(空)|(空)|(空)|(空)|(空)| (empty) |
我喜欢做的是找到一周中的每一天(从第1行开始),然后对它们下面的所有数字求和(第2行)。
在本例中,根据提供的示例表:

sum of all suns: 75

sum of all mons: 103

sum of all tues: 95

sum of all wed: 63

sum of all thur: 24

sum of all fri: 84

sum of all sat: 88

字符串
不管怎样,我可以不需要手工计算就能做到这一点?

iaqfqrcu

iaqfqrcu1#

要查找唯一的工作日,请执行以下操作:

=UNIQUE(TEXTBEFORE(A1:M1,","),1)

字符串
要获得总和,请执行以下操作:

=BYCOL(UNIQUE(TEXTBEFORE(A1:M1,","),1),LAMBDA(z,SUM((TEXTBEFORE($A$1:$M$1,",")=z)*($A$2:$M$2))))


测试结果:


的数据
如果你需要在星期天之前开始,那么就对数组进行排序。
或者在第3行手工写工作日,将此公式添加到A4中:

=SUM((TEXTBEFORE($A$1:$M$1,",")=A3)*($A$2:$M$2))


向右拖动。


3b6akqbq

3b6akqbq2#

下面是你可以动态溢出数组的方法- LAMBDA()不是必需的:
x1c 0d1x的数据
·单元格O2中使用的公式

=LET(
     a,WRAPROWS(TOCOL(A1:M2,,1),2),
     b,TEXTBEFORE(INDEX(a,,1),", "),
     c,SORT(HSTACK(b,XMATCH(b, 
     {"Sun","Mon","Tue","Wed","Thur","Fri","Sat"}),INDEX(a,,2)),2),
     d,INDEX(c,,1),
     e,UNIQUE(HSTACK("Sum of all "&d,MMULT(N(d=TOROW(d)),INDEX(c,,3)))),e)

字符串
如果需要头文件,则添加一个VSTACK()


=LET(
     a,WRAPROWS(TOCOL(A1:M2,,1),2),
     b,TEXTBEFORE(INDEX(a,,1),", "),
     c,SORT(HSTACK(b,XMATCH(b, 
     {"Sun","Mon","Tue","Wed","Thur","Fri","Sat"}),INDEX(a,,2)),2),
     d,INDEX(c,,1),
     e,UNIQUE(HSTACK("Sum of all "&PROPER(d),
     MMULT(N(d=TOROW(d)),INDEX(c,,3)))),VSTACK({"Weekdays","Total Sum"},e))


或者


=LET(
     a,WRAPROWS(TOCOL(A1:M2,,1),2),
     b,TEXTBEFORE(INDEX(a,,1),", "),
     c,SORT(HSTACK(b,XMATCH(b,{"Sun","Mon","Tue","Wed","Thur","Fri","Sat"}),INDEX(a,,2)),2),
     d,INDEX(c,,1),
     e,UNIQUE(HSTACK("Sum of all "&PROPER(d)&":"&
       TEXT(MMULT(N(d=TOROW(d)),INDEX(c,,3)),"_($* #,##0_)"))),
       VSTACK("Weekdays"&":"&"Total Sum",
     e))

kgsdhlau

kgsdhlau3#

工作日汇总


的数据

=LET(sData,A1:M2,slRow,1,srRow,2,
        dData,{"su";"mo";"tu";"we";"th";"fr";"sa"},
    dl,TOROW(dData,,3),
    sl,LEFT(INDEX(sData,slRow,),LEN(@dl)),
    sr,INDEX(sData,srRow,),
    dr,BYCOL(dl,LAMBDA(c,
        SUM(IFERROR(FILTER(sr,sl=c,0),"")))),
dr)

字符串

相关问题