我有2列包含此格式的数据:
ColA ColB
a x
b y
c z
x a
y b
z c
我很难过滤匹配对,例如值a,x和x,a。 任何帮助将不胜感激!
编辑:
理想情况下,我希望第三列具有每对的唯一值,例如
ColA ColB ColC
a x 1
b y 2
c z 3
x a 1
y b 2
z c 3
这样我就可以过滤掉它们或快速完成数据透视表。
答案 0 :(得分:1)
如何在第三栏中使用这种公式?
=IF(A1<B1,A1 & B1, B1 & A1)
答案 1 :(得分:1)
请试一试......
Sub PairCount()
Dim x, y(), dict
Dim i As Long, cnt As Long
x = Range("A1").CurrentRegion.Value
ReDim y(1 To UBound(x, 1))
Set dict = CreateObject("Scripting.Dictionary")
For i = 1 To UBound(x, 1)
If Not dict.exists(x(i, 1) & x(i, 2)) Or Not dict.exists(x(i, 2) & x(i, 1)) Then
cnt = cnt + 1
dict.Item(x(i, 1) & x(i, 2)) = cnt
dict.Item(x(i, 2) & x(i, 1)) = cnt
End If
Next i
For i = 1 To UBound(x, 1)
y(i) = dict.Item(x(i, 1) & x(i, 2))
Next i
Columns(3).Clear
Range("C1").Resize(UBound(y)).Value = Application.Transpose(y)
Set dict = Nothing
End Sub
答案 2 :(得分:0)
谢谢大家的回答。
我刚用一种简单的半自动方式解决了这个问题:
我首先写了一个&#34;匹配&#34;在第三列(C2)的第一个单元格中。然后我根据扩展的VLOOKUP
在下一个单元格(C3)中编写了这个公式=IF(ISNONTEXT(VLOOKUP(B3,$A$1:C2,3,0)),"match","")
如果第一列中的对应值在第三列中匹配,我基本上会搜索第二列中的当前值。如果没有,请放置&#34;匹配&#34;
这样我就可以&#34;匹配&#34;在独特值前面的第三列,这使我很容易进一步操作。