作业帮 > 综合 > 作业

EXCEL表格中如何根据前面的数字排列后面的汉字,数字规律是1,2分列排序,汉字随机,如下图,需要左变右

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/28 19:01:40
EXCEL表格中如何根据前面的数字排列后面的汉字,数字规律是1,2分列排序,汉字随机,如下图,需要左变右
就是假如我的数据是竖着的2111112221112212 那我就需要第一列变成2,第二列变成11111 第三列变成222第四列变成111 第5列变成22  第6列变成1 第7列变成2  就是前面的数据分别用列隔开然后后面是带随机数字的  
编了一个公式,E1中输入
=IF((ROW()>INDEX(FREQUENCY(IF($A$1:$A$15=$A$2:$A$16,ROW($1:$15)),IF($A$1:$A$15<>$A$2:$A$16,ROW($1:$15)))+1,MIN(SUMPRODUCT(N($A$1:$A$15<>$A$2:$A$16))+1,COLUMN(B:B)/2)))+(COLUMN(A:A)>(SUMPRODUCT(N($A$1:$A$15<>$A$2:$A$16))+1)*2),"",INDEX($A$1:$B$16,COUNT($C:C)+ROW(),MOD(COLUMN(B:B),2)+1))
同时按下CTRL+SHIFT+回车,输入数组公式,右拉,下拉.
详见附件,其中填充黄色的为公式,C列的D列被当作辅助单元格区域,不得输入数字.
再问: 高手 厉害 谢谢你 果断采纳
再问:
再问: 谢谢 如果是这样的 有办法吗 就是假如我的数据是竖着的小大大大大大小小小大大大小小大小 那我就需要第一列变成小,第二列变成大大大大大第三列变成小小小第四列变成大大大第5列变成小小 第6列变成大 第7列变成小 就是前面的数据分别用列隔开然后后面是带随机数字的
再问: 原数据是在C D 列 显示结果在F列之后
再问:
再答: 那么F1中输入
=IF((ROW()>INDEX(FREQUENCY(IF($C$1:$C$15=$C$2:$C$16,ROW($1:$15)),IF($C$1:$C$15$C$2:$C$16,ROW($1:$15)))+1,MIN(SUMPRODUCT(N($C$1:$C$15$C$2:$C$16))+1,COLUMN(B:B)/2)))+(COLUMN(C:C)>(SUMPRODUCT(N($C$1:$C$15$C$2:$C$16))+1)*2),"",INDEX($C$1:$D$16,SUM(COUNTIF($D:D,{"小","大"}))+ROW(),MOD(COLUMN(D:D),2)+1))
三键齐按下拉右拉
再问: 谢谢!
再答: 不客气,不过D列不可输入小或大,否则会误判