#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. Работает как волшебство, большое вам спасибо!