首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果列中出现条件,则为Excel 2010

如果列中出现条件,则为Excel 2010
EN

Stack Overflow用户
提问于 2015-07-22 21:12:15
回答 3查看 39关注 0票数 0

我真的不确定如何命名标题,但我想这就是对它的描述。

我想在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个剩余小时。

我希望我的目标是明确的,如果有人愿意帮助我,我将不胜感激。

EN

回答 3

Stack Overflow用户

发布于 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)

票数 0
EN

Stack Overflow用户

发布于 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")

票数 0
EN

Stack Overflow用户

发布于 2015-07-22 21:32:29

你的问题相当简单,需要3个函数。首先,它需要公式索引和匹配的组合(这类似于VLOOKUP,如果你熟悉它,但它允许你的‘索引列’在你的‘结果列’的右边)。从匹配公式开始-它在表2中查找与表1中的名称匹配的行假设表1中的名称在列A中,表2中的名称在sheet2上的列C中;此公式适用于表1中的第二行

代码语言:javascript
复制
=Match(A2,sheet2!C:C,0)

然后在INDEX函数中使用它,该函数为您提供指定行号的给定列中的数据:

代码语言:javascript
复制
=Index(sheet2!B:B,Match(A2,sheet2!C:C,0))

然后,从当前可用小时数中减去,并将其封装在IFERROR函数中-该函数使用上面的索引和匹配检查是否找到了一个值。如果找到一个值,它会保留它;如果找到一个错误,我们告诉它给出"“。

代码语言:javascript
复制
=Iferror(B2-Index(sheet2!B:B,Match(A2,sheet2!C:C,0)),"")

仅此而已-只需向下拖动以获取其余的table1数据。

编辑请注意,表2中的相同名称有多个结果;因此,正如其他答案所建议的那样,SUMIFS是必需的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31564197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档