基于行值和列的值求和 header
Sum values based on row value and column header
我们有一个 Google Sheet 文档,其中包含一个日期列,每个日期作为行值,还有多个列(其中一些具有相同的名称),我们想要求和行是特定日期且列具有特定 header 的单元格中的值。例如,在日期为 01/03/2017 的情况下,我们希望对在该日期具有 header "X" 列的所有值求和。这能做到吗?
是的,可以做到
=SUMIF($C:$J,"X",OFFSET(C3:J3,MATCH(B1,B4:B15,0)+3,0))
崩溃
=sumif($C:$J [<-header row with X],"X" [<-what we're looking for],C3:J3 [<-row to sum])
如果有 "X"(不是很有用)
,上面的公式将对 header 行求和
我使用 offset(C3:J3,[row number],0) 和 header 行范围将其下推到匹配 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 中有效,我会在表格中尝试稍后.
这是您可以粘贴到 sheet "Sum of Data"
的 A2 中的公式
=SUMIF(数据!$B$1:$J$1,B$1,OFFSET(数据!$B$1:$J$1,匹配($A2,数据!$A$2:$A,0), 0))
这一切都是关于更改原始公式以匹配您的数据,并使用 $ 正确锁定范围,以便它可以自动向下和横向填充而不会中断。
使用 INDEX
剥离 SUMIF
的相应列。
=SUMIF(A:A, G4, INDEX(A:E, 0, MATCH(H4, 1:1, 0)))
考虑 sheet 其中:
- 单元格 B1 包含感兴趣的日期(例如 01/03/2017)
- 单元格 B2 包含感兴趣的 header(例如 X)
- 单元格 B3 returns 利息总和(2017 年 1 月 3 日所有带 header "X" 的列的值)
- 第 4 行包含要评估的 header(例如 "Date"、"A"、"B"、"X"、"C"、 "X", "D")
- 后续行包含实际数据(例如,A 列中的日期和 B:G 列中的数据)
详情请参考下方link上的图片:
Example with cells of interest highlighted in yellow
下面的公式应该return预期的结果:
=SUMIF(4:4,B2,INDEX(A:G,MATCH(B1,A:A,0),0))
我使用 Google 葡萄牙语表格。所以,实际测试的公式是:
=SOMASE(4:4;B2;ÍNDICE(A:G;CORRESP(B1;A:A;0);0))
希望有用。
我们有一个 Google Sheet 文档,其中包含一个日期列,每个日期作为行值,还有多个列(其中一些具有相同的名称),我们想要求和行是特定日期且列具有特定 header 的单元格中的值。例如,在日期为 01/03/2017 的情况下,我们希望对在该日期具有 header "X" 列的所有值求和。这能做到吗?
是的,可以做到
=SUMIF($C:$J,"X",OFFSET(C3:J3,MATCH(B1,B4:B15,0)+3,0))
崩溃
=sumif($C:$J [<-header row with X],"X" [<-what we're looking for],C3:J3 [<-row to sum])
如果有 "X"(不是很有用)
,上面的公式将对 header 行求和我使用 offset(C3:J3,[row number],0) 和 header 行范围将其下推到匹配 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 中有效,我会在表格中尝试稍后.
这是您可以粘贴到 sheet "Sum of Data"
的 A2 中的公式=SUMIF(数据!$B$1:$J$1,B$1,OFFSET(数据!$B$1:$J$1,匹配($A2,数据!$A$2:$A,0), 0))
这一切都是关于更改原始公式以匹配您的数据,并使用 $ 正确锁定范围,以便它可以自动向下和横向填充而不会中断。
使用 INDEX
剥离 SUMIF
的相应列。
=SUMIF(A:A, G4, INDEX(A:E, 0, MATCH(H4, 1:1, 0)))
考虑 sheet 其中:
- 单元格 B1 包含感兴趣的日期(例如 01/03/2017)
- 单元格 B2 包含感兴趣的 header(例如 X)
- 单元格 B3 returns 利息总和(2017 年 1 月 3 日所有带 header "X" 的列的值)
- 第 4 行包含要评估的 header(例如 "Date"、"A"、"B"、"X"、"C"、 "X", "D")
- 后续行包含实际数据(例如,A 列中的日期和 B:G 列中的数据)
详情请参考下方link上的图片:
Example with cells of interest highlighted in yellow
下面的公式应该return预期的结果:
=SUMIF(4:4,B2,INDEX(A:G,MATCH(B1,A:A,0),0))
我使用 Google 葡萄牙语表格。所以,实际测试的公式是:
=SOMASE(4:4;B2;ÍNDICE(A:G;CORRESP(B1;A:A;0);0))
希望有用。