excel多行多列怎样分段转置

2024-11-22 20:03:25
推荐回答(3个)
回答1:

在E1单元格输入
=OFFSET($A$1,COLUMN(A1)+CEILING(ROW(A1),3)/3*4-5,MOD(ROW(A1)-1,3))
然后公式往右、往下拖动。
公式具体解释:
OFFSET函数是偏移函数,实现对单元格A1,进行偏移。
偏移行数,是原来的列数(因为要转置)。
COLUMN(A1)表示求出原来的列号
CEILING(ROW(A1),3)/3*4-5表示对原来行号进行按3的倍数,进行取整(向上取整)
然后除以3乘以4减去5,这样就得到新的列号的偏移量。
用这个偏移量,加上之前得到的原来的列号,就得到现在需要偏移的行数。
偏移列数,是原来的行数,取余数(因为是分段进行转置)
ROW(A1)-1是表示计算单元格行号减去1
然后使用余数函数MOD,对其取模3的余数,这样就得到实际偏移的列数。

回答2:

在i1单元格输入公式:
=indirect(text(small(row($1:$18)*10+column($a:$g),row()*3+column(a1)-3),"r0c0"),)
按ctrl+shift+enter三键结束,右拉到k1,再下拉到42行
复制i:k列,选中a:c列,右键,选择性粘贴,值,
最后删除其他列数据即可

回答3:

选中A1:C4,复制,选择性粘贴——转置。
再选中A5:C8,重复上述动作,如此反复操作即可。