Javascript – 通过电子表格合并单元循环

我正在使用JavaScript在Google电子表格中循环播放一系列数据。

我遇到的问题是我有一些合并的单元格具有相同的值,例如C:6到E:6都具有与3个单元格合并相同的值。

所以在我的循环中,它会显示C:6 = 'Focus and targeting' D:6 = ''E:6 = ''我想要做的是在我的循环分配第二个和第三个值的第一个单元格值。

这是我有什么:

  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Audit'); var range = sheet.getDataRange(); var numRows = range.getNumRows(); var numCols = sheet.getMaxColumns(); var values = range.getValues(); var count = 0; for (var i = 2; i <= numCols - 2; i++) { var questionCategory = values[5][i]; if(questionCategory == undefined) { continue; } if(questionCategory == "") { // need to assign 2nd and 3rd cells of merged list to have the value of 1st cell in merged list } count++; } 

这里是数据的样子:

在这里输入图像说明

任何想法我可以如何实现这一目标?

这里是自定义函数来获取合并的单元格值:

 function getMergedCellValue(cellRange) { if (!cellRange.isPartOfMerge()) { return cellRange.getDisplayValue(); } return cellRange.getMergedRanges()[0].getDisplayValue(); } 

并使用此function更新代码:

  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Audit'); var range = sheet.getDataRange(); var numRows = range.getNumRows(); var numCols = range.getNumColumns(); var values = range.getValues(); var count = 0; var questionRowNum = 6; for (var i = 0; i < numCols; i++) { // assign 2nd and 3rd cells of merged list to have the value of 1st cell in merged list var questionCategory = values[questionRowNum-1][i] || getMergedCellValue(sheet.getRange(questionRowNum, i+1)); count++; }