Excel中如何把多行多列数据快速转成一行或一列

12次阅读
没有评论
Excel中如何把多行多列数据快速转成一行或一列

手里有一张多行多列的表,想把它排成一列清单,或者排成一行横着用,一个个复制粘贴又慢又容易错位。下面三个方法按情况选一个就行:前两个是新版本一个公式搞定,第三个老版本也能用。

方法一:转成一列,用 TOCOL

1. 选中一个空白格,输入公式:=TOCOL(A2:C6)。A2:C6 换成你自己的数据区域,公式默认按行从左往右读,读完一行再读下一行。

2. 回车后结果会自动向下溢出成一列,不用往下拖公式。

3. 表里有空单元格时,默认会用 0 占位,错误值会原样保留。想去掉它们,第二个参数按需填:1 是忽略空白,2 是忽略错误,3 是两个都忽略,比如 =TOCOL(A2:C6,3)。

Excel用TOCOL函数把多行多列数据转成一列演示

方法二:转成一行,用 TOROW

1. 选中一个空白格,输入公式:=TOROW(A2:C6)。用法和 TOCOL 完全一样,只是结果横着排成一行。

2. 回车后结果会自动向右溢出成一行,不用往右拖公式。

3. 同样,空单元格默认用 0 占位,错误值原样保留。想同时去掉空白和错误值,用 =TOROW(A2:C6,3),结果就是一串干净的数据。

Excel用TOROW函数把多行多列数据转成一行演示

Excel用TOROW函数忽略空白和错误值转成一行演示

方法三:老版本没有 TOCOL,用 INDEX 公式

TOCOL 和 TOROW 是较新的函数,老版本 Excel 里输入会报找不到函数,这时用 INDEX 公式,效果一样,只是要手动拖满。

1. 假设数据在 A2:C4,一共 3 行 3 列。转成一列时,在空白列第一个格输入公式:=INDEX($A$2:$C$4,INT((ROW(A1)-1)/3)+1,MOD(ROW(A1)-1,3)+1)。公式里的 3 就是源数据的列数,几列就改成几。

2. 把公式向下拖到第 10 行,9 个数正好排成一列。顺序是按行读:第一行 3 个,再第二行 3 个,依此类推。

3. 转成一行时,公式换成按列号算:=INDEX($A$2:$C$4,INT((COLUMN(A1)-1)/3)+1,MOD(COLUMN(A1)-1,3)+1),然后向右拖 9 格,结果横着排成一行。

4. 这两个公式得到的是公式结果,不是数值本身。确认无误后,可以复制结果区域,再用选择性粘贴里的数值粘贴一遍,转成固定数值。

容易踩的四个坑

1. TOCOL 和 TOROW 要认清版本。老版本没有这两个函数,输进去只会报错,不要反复改公式,直接换方法三。

2. 默认不忽略空白。空单元格会变成 0 混进结果,数据里有空位时,记得把第二个参数写成 1 或者 3。

3. 取数顺序默认是按行。想要先读完第一列、再读第二列这种按列的顺序,第三个参数要写 TRUE,比如 =TOCOL(A2:C6,1,TRUE),不写就是按行。

4. 别把压平和转置搞混。只是行列互换,比如 3 行 4 列变成 4 行 3 列,用复制加选择性粘贴里的转置一步就够了;只有要把多行多列压成一行或者一列时,才用上面这三个方法。

怎么选

新版本 Excel 或者 WPS,直接用方法一转一列、方法二转一行,一个公式最省事;老版本用方法三 INDEX 公式,拖满就行。操作前先备份原表,转出来的结果先核对个数:行数乘列数等于结果个数,才算一个没漏、一个没多。

推广Excel中如何把多行多列数据快速转成一行或一列

关注「软件教程管家」

回复软件名即取即下:网盘下载链接 + 提取码,一步直达,不用再跳转。

版权与使用提示

本站资源仅供个人学习交流,请勿用于商业用途。软件与资料版权归原作者所有;如有侵权,请通过公众号「软件教程管家」联系我们,我们将在 24 小时内下架处理。查看免责声明 ›

上次编辑至今:2天 · 内容还比较新鲜

公告

契机库网站正式上线!

了解更多
正文完
 0
评论(没有评论)