а вот взять по-простому и рассовать, не ?

Код AS3:
var i:int, j:int, k:int;
var data:Array = [1, 2, 3, 4, 5, 6, 7];
var res:Array = [];
var w:int = 5;
var len:int = data.length;
var h:int = Math.ceil(len / w);
for (i = 0; i < h; i++) res[i] = [];
k = 0;
for (j = 0; j < w; j++)
{
for (i = 0; i < h ; i++)
{
res[i][j] = data[k++];
if (--len < w - j) break;
}
}
for (i = 0; i < h; i++) trace(res[i]);