Skip to content

Instantly share code, notes, and snippets.

@babi4
Created October 24, 2016 09:09
Show Gist options
  • Select an option

  • Save babi4/a713e3d3743fa2051717536a360aac83 to your computer and use it in GitHub Desktop.

Select an option

Save babi4/a713e3d3743fa2051717536a360aac83 to your computer and use it in GitHub Desktop.
function StartCrossWork() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0]; //Use first sheet
var result_sheet;
try {
result_sheet = ss.setActiveSheet(ss.getSheetByName("Results"));
} catch (e) {
result_sheet = ss.insertSheet("Results");
}
result_sheet.getRange("A1:D1").setValues([["Campaign", "Ad Group", "Keyword", "Criterion Type"]]);
const need_rows = 100;
const need_columns = 4;
var array_to_fill = new Array(need_rows, need_columns);
var current_row = 2;
var current_row_for_array = 0;
var data = sheet.getDataRange().getValues();
for (var i = 1; i < data.length; i++) {
var keyword = data[i][3];
if (~keyword.indexOf(" -")) {
var adKeys = keyword.toLowerCase().split(" -");
var normalKeywords = adKeys[0].replace(" ","").split("+");
for (var j = 1; j < adKeys.length; j++) {
if (normalKeywords.indexOf(adKeys[j]) == -1){
if (current_row_for_array < need_rows ) {
array_to_fill[current_row_for_array] = [data[i][0], data[i][1], adKeys[j], "Negative Broad"];
current_row_for_array++;
}
else {
result_sheet.getRange(current_row, 1, current_row_for_array, need_columns).setValues(array_to_fill);
current_row += current_row_for_array;
current_row_for_array = 0;
array_to_fill = new Array(need_rows, need_columns);
Logger.log('Добавили исключения');
}
}
} //for adkeys
}
} //for data
Logger.log(array_to_fill)
result_sheet.getRange(current_row, 1, current_row_for_array, need_columns).setValues(array_to_fill.slice(0,current_row_for_array +1));
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment