如果用户存在于另一列中,请尝试使用If语句将单元格标记为“X”

时间:2013-06-18 18:11:20

标签: excel excel-formula

我有一个电子表格,可以跟踪用户及其所属的群组。通常情况下,我需要逐个用户,逐个组地查找匹配项并在该单元格中放置一个“X”。这是漫长而乏味的,所以我希望有人可能有更好的解决方案。

这是我的电子表格的样子:

enter image description here

我可以获取每个组(SharePoint)中所有用户的列表,但我需要在Excel中跟踪此信息。我认为这样的事情会开始:= if((A2 =“user1”,“user2”,“user5”,“userN”),“X”,“”)

我不确定这个公式是否有用,但这就是我背后的逻辑。我想找到一种方法,我可以轻松快速地切换名称,因为它是一个很长的列表。

2 个答案:

答案 0 :(得分:2)

使用数据透视表,他就是可以做的事情的一个例子。 enter code here

答案 1 :(得分:1)

好的,我希望我理解你的问题。

将用户复制并粘贴到工作簿中的单独工作表中(例如Sheet2),以便对于Group1,您有一个单元格,例如:

                 A
Mike Stuart, Casey Jones, Jessica Milne

在数据标签上,您可以使用Text to Column> Delimited> Comma得到这个:

     A             B              C
Mike Stuart | Casey Jones | Jessica Milne

意思是,您在一列中有一个用户。优选地,所有第1组用户都应该在这一行中。

在包含用户和组的工作表中,然后使用单元格B2中的公式并将其向下拖动:

=IF(ISNA(HLOOKUP(A2, Sheet2!$1:$1, 1, 0)), "", "X")

您可以将其他组放在第一组下方,以便Sheet2的第2行包含group2中的所有用户,Sheet2中的第3行包含第3组中的所有用户,等等< / p>

对于第2组,您将使用:

=IF(ISNA(HLOOKUP(A2, Sheet2!$2:$2, 1, 0)), "", "X")
                             ^  ^

^显示我已更改的内容。

HLOOKUP的工作原理如下:

HLOOKUP(lookup_value, table_array, row_index, [range_lookup])

lookup_value是您要查找的值,此处是最终工作表中的每个用户。

table_array是公式查找的表。在这里,它是$1:$1,因此公式会在lookup_value的第1行中查找Sheet2

row_index是1,因为我们只查看一行。如果你愿意,你可以研究如何使用它。

[range_lookup]是可选的,但默认为近似匹配,这不是您通常想要的。将0放在那里表示“完全匹配”。