带有空白行的自动填充数据 - Google 表格/Google Apps 脚本
Posted
技术标签:
【中文标题】带有空白行的自动填充数据 - Google 表格/Google Apps 脚本【英文标题】:AutoFill Data with Blank Rows - Google Sheets / Google Apps Script 【发布时间】:2020-05-14 12:25:12 【问题描述】:我有下面的电子表格,我想自动填充人名。问题是名称之间有空白行。每个名称都与一个 sku2 一致,并且需要与所有位置内联。最多可以有 10 个空白行(取决于位置的数量)。
如果我可以循环这个也许
function LoopTillLr()
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('A2').activate();
spreadsheet.getActiveRange().autoFillToNeighbor(SpreadsheetApp.AutoFillSeries.DEFAULT_SERIES);
spreadsheet.getCurrentCell().getNextDataCell(SpreadsheetApp.Direction.DOWN).activate();
;
感谢任何帮助
【问题讨论】:
您想使用脚本执行此操作的任何具体原因?因为这可以很容易地使用 IF 公式来完成。 您能分享一个期望结果的样本吗? 【参考方案1】:如果您只想根据变量 LOCATION 值复制 NAME 值,请使用此脚本:
function myFunction()
var ss = SpreadsheetApp.getActiveSheet();
var lastRow = ss.getDataRange().getLastRow();
for (var i = 1; i < lastRow+1; i++)
if (ss.getRange(i,1).getValue() == "")
var value = ss.getRange(i-1,1).getValue();
ss.getRange(i,1).setValue(value);
确保 A2 不为空,否则脚本将失败。
【讨论】:
【参考方案2】:如果是很多记录,你可以创建一个函数并运行它。以下内容一直执行到工作表末尾,因此请确保删除所有不需要的行或调整第二行中的范围。
function autoFillDown()
const range = SpreadsheetApp.getActiveSheet().getRange("A:A");
const rows = range.getValues();
let outputArray = [];
rows.forEach( row =>
// if it contains a name, leave it
if( row[0].length > 1)
outputArray.push( [row[0]] )
// otherwise replace it with the value above it
else
outputArray.push( [outputArray[outputArray.length-1]] );
);
range.setValues( outputArray );
【讨论】:
以上是关于带有空白行的自动填充数据 - Google 表格/Google Apps 脚本的主要内容,如果未能解决你的问题,请参考以下文章
运行 ZAPIER ZAP 后 Google 表格中的自动填充单元格