JavaScript
var aVal = [
["Product", "Count", "serian №", "Product"],
["tv", 10, 313213, "tv"],
["tv", 32, 132578, "tv"],
["tv", 234, 654798, "tv"],
["tv", 5, 876554, "tv"],
["dvd", 3, 313213, "dvd"],
["dvd", 0, 777777, "dvd"],
["tv", 3, 432123, "pc"],
["tv", 1, 545454, "pc"],
];
var aKeyColumns = [0, 2, 3]; //индексы интересующих колонок
var aHeaderLabels = ["Product", "Count", "serian №", "Product"];
/**********************************************************************************/
var oSheetsToInsertByColumns = {
"0": [ // 1 - номер колонки
[1, 2, 3, 4, 7, 8], // [].length - кол-во строк на шите
[5, 6] // [].length - кол-во строк на шите
],
// ПЕРВАЯ КОЛОНКА ГЕНЕРИТ 2 НОВЫХ ШИТА
"2": [ // 3 - номер колонки
[1, 5], // [].length - кол-во строк на шите
[2], // [].length - кол-во строк на шите
[3], // [].length - кол-во строк на шите
[4], // [].length - кол-во строк на шите
[6], // [].length - кол-во строк на шите
[7], // [].length - кол-во строк на шите
[8] // [].length - кол-во строк на шите
],
// ТРЕТЬЯ КОЛОНКА ГЕНЕРИТ 7 НОВЫХ ШИТОВ
"3": [ // 3 - номер колонки
[1, 5], // [].length - кол-во строк на шите
[2], // [].length - кол-во строк на шите
[3], // [].length - кол-во строк на шите
[4], // [].length - кол-во строк на шите
[6], // [].length - кол-во строк на шите
[7], // [].length - кол-во строк на шите
[8] // [].length - кол-во строк на шите
],
// ЧЕТВЕРТАЯ КОЛОНКА ГЕНЕРИТ 7 НОВЫХ ШИТОВ
}
var result = [];
for (var column in oSheetsToInsertByColumns) {
// console.log(column); // 1, 3
// console.log(oSheetsToInsertByColumns[column]); //...