Excel:从列A获取所有值,其中列B等于所选值

时间:2017-03-21 10:42:57

标签: excel excel-formula excel-2010

我对所有团队及其各自的团队成员都很擅长。

在同一个excel文件中,我有一张表格,您可以在其中选择一个团队,并根据该值填写该表格中单元格中所有团队成员。

目前我有一个解决方案,用户需要过滤成员列表,只包含他/她的团队成员,并具有以下功能:

=TEXTJOIN(",",TRUE,'Team members'!A2:A13)

我现在需要编辑此公式,以确保我只获得所选团队的成员(而不是硬编码团队成员)。

团队成员表:

Team Members

在第二张表(CoverSheet)中,用户需要从单元格A2中的屏幕截图中选择一个团队。根据A2中的值,B2中的结果应该更改为列出所有团队成员。

enter image description here

修改

我刚刚尝试了下面提供的解决方案但是当我在实际的Excel上尝试使用时,我得到了一个#VALUE!错误,因为结果的总长度将超过一定数量的字符。我假设这是基于本文中的评论:https://support.office.com/en-us/article/TEXTJOIN-function-357b449a-ec91-49d0-80c3-0e8fc845691c

有没有人知道如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

由于您的问题中包含公式=TEXTJOIN(",",TRUE,'Team members'!A2:A13),我假设您使用的是Excel 2016,在这种情况下,我们可以修改此公式以满足您的需求。我没有2016或Office 365所以我无法测试。

=TEXTJOIN(",",TRUE,If('Team Members'!B2:B13='CoverSheet'!B1,'Team members'!A2:A13,"")

您需要按Ctrl + Shift + Enter才能使其正常工作。感谢@Michael指出这一点。

答案 1 :(得分:1)

您可以使用TEXTJOIN函数中应用的materix公式。 类似的东西:

=TEXTJOIN(",",TRUE,IF(B:B=F3,A:A))

而不是按 ENTER ,你必须将光标放在“B:B”上,然后点击 CTRL + SHIFT + 输入。这会在您的公式中添加大括号,并将其转换为matrix formula

使用电子表格

+---+---------+--------+
|   |    A    |   B    |
+---+---------+--------+
| 1 | User    | Team   |
| 2 | User 01 | Team 1 |
| 3 | User 02 | Team 1 |
| 4 | User 03 | Team 2 |
| 5 | User 04 | Team 3 |
+---+---------+--------+

F3包含团队名称(即“团队1”)。 我目前无法访问Excel 2016,所以我不能更实用。

请考虑您所使用的this answer适用于您的公式。