选择包含特定下拉值的行

问题描述 投票:0回答:2

我有以下 Google 电子表格文件:

“人”表:
The

和“项目”表:
The

如您所见,我使用数据验证在“人员”表中添加了“项目”下拉列表,以便我可以指示每个人正在进行哪些项目。

现在我想要是在“项目”表中拥有某种“反向引用”,这样我就可以使用“人员”表中的数据来查看每个项目中的所有人员。

在第二张屏幕截图中,您可以使用以下公式看到我失败的尝试之一:

=TEXTJOIN(", "; TRUE; QUERY(People!$A$2:$B; "SELECT A WHERE B CONTAINS '" & A2 & "'"))
。问题是 1) 对于没有人参与的项目会返回错误
#N/A
,2) 最重要的是,有些人匹配不正确。例如,对于 Project 1,当 CALLISON Edgar 不在该项目中时,他会被匹配,可能是因为他的项目
31
中有一个
1
,因此与公式匹配。

我该如何解决这个问题?

google-sheets google-sheets-formula
2个回答
0
投票

您可以使用

IFNA
来隐藏错误,并使用
MATCHES
字边界 而不是
CONTAINS

=IFNA(TEXTJOIN(", "; TRUE; QUERY(People!$A$2:$B; "SELECT A WHERE B MATCHES '\b" & A2 & "\b'")))

0
投票

另一种选择:使用过滤器

您可以使用以下公式:

=BYROW(A2:A100,LAMBDA(y, JOIN(", ",TRANSPOSE(IFERROR(FILTER(People!$A$2:$A,BYROW(People!$B$2:$B,LAMBDA(w,OR(BYCOL(split(w,","),LAMBDA(x,x=y)))))))))))

输入:

对于输入,我在项目 Id 8 中添加了

SMITH Jack
来测试多个条目。

input

输出:

output

© www.soinside.com 2019 - 2024. All rights reserved.