excel-通过添加自定义文本查找和写入

excel-通过添加自定义文本查找和写入,excel,find,Excel,Find,我有这张桌子 我需要的是一些公式,它可以使红色矩形中的东西。它还应与有源滤波器配合使用-如下所示: 同样,公式应该创建红色矩形中的文本 所以,基本上。公式应在特定列中搜索非空白单元格,然后将其内容写入新单元格,但每条记录应以“|”分隔 我可以在一个单元格中找到任何文本,然后将其写下来: =IF(ISNUMBER(SEARCH("",A1)),A1,"") 但我不知道如何在一个范围内搜索,添加自定义分隔符,并使其与活动过滤器一起工作(我想这里有一些小计) 非常感谢。我将使用VBA函数来解决您

我有这张桌子

我需要的是一些公式,它可以使红色矩形中的东西。它还应与有源滤波器配合使用-如下所示:

同样,公式应该创建红色矩形中的文本

所以,基本上。公式应在特定列中搜索非空白单元格,然后将其内容写入新单元格,但每条记录应以“|”分隔

我可以在一个单元格中找到任何文本,然后将其写下来:

=IF(ISNUMBER(SEARCH("",A1)),A1,"")
但我不知道如何在一个范围内搜索,添加自定义分隔符,并使其与活动过滤器一起工作(我想这里有一些小计)


非常感谢。

我将使用VBA函数来解决您的问题:

公共函数串接特殊(rng作为范围)作为字符串
变暗rng1 As范围
连接特殊=“”
对于rng中的每个rng1
如果rng1.Value“”和rng1.EntireRow.Hidden=False,则
CONCATENATESPECIAL=CONCATENATESPECIAL&rng1.Text&“|”
如果结束
下一个rng1
端函数

非常感谢。它可以工作,但是有可能使它在第二张图片中的过滤器处于活动状态时工作吗?使用小计?再次感谢。
Public Function CONCATENATESPECIAL(rng As Range) As String

Dim rng1 As Range

CONCATENATESPECIAL = ""

   For Each rng1 In rng
        If rng1.Value <> "" And rng1.EntireRow.Hidden = False Then
        CONCATENATESPECIAL = CONCATENATESPECIAL & rng1.Text & " | "
        End If
   Next rng1

End Function