从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分钟。 不过,他们的做法略有不同,所以我也会把我的。