Проверьте, пуста ли ячейка - PullRequest
0 голосов
/ 18 февраля 2019

Поскольку я новичок в Google Apps Script, я борюсь с пониманием того, что и как там делается.Я хочу изменить цвет ячейки, если она пуста, а две другие ячейки в других столбцах также пусты.Если у одного из них есть значение, это нормально.

На этом снимке экрана только цвета строк 5, 6 и 7 должны быть окрашены:

SO54747074 question example

Имеется в виду использование сценария во время работы, чтобы проверить, где отсутствуют пропущенные значения в столбцах данных (адрес электронной почты / основной телефон и т. Д. Или по любому столбцу, зависит или требуется).

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

попробуйте это:

Ваш вопрос не указывает, какие столбцы, поэтому, исходя из изображения, я предполагаю, что вам нужны столбцы C, F и G.

function onEdit(e) {
  var dflt='#ffffff';
  var fill='#ffff00';
  if(e.range.getSheet().getName()!='Sheet69'){return;}//you need to add your sheet name so that this only works on the appropriate sheets
  var ss=e.source;
  var sh=e.range.getSheet();
  var rg=sh.getRange(1,1,sh.getMaxRows(),sh.getMaxColumns());
  var vA=rg.getValues();
  var bA=rg.getBackgrounds();
  for(var i=0;i<vA.length;i++) {
    if(!vA[i][2] && !vA[i][5] && !vA[i][6]){
      for(var j=0;j<bA[i].length;j++) {
        bA[i][j]=fill;
      }        
    }else{
      for(var j=0;j<bA[i].length;j++) {
        bA[i][j]=dflt;
      }     
    }
  }
  rg.setBackgrounds(bA);
}
0 голосов
/ 18 февраля 2019

Вам не нужно делать скрипты приложения, чтобы получить желаемый эффект.Я создал фиктивный тест, посмотрите, подходит ли он вам.Это в режиме «просмотра», потому что ... хорошо ... интернет.https://docs.google.com/spreadsheets/d/1ozOITqXNwtvYYmulJV6nrs3MB6SlsRAF8l9a8ImXZkg/edit?usp=sharing

Я создал пользовательскую формулу для форматирования ячейки для ячейки диапазона, для которой нужно форматирование, а не для всей строки (вероятно, слишком много работы для механизма обработки листов).

Выберитедиапазон, к которому вы хотите применить форматирование, затем выберите условное форматирование в меню.«Формат ячеек, если» для моего примера установлен на «Пользовательская формула», а значение равно = AND (ISBLANK ($ C2), ISBLANK ($ D2), ISBLANK ($ E2))

Вы можете скопироватьэта формула для любых других ячеек, для которых вы хотите, чтобы форматирование отображалось, создавая видимость всей форматируемой строки.

enter image description here

...