Установить значение на основе значения другой ячейки в той же строке - PullRequest
0 голосов
/ 15 апреля 2019

Новое в написании скриптов Google. Нашли похожие вопросы, но ни один с ответами, которые я мог бы сделать работу. Я хочу, чтобы значение ячейки в столбце "H" данной строки на листе "main" было установлено в "Y", когда ячейка в столбце "G" той же строки отредактирована как "y". Я не могу использовать формулу для этого, так как мне нужно, чтобы значения в «H» оставались после того, как в «G» удалены. Текущий код, с которым я работаю, ниже. Не возвращает ошибок, но также ничего не меняет в листе. Он не записан как onEdit, потому что я использую отдельную функцию onEdit для вызова нескольких функций (включая эту, когда она корректна).

function myFunction3() {

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("main");
var range = sheet.getActiveCell();
var columnNumberToWatch = 7; // column A = 1, B = 2, etc.
var valueToWatch = "y";
var right = range.offset(0,1);

if (range.getColumn() == columnNumberToWatch && range.getValue() == 
valueToWatch) { 
sheet.getRange(right).setValue('Y');
}
}

Ответы [ 2 ]

0 голосов
/ 15 апреля 2019

Попробуйте это -

function myFunction3() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName('main');
  var range = sheet.getActiveCell();
  var columnNumberToWatch = 7; // column A = 1, B = 2, etc.
  var valueToWatch = 'y';

  if (range.getColumn() == columnNumberToWatch && range.getValue() == valueToWatch) {
    range.offset(0, 1).setValue('Y');
  }
}
0 голосов
/ 15 апреля 2019

В своем описании вы, кажется, говорите, что если значение в столбце G равно "y", то вы хотите сделать значение в столбце "H" равным "Y".Range = activeCell (), номер столбца равен 7, а valueToWatch = "y".

Итак, вам нужно получить значение в диапазоне (например, активная ячейка) и изменить значение в ячейке рядом с ним на «Y».

Так что ваш условный оператор требуетчтобы начать с того, что вы тестируете (например, range.getValue () и если это значение находится в columnToWatch, тогда установите значение в столбце рядом с ним на «Y».

Первое, что вам нужно сделать, такчтобы получить номер столбца активной ячейки.

try range.getColumn () и назначить его новой переменной (т.е. activeColumnNumber)

, а затем начать оператор if с range.getValue ().

if (range.getValue == 'y' && activeColumnNumber == 7) и т. Д., И т. Д., Это должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...