Excel Mix&匹配连接列

时间:2015-08-20 20:56:20

标签: excel

我遇到了大量连接两列数据的问题,并且不确定如何解决这个问题。我不是那么精通excel,所以任何能够提供任何可行的见解的人都会很棒。

基本上我有两列数据,一列是带有服务类型的列,另一列是带有地理修饰符的列。例如:

_____A______  _________________B_________________
Geo-modifier  Service
New York      search engine optimization
Los Angeles   seo services
Chicago       seo optimization
Houston       seo marketing
Philadelphia  seo service
Phoenix       best seo
San Antonio   search optimization
San Diego     search engine optimization services

因此,我尝试使用concatenate将geo修饰符附加到所有服务字。例如:

_________________C_________________
new york search engine optimization
new york seo services
new york seo optimization
etc

然后当它到达服务列表的底部时,它将转到下一个查询并再次连接到列表的底部。示例LA搜索引擎优化,LA seo服务,LA seo优化!

考虑到上述场景我将如何以最简单的方式做到这一点?

2 个答案:

答案 0 :(得分:0)

在单元格C2中并向下复制,调整范围以适合:

=INDEX($A$2:$A$9,INT((ROW(A2)-2)/ROWS($B$2:$B$9))+1)&" "&INDEX($B$2:$B$9,MOD(ROW(B2)-2,ROWS($B$2:$B$9))+1)

答案 1 :(得分:0)

这是一个进入新代码模块的VBA解决方案:

Public Sub MixMatch()
    Dim i&, j&, c&
    Dim vIn1, vIn2, vOut
    vIn1 = [A2:INDEX(A:A,COUNTA(A:A))]
    vIn2 = [B2:INDEX(B:B,COUNTA(B:B))]
    ReDim vOut(1 To UBound(vIn1) * UBound(vIn2), 1 To 1)
    For i = 1 To UBound(vIn1)
        For j = 1 To UBound(vIn2)
            c = c + 1
            vOut(c, 1) = vIn1(i, 1) & " " & vIn2(j, 1)
        Next
    Next
    [c2].Resize(UBound(vOut)) = vOut
End Sub