Вы можете удалить столбец, используя метод deleteColumn ( column_position ) :
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
// Columns start at "1" - this deletes the first column
sheet.deleteColumn(1);
https://developers.google.com/apps-script/reference/spreadsheet/sheet#deletecolumncolumnposition
В вашей ситуацииподход, должен получить диапазон строк, где есть имена столбцов и с циклом for и счетчиком (который начинается с 1 и который увеличивается на 1 для каждой проверки). Таким образом, если значение ячейки совпадает с тем, которое вы определили, индексом столбца является значение счетчика. То есть:
counter = 1;
for (i=0; i<range.length; i++) {
if (deleteValues[i] == 'exampleA' ||
deleteValues[i] == 'exampleB' ||
deleteValues[i] == 'exampleC' ||
deleteValues[i] == 'exampleD') {
sheet.deleteColumn(counter);
} else {
counter = counter + 1;
}
}
РЕДАКТИРОВАТЬ : в дополнение к некоторым концептуальным проблемам ваш код должен был быть изменен в других местах, чтобы работать. Вот рабочий код:
function deleteColumns() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Foglio2'), true);
spreadsheet.getRange('1:1').activate();
var header = spreadsheet.getRange('1:1');
var deleteValues = (header.getValues());
var counter = 1;
for (i=0; i<deleteValues[0].length; i++) {
if
(
deleteValues[0][i] == 'exampleA' ||
deleteValues[0][i] == 'exampleB' ||
deleteValues[0][i] == 'exampleC' ||
deleteValues[0][i] == 'exampleD'
)
{
spreadsheet.deleteColumn(counter); }
else {
counter = counter + 1;
}
}
}