Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 基于列标题动态求和行值?-擅长_Excel_Excel Formula - Fatal编程技术网

Excel 基于列标题动态求和行值?-擅长

Excel 基于列标题动态求和行值?-擅长,excel,excel-formula,Excel,Excel Formula,需要以下链接中发布的查询的解决方案, 应将PersonWeek作为单独的列显示,并显示周数总和 任务:根据列标题动态求和行值?在本网站上重新发布完整的问题是一种很好的形式;然而: 你要找的是相对直接的。有很多方法可以实现这一点,但我建议您结合使用“匹配”函数和“偏移”函数。偏移功能基于给定的起点创建一个范围,按指示向上/向下/向左/向右移动,并具有给定的高度/宽度。例如: =偏移量(B2,1,2,3,4) 指示范围D3:G5。这是从单元格B2开始,向下移动1行,向右移动2列,总共移动3行和4列

需要以下链接中发布的查询的解决方案,

应将PersonWeek作为单独的列显示,并显示周数总和


任务:根据列标题动态求和行值?

在本网站上重新发布完整的问题是一种很好的形式;然而:

你要找的是相对直接的。有很多方法可以实现这一点,但我建议您结合使用“匹配”函数和“偏移”函数。偏移功能基于给定的起点创建一个范围,按指示向上/向下/向左/向右移动,并具有给定的高度/宽度。例如:

=偏移量(B2,1,2,3,4)

指示范围D3:G5。这是从单元格B2开始,向下移动1行,向右移动2列,总共移动3行和4列得到的范围

因此,剩下的一点是确定偏移的起点和终点

首先,偏移函数中的第一个字段是单元格A1,因为它是数据表的左上角。要找到要向下移动的行数,您需要找到所指的项目(我假设单元格A6是您输入所关心的项目名称的位置,单元格A7是您输入所关心的第一周的位置,单元格A8是您输入所关心的最后一周的位置)。要查找要从A1向下移动的行数,请使用“匹配”:

=匹配(A6,A2:A5,0)

要查找要向右移动以查找第一周的列数,请再次使用“匹配”:

=匹配(A7,B1:G1,0)

假设您只想查看单个项目,我们就知道希望范围有多高(1)

要了解我们希望的范围有多广,我们需要知道您的结束周,而不是开始周:

=(匹配(A8,B1:G1,0)-匹配(A7,B1:G1,0))

所以整个事情都将是

=偏移量(A1,匹配(A6,A2:A5,0),匹配(A7,B1:G1,0),1,匹配(A8,B1:G1,0)-匹配(A7,B1:G1,0))

现在唯一剩下的就是将新定义的范围包装到“sum”函数中,如下所示:

=和(偏移量(A1,匹配(A6,A2:A5,0),匹配(A7,B1:G1,0),1,匹配(A8,B1:G1,0)-匹配(A7,B1:G1,0)))

如果有人以表格中找不到的方式输入项目名称/周名称,此公式将产生错误-因此在单元格A6-A8中,您可能希望使用数据验证仅允许输入这些名称-如果您希望详细说明,请告知我