在EXCEL中操作的,关于格式转换的请赐教,具体请参见问题补充说明

来源:百度知道 编辑:UC知道 时间:2024/06/17 06:55:07
现有格式是;
第一行依次为:货号、24、25(此数字表示尺码);
第二行依次为:04501-0064,1,2(此数字表示第一行中尺码下对应的件数);
想改为:第一行依次为货号,尺码,件数;第二行对应为04501-0064,24,1;第三行依次为04501-0064,25,2;
有谁能提供快捷的操作方法吗?谢谢!
事实我的表格尺码有24、25、26、27、28、29、30、31、32、34、36这么多,且并非每个货号各个尺码的件数都不为0
例:原表第一行依次为:货号、24、25、26、27、28、29、单价、店铺;第二行为:26501-0008,0、2、3、2、1、1、300、A;第三行为:04501-0064,0、1、2、2、1、0、500、B……
想改为:货号 尺码 件数 单价 店铺
26501-0008 24 0 300 A
26501-0008 25 2 300 A
26501-0008 26 3 300 A
26501-0008 27 2 300 A
26501-0008 28 1 300 A
26501-0008 29 1 300 A
04501-0064 24 0 500 B

谢谢tbwind您的指教,我已经基本操作成功,但因为原表中存在下面的情况而导致结果仍然不对:原表中有连续两行的货号、店铺等都一样,但各尺码下的数量不等,此种情况导致不能成功取数;
另,日常我实际应用中的尺码为24、25、26、27、28、29、30、31、32、34、36、38,请将公式中对应的列数更新一下吧,谢谢赐教,辛苦了!

老公式删掉了。。你要一次说清楚。。 在sheet2的A2(注意是A2!!)输公式 =IF(MOD(ROW()+11,13)=0,INDEX(Sheet1!$A:$A,(ROW()-2)/13+2,1),A1) 在B2输公式: =INDEX(Sheet1!A:Z,1,MOD(ROW()+11,13)+2) 在C2输公式:(假设尺码从24到36) =INDEX(Sheet1!$A:$Z,MATCH(A2,Sheet1!A:A,0),MATCH(B2,Sheet1!A$1:Z$1,0)) 在D2输公式(假设单价在O列) =index(sheet1!$a:$z,match($a2,sheet1!$a:$a,0),15) 在E2输公式(假设店铺在P列) =index(sheet1!$a:$z,match($a2,sheet1!$a:$a,0),16) 再选中A2到E2,往下拖到足够远的地方.. 我验证了的很对..你说不对..请注意细节..如你的数据应该在sheet1里面,这个表名绝对不能改.给你看下我的范本: