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