我有一个电子表格,可以跟踪用户及其所属的群组。通常情况下,我需要逐个用户,逐个组地查找匹配项并在该单元格中放置一个“X”。这是漫长而乏味的,所以我希望有人可能有更好的解决方案。
这是我的电子表格的样子:
我可以获取每个组(SharePoint)中所有用户的列表,但我需要在Excel中跟踪此信息。我认为这样的事情会开始:= if((A2 =“user1”,“user2”,“user5”,“userN”),“X”,“”)
我不确定这个公式是否有用,但这就是我背后的逻辑。我想找到一种方法,我可以轻松快速地切换名称,因为它是一个很长的列表。
答案 0 :(得分:2)
使用数据透视表,他就是可以做的事情的一个例子。
答案 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
放在那里表示“完全匹配”。