我需要excel任务的帮助。
Name City
---------------
John London
Maxx NY
Ashley DC
Paris
解决方法必须是:
John-london
John-NY
John-DC
John-Paris
Maxx-london
Maxx-NY
.
.
.
.so on.
我只需要将一列中所有元素的文本添加到其他列中所有元素的文本中。如果提供没有宏或VB的解决方案,我将不胜感激。
答案 0 :(得分:5)
您可以使用此公式(从第1行开始并填写,直到用完组合):
=IFERROR(INDEX(L_1, CEILING(ROW()/COUNTA(L_2),1) ,1) & "-" &
INDEX(L_2, 1+MOD(ROW()-1, COUNTA(L_2)) ,1), "That's it!")
我使用命名范围" L_1"和" L_2"分别参考第一和第二个清单
答案 1 :(得分:2)
这是您可以使用的数组公式,但您需要根据您拥有的条目数量修改矩阵的大小
=CONCATENATE(INDEX(A:A,MMULT(ROW(A1:A3),TRANSPOSE(ROW(B1:B4))/TRANSPOSE(ROW(B1:B4)))),"-",INDEX(B:B,MMULT(ROW(A1:A3)/ROW(A1:A3),TRANSPOSE(ROW(B1:B4)))))
假设列A是名称而列B是城市,您将选择12个单元格(3行高,4列宽),将上述公式粘贴到第一个单元格中,然后按Ctrl + Shift + Enter
创建{{3 }}
如果您想查看一个更简单的版本,看看它在INDEX
引用之前的作用,请检查相同的区域:
=CONCATENATE(MMULT(ROW(A1:A3),TRANSPOSE(ROW(B1:B4))/TRANSPOSE(ROW(B1:B4))),"-",MMULT(ROW(A1:A3)/ROW(A1:A3),TRANSPOSE(ROW(B1:B4))))
以下是单一公式的屏幕截图(公式分为两行),显示多个单元格的输出:
答案 2 :(得分:-1)
结果列公式应为
=column1&"-"&column2
答案 3 :(得分:-1)
这是VBA中的一个简单示例。它旨在展示概念,而不是最佳实践。请用它来帮助你入门,如果你需要更多的帮助,如果你想提高性能等,请回到这里。
该示例假定这两个列表位于A1:An
和B1:Bm
中,结果列表位于C
列。
Sub Test()
Dim R1 As Integer, R2 As Integer, R As Integer, NR As Integer
NR = ActiveSheet.UsedRange.Rows.Count
Columns(3).Clear
For R1 = 1 To NR
If Not IsEmpty(Cells(R1, 1)) Then
For R2 = 1 To NR
If Not IsEmpty(Cells(R2, 2)) Then
R = R + 1
Cells(R, 3) = Cells(R1, 1) & " - " & Cells(R2, 2)
End If
Next R2
End If
Next R1
End Sub