請益 Google Sheet 試算表功能
目前新增這段可以程式碼,可以把第一列保持空白可以讓使用者新增資料,新增的資料會依序往下新增一列排序下去,要怎麼修改才能變成第一欄保持空白新增資料用,新增的資料最新的保持在第二列,舊資料就自動往後排下去,這樣資料一多就不用拉到最下層確定有沒有輸入錯誤
function onEdit(e) {
var sheet = e.source.getActiveSheet();
var range = e.range;
var columnIndex = range.getColumn();
var rowIndex = range.getRow();
if (rowIndex === 1 && range.getValue() !== "") {
var nextRow = findNextEmptyRow(sheet, columnIndex);
var nextCell = sheet.getRange(nextRow, columnIndex);
nextCell.setValue(range.getValue());
range.clearContent();
}
}
function findNextEmptyRow(sheet, columnIndex) {
var data = sheet.getRange(1, columnIndex, sheet.getLastRow()).getValues();
for (var i = 0; i < data.length; i++) {
if (data[i][0] === "") {
return i + 1;
}
}
return data.length + 1;
}
這應該是你想要的
function onEdit(e) {
var sheet = e.source.getActiveSheet();
var range = e.range;
var columnIndex = range.getColumn();
var rowIndex = range.getRow();
if (rowIndex === 1 && range.getValue() !== "") {
var nextRow = 2;
var numRows = sheet.getLastRow() - 1;
var valuesToShift = sheet.getRange(nextRow, columnIndex, numRows).getValues();
sheet.getRange(nextRow + 1, columnIndex, numRows).setValues(valuesToShift);
sheet.getRange(nextRow, columnIndex).setValue(range.getValue());
range.clearContent();
}
}