资讯详情

首页  >  税务师培训  > 资讯详情

Excel从多列各取一个单元格值进行组合一例

2025-12-22 来源:快学会计网

导读:最近在工作中遇到一个问题,需要在Excel中从多列各取一个单元格值进行组合,得到全部的组合数据。如图所示,要得到颜色、领型和尺码的全部组合,放到以E2为左上角的区域中。经过一番摸索后总结了几种方法,分别用公式、VBA、Microsoft Queny和Access来实现,写在这里供大家参考。以下图的三列为例,所用的Office版本为Excel2013和Access2013,其他版本的操作方法类似。 方法一:公式

 最近在工作中遇到一个问题,需要在Excel中从多列各取一个单元格值进行组合,得到全部的组合数据。如图所示,要得到“颜色”、“领型”和“尺码”的全部组合,放到以E2为左上角的区域中。经过一番摸索后总结了几种方法,分别用公式、VBA、Microsoft Queny和Access来实现,写在这里供大家参考。以下图的三列为例,所用的Office版本为Excel2013和Access2013,其他版本的操作方法类似。

    方法一:公式法

本例“颜色”有5种,“领型”有4种,“尺码”有6种,因而序号有5×4×6个,在E2输入公式得到序号:

   =IF(ROW(A1)>(COUNTA(A$2:A$10)*COUNTA(B$2:B$10)*COUNTA(C$2:C$10)),"",ROW(A1))

    每种“颜色”有4×6个,可用OFFSET函数在F列依次得到。在F2输入公式:

    =IF(E2="","",OFFSET(A$1,(COUNTA(B$2:B$10)*COUNTA(C$2:C$10)+ROW(A1)-1)/

(COUNTA(B$2:B$10)*COUNTA(C$2:C$10)),))

    对应每种颜色,每种“领型”有6个,可用OFFSET和MOD函数组合在G列得到结果。在G2输入公式:

    =IF(E2="","",OFFSET(B$2,MOD((COUNTA(C$2:C$10)+ROW(A1)-1)/COUNTA(C$2:C$10)

-1,COUNTA(B$2:B$10)),))

    同样,在H2输入公式得到循环出现的“尺码”:

    =IF(E2="","",OFFSET(C$1,MOD(ROW(A1)-1,COUNTA(C$2:C$10))+1,))

    为了让添加或删除数据后也能得到全部组合结果,公式中用COUNTA函数得到各列数据的个数。选择E2:H2向下填充公式即可得到全部的组合。

相关资讯
低油价高税负致我国煤制油现亏损
Excel 2010-调整对象在单元格的位置
office技巧之巧用Word特性快速批量设置英文字体
人员经费占总支出比重计算方法
什么是试算平衡?

点击长按保存图片,微信识别

扫码立即领取资料

咨询