我正在寻找类似的东西这个技巧用于将范围与分隔符连接起来但是我希望输出在此行范围内的项目上包含一个特殊字符。
例如,从这个开始:
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,在下方插入一个新模块本工作簿并将代码粘贴到右侧。