excle函数技巧:index+int+mod+row多列转一列-趣帮office教程网

如图想将D3:D23、E3:E23两列,合并成一列,合并顺序为先行后列。公式如下:

=LET(COL,INDEX(D3:E23,INT(ROW(A2:A43)/2),MOD(ROW(A2:A43),2) 1),

FILTER(COL,COL<>""))

思路:index函数需要确定行列的数据,通过数组一键生成就需要所有行列的数据,通过int函数,取对应行号除以D3:E23的列数2的商,得到1、1、2、2、3、3这样的数行。通过mod函数,取对应行号除以D3:E23的列数2的余数加1,即2/2=1……0得到1、2、1、2、1、2这样的列。行列合起来就开成{1,1;1,2;2,1;2,2……}这个样的数据正好对应每个数据在D3:E23这个选取的相对行列位置。配合index就可以把数据提取出来。最后用filter函数过滤到空单元格。