我真的不确定如何命名标题,但我想这就是对它的描述。
我想在Excel 2010中创建一个表,它看起来像下面这样:
Table1:
不是的。名称|可用小时|剩余小时数
1|约翰| 40 |10
2|皮特| 35 |3
3|简| 24 |3|简
Table2:
不是的。客户端|所需时长|谁?
1|客户端1|4| John |
2|客户端2| 16 |简
3|客户端3|8| Pete
4|客户端4|9| John |
在表1的“剩余小时数”一栏中,我希望公式生效。公式必须根据它所在行的名称进行检查,如果它出现在表2中,如果出现,则取“所需小时数”。然后取“可用小时数”,减去“所需小时数”,并将结果输出为“剩余小时数”。
在本例中,John应该有27个剩余小时,Pete应该有27个剩余小时,而Jane应该有8个剩余小时。
我希望我的目标是明确的,如果有人愿意帮助我,我将不胜感激。
发布于 2015-07-22 21:24:31
表2中额外的(E)列,向下填充:=SUMIF($D$2:$D$5,D2,$C$2:$C$5)
表1中的最后一列,向下填充:=C2-INDEX('table 2'!E:E,MATCH('table 1'!B2,'table 2'!D:D,0),0,1)
发布于 2015-07-22 21:28:46
我认为您应该使用SUMIFS函数:
http://www.techonthenet.com/excel/formulas/sumifs.php
因此,您的剩余小时数列将如下所示:
=SUMIFS([Table2]$C$2:$C$5,[Table2]$D$2:$D$5,"=B2")
发布于 2015-07-22 21:32:29
你的问题相当简单,需要3个函数。首先,它需要公式索引和匹配的组合(这类似于VLOOKUP,如果你熟悉它,但它允许你的‘索引列’在你的‘结果列’的右边)。从匹配公式开始-它在表2中查找与表1中的名称匹配的行假设表1中的名称在列A中,表2中的名称在sheet2上的列C中;此公式适用于表1中的第二行
=Match(A2,sheet2!C:C,0)然后在INDEX函数中使用它,该函数为您提供指定行号的给定列中的数据:
=Index(sheet2!B:B,Match(A2,sheet2!C:C,0))然后,从当前可用小时数中减去,并将其封装在IFERROR函数中-该函数使用上面的索引和匹配检查是否找到了一个值。如果找到一个值,它会保留它;如果找到一个错误,我们告诉它给出"“。
=Iferror(B2-Index(sheet2!B:B,Match(A2,sheet2!C:C,0)),"")仅此而已-只需向下拖动以获取其余的table1数据。
编辑请注意,表2中的相同名称有多个结果;因此,正如其他答案所建议的那样,SUMIFS是必需的。
https://stackoverflow.com/questions/31564197
复制相似问题