用Excel把A列,B列,C列的所有组合,在D列显示

比如A列有 A1-A10
B列有B1-B10
C列有C1-C10
在D列把所有的表格内容全部组合显示:
D1:A1B1C1
D2:A1B1C2
......
这样子把所有的组合方式出来显示

任意单元格输入(比如说D1):

=INDEX(A$1:A$10,INT((ROW(A1)-1)/100)+1)&INDEX(B$1:B$10,INT((ROW(A1)-1)/10)+1-INT((ROW(A1)-1)/100)*10)&INDEX(C$1:C$10,MOD(ROW(A1)-1,10)+1)

下拉或者填充即可

 

上面的改了一下,可以了

追问

好像就你说的靠谱点。那么如果每列的行数有变动,需要在哪里修改?
另外,你第一个括号里面应该是 /10吧

追答

就是变除以10,除以100那些地方

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-10-22
在D1中输入如下公式:
=VLOOKUP(A1,B:C,2,FALSE)

在D1中输入如下公式:
=VLOOKUP(A1,B:C,2,FALSE)
这个公式的意思是:在B:C这个数据区域的第一列中对比(完全对比)是否有A1,如果有,则返回对应行号的C列(由公式中的那个2决定)的值

这个函数VLOOKUP()正好就是你要的功能
函数有4个参数VLOOKUP(参数1,参数2,参数3,参数4)
参数1:你要对比的那个单独的单元格
参数2:你要对比和返回的区域,注意是在这个区域的第一列中寻找有没有参数1
参数3:如果在参数2这个区域中能找到参数1,那由参数3来决定返回这个区域中哪一列的对应的值。
参数4:默认是true 就是进行近似的对比,要求对参数2必须进行过排序(降序),如果是FALSE则不用排序,这时候进行完全的对比。如果在参数2的第一列找不到参数1,则返回#N/A错误信息
第2个回答  2014-02-11

这样的组合很多,可以用VBA来处理,会更好

你的三列共1000个组合

代码如下

Sub test()
    Dim arr, brr(), x&, i&, y&, j&
    arr = Range("A1:C10")
    For x = 1 To UBound(arr)
        For y = 1 To UBound(arr)
            For j = 1 To UBound(arr)
                i = i + 1
                ReDim Preserve brr(1 To i)
                brr(i) = arr(x, 1) & arr(y, 2) & arr(j, 3)
            Next j
        Next y
    Next x
    Range("D1").Resize(i, 1) = Application.Transpose(brr)
End Sub

 如果是用函数,D1公式可以用

=INDEX(A$1:A$10,INT((ROW()-1)/100)+1)&INDEX(B$1:B$10,INT((ROW()-1)/10)+1-INT((ROW()-1)/100)*10)&INDEX(C$1:C$10,MOD(ROW()-1,10)+1)

 公式下拉完成

第3个回答  2014-02-11
如果 A B二列不变,D1输入 =A$1&B$1&C1
公式下拉
如果一起变化 则改为 =A1&B1&C1
第4个回答  2014-02-11
在D1输入公式

=A$1 & B$1 & C1

然后下拉

用Excel把A列,B列,C列的所有组合,在D列显示
=INDEX(A$1:A$10,INT((ROW(A1)-1)\/100)+1)&INDEX(B$1:B$10,INT((ROW(A1)-1)\/10)+1-INT((ROW(A1)-1)\/100)*10)&INDEX(C$1:C$10,MOD(ROW(A1)-1,10)+1)下拉或者填充即可 上面的改了一下,可以了

EXCEL表格中怎样使用函数将A,BC三列表格数据除去重复在D列显示出来?在 ...
一列:筛选-高级筛选-不重复记录 二列:=IF(ROW(A1)<=COUNT($A:$A),A1,INDEX(B:B,SMALL(IF(COUNTIF($A$1:$A$1000,$B$1:$B$1000)=0,ROW($B$1:$B$1000)),ROW(A1)-COUNT(A:A)))&"" 数组公式,ctrl+shift+回车,然后向下复制 条件格式:选择A\/B\/C三列,格式-条件格式-公...

用excel怎么使ABC列单元格三个数合并在D列,谢谢
在D2输入公式:=A2&B2&C2下拉试试 hx95华夏联盟

excel中怎么让A,B,C三列数用公式合成在D单元格中,显示结果为(A列+B...
=(A1+B1)*C1 然后往下拉就行了。数字对应行号

请问excel表格中,如何将A列、B列和C列自动排列组合,显示到D列(用VBA...
If Cell.End(xlDown).Row = Cells.Rows.Count Then LastRow = Application.Max(Cells(Rows.Count, "B").End(xlUp).Row, Cells(Rows.Count, "C").End(xlUp).Row) End If For i = FirstRow To LastRow If Not IsEmpty(...

Excel 使A列+B列+C列的数值=D列
D1列输 =A1+B1+C1 enter完成后 再选中D1单元格,点中单元格右下角小黑点往下拉

excel中怎么讲A,B,C三列数用公式合成在D单元格中,显示结果为A列*B...
D1输入 =A1&"*"&B1&"="&A1*B1 向下填充

excel A列 B列 C列 三列数据每列取一个数据组合 显示在D列
D1单元格的公式设置为:=CONCATENATE(A1,B1,C1)D列其他单元格请自动填充。如果只是要提取A列 B列 C列 三列数据其中的某一段,则需要采用文本截取函数LEFT、MID、RIGHT等。还不清楚的话可向我求助。

EXCEL,如何从数据表中利用ABC列的数据,自动显示D列数据?
{=VLOOKUP(F1&G1&H1,CHOOSE({1,2},$A$1:$A$6&$B$1:$B$6&$C$1:$C$6,$D$1:$D$6),2,0)} 要加大括号

excel中 根据c列的数据查找a列对应的行b列的值提取到d列中显示
其实这就是一个甲型的VLOOKUP函数应用的例子操作步骤如下 确定单元格结构为,AB两列为原始数据,C列为手工录入数据,D列为用公式显示的结果 在D2中输入公式:=IF(C2<>"",VLOOKUP(C2,A:B,2,0),"")向下复制D2中的公式即可 实际效果如下图:...

相似回答