我们有一个 Google Sheet 文档,其中包含一个日期列,每个日期作为一个行值,还有多个列(其中一些具有相同的名称),我们希望将行是特定日期的单元格中的值相加,并且该列具有特定的标题。例如,日期是 2017 年 1 月 3 日,我们想要对在该日期具有列标题“X”的所有值求和。这可以做到吗?
问问题
6106 次
3 回答
0
考虑一张表,其中:
- 单元格 B1 包含感兴趣的日期(例如 01/03/2017)
- 单元格 B2 包含感兴趣的标题(例如 X)
- 单元格 B3 返回感兴趣的总和(2017 年 1 月 3 日标题为“X”的所有列的值)
- 第 4 行包含要评估的标题(例如“Date”、“A”、“B”、“X”、“C”、“X”、“D”)
- 后续行包含实际数据(例如 A 列中的日期和 B:G 列中的数据)
有关详细信息,请参阅下面链接上的图片:
感兴趣的单元格以黄色突出显示的示例
以下公式应返回预期结果:
=SUMIF(4:4,B2,INDEX(A:G,MATCH(B1,A:A,0),0))
我用葡萄牙语的谷歌表格。所以,实际测试的公式是:
=SOMASE(4:4;B2;ÍNDICE(A:G;CORRESP(B1;A:A;0);0))
我希望那是有用的。
于 2020-05-23T17:06:23.330 回答
0
是的,可以做到
=SUMIF($C$3:$J$3,"X",OFFSET(C3:J3,MATCH(B1,B4:B15,0)+3,0))
坏掉了
=sumif($C$3:$J$3 [<-header row with X],"X" [<-what we're looking for],C3:J3 [<-row to sum])
如果有“X”,上面的公式将对标题行求和(不是很有用)
我使用 offset(C3:J3,[row number],0) 和标题行范围将其下推到匹配 01/03/2017 的行
为了获得 01/03/2017 的行号,我使用了 Match() 并将 01/02/2017 放入单元格B1
MATCH(B1,B4:B15 [range of dates] ,0)
我加 3 因为我的范围从 4 开始
您可以通过替换将日期硬编码到公式B1
中
DATEVALUE("01/03/2017")
我没有在 Google 表格中尝试过这个,因为我目前没有访问权限,但它可以在 Excel 中工作,我稍后会在表格中尝试。
这是您可以粘贴到工作表“数据总和”的 A2 中的公式
=SUMIF(数据!$B$1:$J$1,B$1,OFFSET(数据!$B$1:$J$1,MATCH($A2,数据!$A$2:$A,0),0))
这一切都是为了更改原始公式以匹配您的数据,并使用 $ 正确锁定范围,以便它可以自动向下和跨越而不会中断。
于 2017-03-10T16:16:16.037 回答