任务完成excel功能

时间:2018-07-30 11:51:00

标签: excel if-statement excel-formula task

我有2个表,一个是DB,另一个是UI;我的EmployeeDB表是这样的:

Name:           Task 1  Task 2 Task 3
John Smith        X       X      X
Alexandra Kole    X       X             
Jane Austin               X

在我的UI表中,第一列中有员工姓名,我想显示所有任务是否已完成的状态。所以必须是这样的。

Name:            Status 
John Smith       Complete
Alexandra Kole   Incomplete
Jane Austin      Incomplete

我已将此公式粘贴到此表的“状态”列中:

=IF(EmployeeDB[Name]=B4;IF(OR(EmployeeDB[Task 1]=""; EmployeeDB[Task 2]="";  EmployeeDB[Task 3]="");  "Incomplete"; "Complete"); "n.a"). 

但这仅适用于状态表中的第一个员工,对于其他员工,即使该员工在数据库中,结果也为n.a。

请问问题出在哪里,如何解决?

3 个答案:

答案 0 :(得分:3)

尝试

=IF(COUNTA(INDEX(DB[[Task 1]:[Task 3]], MATCH([@[Name:]], DB[Name:], 0), 0))=3, "Complete", "Incomplete")

enter image description here

答案 1 :(得分:2)

这将起作用:

  

假设您的数据从B2开始,到D2结束,   像这样:

enter image description here

那么下面的公式将起作用。

=IF(COUNTA(B2:D2) = COLUMNS(B2:D2), "Complete", "Incomplete")

enter image description here

不过,此解决方案非常简化,如果要将名称与特定索引匹配,则应使用提供的@QHarr解决方案。这只能说明一个简单的解决方法。

答案 2 :(得分:2)

您已经提供了一个不错的解决方案,该解决方案避免了volatile间接。这是间接的

H2向下拖动

=IF(NOT(COUNTBLANK(OFFSET(INDIRECT(CELL("ADDRESS",INDEX(A2,MATCH($G2,$A2:$A4,0)))),,1,1,3))),"COMPLETE","INCOMPLETE")

数据

Data

相关问题