1

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

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

在此处输入图像描述

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

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

4

2 回答 2

2

使用数据透视表,他是可以做什么的一个例子。 在此处输入代码

于 2013-06-18T19:21:27.683 回答
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")

您可以将其他组放在第一个组的下方,以便第 2 行包含第 2 组中的Sheet2所有用户,第 3 行包含第 3Sheet2组中的所有用户,依此类推。

对于第 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那里的意思是“完全匹配”。

于 2013-06-18T18:58:08.717 回答