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

У меня есть лист «Путевые расходы», где все расходы из разных валют конвертируются в доллары США через googlefinance. Мне нужно скопировать эту сумму в другую ячейку, чтобы сформировать ежемесячный отчет, так что, если курс валюты значительно изменится за месяц, я сохраню правильную сумму.

В основном, если ячейка в столбце U не пуста => скопировать ее в соседнюю ячейку в V.

https://docs.google.com/spreadsheets/d/1iBIg8b4BuUyHiuvogePyRbOhQulp1rCtUMXHpN_YKuQ/edit#gid=1586216805

Я использую следующий сценарий для: 1) отметок времени (работает отлично) 2) копирование валюты (работает, но это не то, что мне нужно).

function onEdit(e)
{var ss = e.source.getActiveSheet();                                             
   if (ss.getName() != "123")      // i use this for testing 

{
 var actRng = ss.getActiveRange();                                           
 var editColumn = actRng.getColumn();                                        
 var rowIndex = actRng.getRowIndex();                                        
 var headers = ss.getRange(1, 1, 1, ss.getLastColumn()).getValues();         
 var dateCol = headers[0].indexOf("Date of expence") + 1;                    
 var orderCol = headers[0].indexOf("Name") + 1;

 if (dateCol > 0 && rowIndex > 1 && editColumn == orderCol)                  
 {
  ss.getRange(rowIndex, dateCol).setValue(Utilities.formatDate(new Date(), "UTC+8", "dd-MM-yy"));}
 }

{
var source = ss.getRange ("U3:U400");
source.copyTo (ss.getRange ("V3:V400"), {contentsOnly: true});}
}

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

Приму все предложения, заранее спасибо!)

1 Ответ

0 голосов
/ 28 марта 2019

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

on Edit(e) {
  if(!e.range.getSheet().getRange(e.range.rowStart,23).isBlank()) {
    e.range.getSheet().getRange(e.range.rowStart,24).setValue(e.range.getSheet().getRange(e.range.rowStart,23).getValue())
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...