使用条件分隔符连接范围

使用条件分隔符连接范围

我正在寻找类似的东西这个技巧用于将范围与分隔符连接起来但是我希望输出在此行范围内的项目上包含一个特殊字符。

例如,从这个开始:

Fruit      #
------------
Apples   100
Oranges   80
Pears     50

...我想要一个可以创建如下行的公式:

Fruit      #             Output
------------------------------------------
Apples   100   >Apples -- Oranges -- Pears
Oranges   80   Apples -- >Oranges -- Pears
Pears     50   Apples -- Oranges -- >Pears

这个例子被大大简化了……我的实际问题有数百行,需要对许多工作表重复多次,并且需要为不同的程序创建精确规范的输入,但问题的本质是一样的。 上面简单示例中可以自动输出的东西将解决我更复杂的问题。


我想我想要的是类似这样的东西=TRANSPOSE(A1:A10)&IF($THIS=A2," -- >"," -- "),以$THIS某种方式指示在评估它时正在查看的数组中的项目F9......这样的事情可能吗?

答案1

使用 VBA:

Public Function markitem(itemrange As Range, item As String)
    markitem = ""
    i = 0
    itemlength = itemrange.Rows.Count
    result = ""
    For i = 1 To itemlength
        actualitem = itemrange.item(i)
        If actualitem = item Then
            actualitem = "<" & actualitem
        End If
        result = result & actualitem & " -- "
    Next i
    If i <> 0 Then
        markitem = Left(result, Len(result) - 3)
    End If   
End Function

假设您的数据从单元格开始,A1那么C1您必须在单元格中输入=markitem($A$1:$A$3;A1)并复制 C 列上的公式。

要使用此代码,请转到宏/VBA,在下方插入一个新模块本工作簿并将代码粘贴到右侧。

相关内容