仅删除 Google 工作表中的空白单元格(不是行)
Removing only blank cells (not rows) in Google Sheets
能否请您协助编写一个简单的 Google 表格脚本,让我可以制作一个 sheet,如下所示:
点击 1 次自动将其转换为此(即 - 不是删除 ROWS,而是仅删除空单元格并向上移动):
使用:
=ARRAYFORMULA({A1:C1; TRANSPOSE(SPLIT(TRANSPOSE(QUERY(A2:C,,999^99)), " "))})
你可以使用这个方法:
var sheet = SpreadsheetApp.getActive();
sheet.getRange('A12').deleteCells(SpreadsheetApp.Dimension.COLUMNS); // Cell left
sheet.getRange('A12').deleteCells(SpreadsheetApp.Dimension.ROWS); //cell up
或
var sheet = SpreadsheetApp.getActive();
var range = sheet.getRange('A12');
range.deleteCells(SpreadsheetApp.Dimension.COLUMNS);
range.deleteCells(SpreadsheetApp.Dimension.ROWS);
您必须从最后一行开始迭代,然后从底部开始逐个检查 A、B、C 列或其他单元格,如果空白则执行 range.deleteCells(SpreadsheetApp.Dimension.ROWS);
您要求的样本:
function adder()
{
var sheet = SpreadsheetApp.getActive().getSheetByName('Sheet2');
var lastRow = sheet.getLastRow();
for (var i = 1; i < lastRow+1; i++){
if((sheet.getRange('A'+(lastRow-i+1)).getValue()) + ""=="")
{
sheet.getRange('A'+(lastRow-i+1)).deleteCells(SpreadsheetApp.Dimension.ROWS);
}
//var valueB = sheet.getRange('B'+(lastRow-i+1)).getValue() + "";
if((sheet.getRange('B'+(lastRow-i+1)).getValue())=="")
{
sheet.getRange('B'+(lastRow-i+1)).deleteCells(SpreadsheetApp.Dimension.ROWS);
}
//var valueC = sheet.getRange('C'+(lastRow-i+1)).getValue() + "";
if((sheet.getRange('C'+(lastRow-i+1)).getValue())=="")
{
sheet.getRange('C'+(lastRow-i+1)).deleteCells(SpreadsheetApp.Dimension.ROWS);
}
}
}
能否请您协助编写一个简单的 Google 表格脚本,让我可以制作一个 sheet,如下所示:
点击 1 次自动将其转换为此(即 - 不是删除 ROWS,而是仅删除空单元格并向上移动):
使用:
=ARRAYFORMULA({A1:C1; TRANSPOSE(SPLIT(TRANSPOSE(QUERY(A2:C,,999^99)), " "))})
你可以使用这个方法:
var sheet = SpreadsheetApp.getActive();
sheet.getRange('A12').deleteCells(SpreadsheetApp.Dimension.COLUMNS); // Cell left
sheet.getRange('A12').deleteCells(SpreadsheetApp.Dimension.ROWS); //cell up
或
var sheet = SpreadsheetApp.getActive();
var range = sheet.getRange('A12');
range.deleteCells(SpreadsheetApp.Dimension.COLUMNS);
range.deleteCells(SpreadsheetApp.Dimension.ROWS);
您必须从最后一行开始迭代,然后从底部开始逐个检查 A、B、C 列或其他单元格,如果空白则执行 range.deleteCells(SpreadsheetApp.Dimension.ROWS);
您要求的样本:
function adder()
{
var sheet = SpreadsheetApp.getActive().getSheetByName('Sheet2');
var lastRow = sheet.getLastRow();
for (var i = 1; i < lastRow+1; i++){
if((sheet.getRange('A'+(lastRow-i+1)).getValue()) + ""=="")
{
sheet.getRange('A'+(lastRow-i+1)).deleteCells(SpreadsheetApp.Dimension.ROWS);
}
//var valueB = sheet.getRange('B'+(lastRow-i+1)).getValue() + "";
if((sheet.getRange('B'+(lastRow-i+1)).getValue())=="")
{
sheet.getRange('B'+(lastRow-i+1)).deleteCells(SpreadsheetApp.Dimension.ROWS);
}
//var valueC = sheet.getRange('C'+(lastRow-i+1)).getValue() + "";
if((sheet.getRange('C'+(lastRow-i+1)).getValue())=="")
{
sheet.getRange('C'+(lastRow-i+1)).deleteCells(SpreadsheetApp.Dimension.ROWS);
}
}
}