怎样将excel中多列内容 123456789变为1-9一横值

怎样将excel中 123456789变为1-9对单元格中连续的数值,变为单个的数值也就是说在单元格中将一个连续的数例如”12,13,14,15,16”,变为”12-16”
第G2写错 应该是1973-1974

比如 先是F列的产品是BB122在看B列是TOYOTA品牌车下的C列MARK II的车用 材料是是用的BH 安装位置是F然后总结这个产品在这个几个情况下只存在1973-1974

你图数据和你说明,还是不太明白你G列生成的依据。如果说只是所有列值都相同的行A值连接到一起。你怎么确定得到的时间一定是连续的。如果不连续,你又怎么能用 1973-1978这样的区间表示??

如果不问这连续性问题,单纯是相同就组成区域。如下代码

我列举了相同的7行数据,你根据你实际数据行数区间改,1和7这两个数字

放在第一行CTRL+SHIFT+回车,然后往下拖

=TEXT(SMALL(VALUE(IF(($B$1:$B$7=B1)*($C$1:$C$7=C1)*($D$1:$D$7=D1)*($E$1:$E$7=E1),$A$1:$A$7,999999999)),1),"#")&"-"&TEXT(MAX(VALUE(IF(($B$1:$B$7=B1)*($C$1:$C$7=C1)*($D$1:$D$7=D1)*($E$1:$E$7=E1),$A$1:$A$7,0))),"#")

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-12-05

G1单元格内输入 =MIN(IF(MATCH($B$1:$B$1000&$C$1:$C$1000&$D$1:$D$1000&$E$1:$E$1000&$F$1:$F$1000,$B$1:$B$1000&$C$1:$C$1000&$D$1:$D$1000&$E$1:$E$1000&$F$1:$F$1000,0)=MATCH($B1&$C1&$D1&$E1&$F1,$B$1:$B$1000&$C$1:$C$1000&$D$1:$D$1000&$E$1:$E$1000&$F$1:$F$1000,0),$A$1:$A$1000,""))&"-"&MAX(IF(MATCH($B$1:$B$1000&$C$1:$C$1000&$D$1:$D$1000&$E$1:$E$1000&$F$1:$F$1000,$B$1:$B$1000&$C$1:$C$1000&$D$1:$D$1000&$E$1:$E$1000&$F$1:$F$1000,0)=MATCH($B1&$C1&$D1&$E1&$F1,$B$1:$B$1000&$C$1:$C$1000&$D$1:$D$1000&$E$1:$E$1000&$F$1:$F$1000,0),$A$1:$A$1000,""))

数组公式,要同时按ctrl+shift+enter结束,然后下拉复制

或者用

=MIN(IF(($B$1:$B$1000=B1)*($C$1:$C$1000=C1)*($D$1:$D$1000=D1)*($E$1:$E$1000=E1)*($F$1:$F$1000=F1)*$A$1:$A$1000=0,"",($B$1:$B$1000=B1)*($C$1:$C$1000=C1)*($D$1:$D$1000=D1)*($E$1:$E$1000=E1)*($F$1:$F$1000=F1)*$A$1:$A$1000))&"-"&MAX(($B$1:$B$1000=B1)*($C$1:$C$1000=C1)*($D$1:$D$1000=D1)*($E$1:$E$1000=E1)*($F$1:$F$1000=F1)*$A$1:$A$1000)

本回答被提问者采纳
第2个回答  2017-12-05
G1输入:
=10000-SUMPRODUCT(MAX(($B$1:$B$1000=B1)*($C$1:$C$1000=C1)*($D$1:$D$1000=D1)*($E$1:$E$1000=E1)*($F$1:$F$1000=F1)*(10000-$A$1:$A$1000)))&IF(SUMPRODUCT(($B$1:$B$1000=B1)*($C$1:$C$1000=C1)*($D$1:$D$1000=D1)*($E$1:$E$1000=E1)*($F$1:$F$1000=F1))=1,"","-"&SUMPRODUCT(MAX(($B$1:$B$1000=B1)*($C$1:$C$1000=C1)*($D$1:$D$1000=D1)*($E$1:$E$1000=E1)*($F$1:$F$1000=F1)*$A$1:$A$1000))),下拉填充。
第3个回答  2017-12-05
用代码吧。公式看到头都大了
相似回答