将单元格本身(不是其中的数据)拆分为几列
Split cells themselves (not the data in them) into several columns
假设我在 A 列中有 1 到 1000 之间的数字。如何将此列拆分为 10 个不同的列?
A 列为 1 到 100,B 列为 101 到 200;等等
提前致谢,抱歉我生疏的英语,不是我的母语。
假设您真正想要做的是将 A1:A1000 中的所有内容分成 10 列,您可以使用 INDEX 和多路索引来重塑它,但是,作为一个懒惰的选择,这是我制作的通用整形器。它有很多开销作为错误处理的保护以及 re-ordering 的一些挂钩,但它会做你想做的事。
使用 Office 365:
=LET( Matrix, A1:A1000,
newRows, ,
newCols, 10,
rdR, ROWS( Matrix ),
rdC, COLUMNS( Matrix ),
rdCells, rdR * rdC,
rdIR, SEQUENCE( 1, rdCells, 0 ),
wrR, IF( newRows > 0, newRows,
IF( newCols > 0, ROUNDUP( rdCells/newCols, 0), rdR ) ),
wrC, IF( newCols = 0, ROUNDUP( rdCells/wrR, 0), newCols ),
wrCells, wrR * wrC,
wrIR, SEQUENCE( wrR, wrC, 0 ),
mux, INDEX( Matrix, rdIR/rdC + 1, MOD( rdIR, rdC ) + 1 ),
demux, INDEX( mux, wrIR/wrCells + 1, wrIR + MOD( wrIR, wrC)*(wrR - 1) - INT( wrIR/wrC ) * (wrC - 1) ),
demux
)
我写错了 - 现在已修复
12 Feb : I found one more error and it is fixed now
您可以在 newRows 中输入任意行数,在 newCols 中输入任意列数。如果您留空其中一个,它会计算另一个。
假设我在 A 列中有 1 到 1000 之间的数字。如何将此列拆分为 10 个不同的列? A 列为 1 到 100,B 列为 101 到 200;等等 提前致谢,抱歉我生疏的英语,不是我的母语。
假设您真正想要做的是将 A1:A1000 中的所有内容分成 10 列,您可以使用 INDEX 和多路索引来重塑它,但是,作为一个懒惰的选择,这是我制作的通用整形器。它有很多开销作为错误处理的保护以及 re-ordering 的一些挂钩,但它会做你想做的事。
使用 Office 365:
=LET( Matrix, A1:A1000,
newRows, ,
newCols, 10,
rdR, ROWS( Matrix ),
rdC, COLUMNS( Matrix ),
rdCells, rdR * rdC,
rdIR, SEQUENCE( 1, rdCells, 0 ),
wrR, IF( newRows > 0, newRows,
IF( newCols > 0, ROUNDUP( rdCells/newCols, 0), rdR ) ),
wrC, IF( newCols = 0, ROUNDUP( rdCells/wrR, 0), newCols ),
wrCells, wrR * wrC,
wrIR, SEQUENCE( wrR, wrC, 0 ),
mux, INDEX( Matrix, rdIR/rdC + 1, MOD( rdIR, rdC ) + 1 ),
demux, INDEX( mux, wrIR/wrCells + 1, wrIR + MOD( wrIR, wrC)*(wrR - 1) - INT( wrIR/wrC ) * (wrC - 1) ),
demux
)
我写错了 - 现在已修复
12 Feb : I found one more error and it is fixed now
您可以在 newRows 中输入任意行数,在 newCols 中输入任意列数。如果您留空其中一个,它会计算另一个。