Скопируйте из столбца A (Формула) и вставьте в качестве значений в столбец B только в пробелы столбца B

#google-apps-script #google-sheets

Вопрос:

Я считаю, что моя проблема довольно проста, но я часами искал решение и ничего не нашел… И я слишком новичок в JavaScript, чтобы пытаться адаптировать решения относительно похожих проблем для решения своих.

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

Проблема в том, что если проверка завершилась в местоположении А, а автомобиль сменился на местоположение В, я вытащу местоположение В. Поэтому я считаю, что мне нужен макрос Google Sheets и запланируйте его на каждый час, скопируйте информацию из этого динамического источника и вставьте ее в качестве значений в недавно добавленные проверки автомобилей:

Изображение, показывающее столбец A с несколькими отсутствующими пустыми значениями и полностью заполненный столбец B

Для строк, которые пусты в столбце A, мне нужно скопировать значения в столбце B и вставить их в виде текста в столбец A.

При необходимости ниже приведен демонстрационный лист…

https://docs.google.com/spreadsheets/d/1ZFBlDFb0gzyjm6CR4BwiYyes7lMpC5GzqgzSl9XppmA/edit?usp=sharing

Большое спасибо за внимание, ребята!

Ответ №1:

Попробуй

 function copyBtoA(){
  var sh = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()
  var data = sh.getRange(1,1,sh.getLastRow(),2).getValues()
  var result=[]
  for (var i=0;i<sh.getLastRow();i  ){
    if (data[i][0] == ''){
      result.push([data[i][1]])
    }
    else{
      result.push([data[i][0]])
    }
  }
  sh.getRange(1,1,result.length,result[0].length).setValues(result)
}
 

Комментарии:

1. Работает как волшебство, большое вам спасибо!