Скрипт таблицы, сопоставление с подстановочными знаками и разные случаи - PullRequest
0 голосов
/ 20 апреля 2020

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

1: подстановочный знак

if(original_date=='....-..-..')

2: если synteax

if(original_date=='....-..-..')
 {condition="matched"}

Detail

В электронной таблице, Есть две колонки. Первые столбцы имеют даты в формате ГГГГ-ММ-ДД, например, 2020-04-21. Но иногда они имеют разные форматы, такие как 21.04.2020. Вторые столбцы пусты. Только когда ячейка первого столбца имеет формат «ГГГГ-ММ-ДД», я хочу скопировать ячейку во вторую ячейку во втором столбце. * У них 10 строк.

Вот сценарий.

  var sheet = SpreadsheetApp.getActive().getSheetByName('Sheet1')
  for(let i=1; i<=10; i++)
  {
  original_date_range = sheet.getRange(i, 1);
  original_date = original_date_range.getValue();
  cleaned_date_range = sheet.getRange(i, 2);
  var condition = "";

  if(original_date=='....-..-..')
  {condition="matched"}

  switch(condition)
  {
  case "matched":
  cleaned_date_range.setValue(original_date);
  case "":
  cleaned_date_range.setValue("");
  break;
  }

  }

1 Ответ

0 голосов
/ 25 апреля 2020

Я нашел решение самостоятельно.

1.Wildcard

The date "2020-04-25" can be written as /\d{4}.\d{2}.\d{2}/

2. Если синтаксис

(Wildcard).test(string to check) is going to give you true/false output

В итоге, если вы хотите выполнить различные задачи посредством проверки формата даты, например 2020-04-25,

  var sheet1 = SpreadsheetApp.getActive().getSheetByName('Sheet1')
  var limit = sheet1.getLastRow()
  for(let i=4; i<=10; i++) //You can add more rows if you have
  {
  var orignal_date_cell = sheet1.getRange(i, 1);
  var orignal_date_cell_value = orignal_date_cell.getValue();
  var target_date_cell = sheet1.getRange(i,2);
  if ((/\d{4}.\d{2}.\d{2}/).test(orignal_date_cell_value))
  {
  target_date_cell.setValue(orignal_date_cell_value);
  }
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...