簡體   English   中英

Javascript-遍歷電子表格合並的單元格

[英]Javascript - Looping through spreadsheet merged cells

我正在遍歷JavaScript中的Google電子表格中的一系列數據。

我遇到的問題是我有一些合並的單元格具有相同的值,例如C:6至E:6都具有與合並這3個單元格相同的值。

所以在我的循環中它將顯示C:6 = 'Focus and targeting' D:6 = ''E:6 = ''我想做的是在我的循環中將第2個和第3個值分配給第一個單元格值。

這是我所擁有的:

  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();
}

並使用此功能更新代碼:

  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++;
  }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM