用相邻单元格的值填充空单元格

Filling up an empty cell with adjacent cell's value

我正在寻找一个可以转换这个的简单脚本

进入这个

如您所见,我已经手动复制并粘贴了 E 列中的那些空单元格以及 A 列中的相应值:我需要一个可以自动执行此操作的脚本。

我想它需要从两个不同的数组构建两组不同的数据,然后比较它们,但不幸的是我不知道如何执行那个..

  var ss        = SpreadsheetApp.getActiveSpreadsheet();
  var sheet     = ss.getSheetByName('name');
  var lastRow   = sheet.getLastRow();
  var extension = lastRow - 1;
  
  var colA = sheet.getRange(1, 1, extension).getValues();
  var colE = sheet.getRange(1, 5, extension).getValues();
..
  }

假设你的objective如下:

(fine)(F)列为空时,用data(A)列的值填充。

步骤是:

  1. 获取数据的值。
  2. 检查哪些行的长度小于 5
  3. 用 A 列中的数据填充那个。

样本:

Code.gs
const sS = SpreadsheetApp.getActiveSheet()
function fillEmpty() {
  /* Getting the data from the sS */
  const range = sS.getRange('A2:E' + sS.getLastRow())
  const values = range.getValues()
  /* Tmp Values */
  let tempValues = []
  values.forEach((row, idx) => {
    /* Check the length of the array */
    const check = row[4]

    /* UPDATED TO CHECK ONLY IF THE `fine` exists */
    if(check){
      tempValues.push(row)
    } else {
      /* Change the color for the modified */
      sS.getRange(idx + 2, 5).setBackground('#ffee00')
      let tmpR = row
      tmpR[4] = tmpR[0]
      tempValues.push(tmpR)
    }
  })
  range.setValues(tempValues)
}

来自:

data evento etichetta dettagli (fine)
1/10/2022 BLA BLE BLI 1/10/2022
1/15/2022 BLA BLE BLI
1/20/2022 BLA BLE
1/25/2022 BLA BLE
2/25/2022 BLA BLE BLI 2/25/2022

为此:

data evento etichetta dettagli (fine)
1/10/2022 BLA BLE BLI 1/10/2022
1/15/2022 BLA BLE BLI 1/15/2022
1/20/2022 BLA BLE 1/20/2022
1/25/2022 BLA BLE 1/25/2022
2/25/2022 BLA BLE BLI 2/25/2022

文档