首先建议楼主把颜色和尺寸的数据列成表而不是放在一个单元格,这样便于适合新颜色和新尺寸的生成,如图:
为简化公式,定义两个名称,分别是颜色数量和尺寸数量:
_Color=COUNTA(D$2:D$100)
_Module=COUNTA(E$2:E$100)
然后在任何列(比如F列)的第二行单元格输入以下公式
=IF(ROW(A1)>_Color*_Module,"",INDIRECT("E"&IF(MOD(CEILING(ROW(A1),_Color)/_Color,_Module)=0,_Module+1,MOD(CEILING(ROW(A1),_Color)/_Color,_Module)+1))&" "&INDIRECT("D"&IF(MOD(ROW(A1),_Color)=0,_Color+1,MOD(ROW(A1),_Color)+1)))
任意下拉到足够长的位置
就可得到结果
此公式可以在添加其他颜色和其他尺寸时自动得到所有交叉组合
附件请参考
你好:A、B、D列直接复制,C列可以用公式=MID(Sheet2!$D$2,2*(INT((ROW(Sheet2!A1)-1)/3))+1,2)&MID(Sheet2!$C$2,2*(INT((ROW(Sheet2!A1)-1)/3))+1,2)
你好,非常感谢你的回答。可不可以实现“M空格白色”,不中间的点呢?
追答=SUBSTITUTE(MID(Sheet2!$D$2,2*(INT((ROW(Sheet2!A1)-1)/3))+1,2)&MID(Sheet2!$C$2,2*(INT((ROW(Sheet2!A1)-1)/3))+1,2),"."," ")
我刚看明白。我要的不是这样的组合,这样的:
M 白色 M黑色 M红色 而不是三个M白色。麻烦你再帮我看看好吗?而且颜色和尺寸数量有可能会增加。比如颜色有白色,黑色,红色,紫色,尺寸有M,L,XL,XXL,XXXL,公式应该有相应变化吧?能详细说一下吗?
加了辅助表,不想看可以隐藏这个表。
非常感谢你的耐心回答。我的问题还没有解决。我真不好意思再追问了,先把分给你吧。谢谢啦。
追答传样本文件,好分析,见我个人信息。
本回答被提问者采纳