我有一个包含一列名字的电子表格。现在,在另一张表中,我希望将上述列中的姓氏显示在下拉列表中。我怎么能这样做?
名称如下:
Surname, FirstName
同一个家庭的人也有同样的姓氏。没有姓氏相同的人属于不同的家庭。所以我有点想让姓氏找到那个家庭。
答案 0 :(得分:0)
我猜您必须将名称拆分为另一列。假设您的名称列在A1中,在B1中设置以下公式并将其复制到B行的下一个单元格中:
=SPLIT(A1;",")
然后,您可以在另一个工作表中定义下拉列表,如下所述:https://support.google.com/docs/answer/186103
答案 1 :(得分:0)
您可以创建引用该名称列表的单个数组公式,只使用regexextract拉取姓氏部分,如下所示:
=IFERROR(UNIQUE(ARRAYFORMULA(REGEXEXTRACT(A:A,"^(.*),"))))
为了解释,regexextract,我认为是一个更轻松的公式,比使用拆分功能稍微简单有两个原因:
分割函数需要将两个名称放在两个单独的单元格中,不幸的是,分割函数不适用于arrayformula。
但是由于正则表达式确实如此 - 我指定的正则表达式基本上是从单元格(.*)
的开头直到该逗号^
抓取任何文本,
。
然后我将整个函数包装成唯一的,所以你不必在你的下拉列表中处理大量的重复。
之后我使用Data Validation
指出这些独特姓氏的范围。
最后,我最后确定了一个FILTER
函数,该函数将使用以下公式根据从下拉列表中选择的姓氏填充所有相应的单元格:
=FILTER(A:A,REGEXMATCH(A:A,C1)=TRUE)
为了包装所有这些信息,这里是最终的样子图像: