从Excel或Google电子表格列中提取关键字

我有一个面试回答的列表,并希望从关键字的定义列表中提取关键字,并在面试问题旁边的列中列出它们(用逗号分隔)。 请参阅图片以供参考。

我可以使用一个公式吗? 还是VBA? 或谷歌床单脚本/附加?

感谢您的帮助! 电子表格

在Excel中:

=TEXTJOIN(",",TRUE,IF(ISNUMBER(SEARCH($A$8:$A$11,A1)),$A$8:$A$11,"")) 

作为一个数组公式。 在退出编辑模式时,需要使用Ctrl-Shift-Enter而不是Enter来确认。

在这里输入图像描述


如果您无法访问Excel中的TEXTJOIN(),请将其放入模块中,然后使用上述公式。

 Function TEXTJOIN(delim As String, skipblank As Boolean, arr) Dim d As Long Dim c As Long Dim arr2() Dim t As Long, y As Long t = -1 y = -1 If TypeName(arr) = "Range" Then arr2 = arr.Value Else arr2 = arr End If On Error Resume Next t = UBound(arr2, 2) y = UBound(arr2, 1) On Error GoTo 0 If t >= 0 And y >= 0 Then For c = LBound(arr2, 1) To UBound(arr2, 1) For d = LBound(arr2, 1) To UBound(arr2, 2) If arr2(c, d) <> "" Or Not skipblank Then TEXTJOIN = TEXTJOIN & arr2(c, d) & delim End If Next d Next c Else For c = LBound(arr2) To UBound(arr2) If arr2(c) <> "" Or Not skipblank Then TEXTJOIN = TEXTJOIN & arr2(c) & delim End If Next c End If TEXTJOIN = Left(TEXTJOIN, Len(TEXTJOIN) - Len(delim)) End Function 

在Google表格中:

 =Join(",",filter($A$8:$A$11,ISNUMBER(SEARCH($A$8:$A$11,A1)))) 

在这里输入图像描述

我试图添加这个作为评论,但我没有声望呢! 无论如何,我想我find了你正在寻找的东西。 在你的例子中,你会想要类似的东西

  =IF(ISERROR(SEARCH("*startup*",A1,1)),"","startup, ") 

并把它放在你的输出单元格中。

资源

编辑:我看到后,我贴了斯科特打我3分钟。 不过,他们的做法略有不同,所以我也会把我的。