在VLOOKUP中使用COUNTIF完成课程

时间:2018-10-10 21:26:38

标签: excel-formula

学生必须完成4门课程。我的查询按招生条件吸引所有学生,并且仅包括他们已完成的课程。如何确定哪个学生错过了这四门课程中的一门或多门?

需要取消哪些学生没有列出所有四个课程。

STUDENT ID  NAME    SUBJECT COURSE
1010293 Smith, Joe  ENGL    10803
1010293 Smith, Joe  MATH    10283
1039283 Todd, Don   ENGL    10803
1039283 Todd, Don   MATH    10283
1039283 Todd, Don   ECON    10233
1767289 Park, Kim   ENGL    10803
1767289 Park, Kim   MATH    10283
1767289 Park, Kim   ECON    10223
1767289 Park, Kim   ECON    10233

V Look Up   
ID# 1010293
Name    Smith, Joe
ENGL 10803  complete
ECON 10223  missing
ECON 10233  missing
MATH 10283  complete

1 个答案:

答案 0 :(得分:0)

有很多方法可以做你想要的。对我来说,最直接的方法是在第二个工作表上创建一个矩阵。您可以使用以下步骤。

  1. 打开一个新的工作表。第一行可能包含标题:

    Student No | Student Name | Engl 10803 | Math 10283 | Econ 10223 | Econ 10233 
    
  2. 复制Column A中的学生ID列表。突出显示粘贴的ID,并使用Excel的删除重复功能清除重复的数字。 Data>Data Tools>Remove Duplicates

  3. 如果要输入学生姓名,请使用VLOOKUP。类似于新工作表=VLOOKUP(A2,Sheet1!$A$2:$B$10,2,FALSE)中的B2

  4. 使用IF数组函数来确定这些学生是否参加了这些课程。根据您的测试数据,以下功能似乎起作用。

    =SUM(IF($A2=Sheet1!$A$2:$A$10,IF(Sheet1!$C$2:$C$10&" "&Sheet1!$D$2:$D$10=Sheet2!C$1,1,0),0))
    
  5. 这是一个数组函数,因此将其复制并粘贴到C2中,然后使用ctrl+shift+enter提交该函数。然后,您可以将该单元格复制并粘贴到测试数据中的学生C2:F4范围内。

该功能之所以有效,是因为Sheet1!$C$2:$C$10&" "&Sheet1!$D$2:$D$10以与第二页的列标题相同的格式返回主题和课程编号。

  1. 为了便于排序,您可以应用过滤器或表格格式Home>Styles>Format as TableData>Sort and Filter>Filter