Google Sheet: сдвиг данных на одну строку или добавление одной строки над данными, когда ячейка B2 не пуста

В Google Sheets я хочу автоматически сдвинуть все строки на 1 строку после вставки данных в B2.

Я стараюсь поддерживать чистую строку 2, независимо от того, сколько данных вставлено, например, приведенный ниже пример:

Row 1   Data1   Data2   Data3   Data4   Data5   Data6
Row 2                       
Row 3   asdasd  zxczxc  qweqwe  asdasd  zxczxc  qweqwe
Row 4   asdasd  zxczxc  qweqwe  asdasd  zxczxc  qweqwe
Row 5   asdasd  zxczxc  qweqwe  asdasd  zxczxc  qweqwe
Row 6   asdasd  zxczxc  qweqwe  asdasd  zxczxc  qweqwe
Row 7   asdasd  zxczxc  qweqwe  asdasd  zxczxc  qweqwe
Row 8   asdasd  zxczxc  qweqwe  asdasd  zxczxc  qweqwe
Row 9   asdasd  zxczxc  qweqwe  asdasd  zxczxc  qweqwe

Я понимаю, что могу вставлять строки вручную, но я ищу способ ускорить ввод данных на работе. Любой вклад приветствуется. Я не возражал бы, если бы я мог связать функцию в кнопку в верхней части листа, если это возможно.

2 ответа

Лучшее и наиболее эффективное решение - создать макрос для вставки новой строки над строкой 2.

Чтобы создать макрос:
1 - В главном меню выберите "Инструменты", "Макросы", "Запись макроса". Состояние макроса отображается внизу экрана; Вы можете игнорировать это в настоящее время.
2 - выделите строку 2 в "столбце строки" в крайнем левом углу экрана; щелкните правой кнопкой мыши на Row2, затем выберите "Вставить 1 выше". 3 - Теперь перейдите к статусу макроса внизу экрана и нажмите "Сохранить", дайте вашему макросу разумное имя и сочетание клавиш.
4 - Теперь запустите свой макрос с помощью сочетания клавиш или вернитесь в главное меню "Инструменты", "Макросы". Ваш макрос появится внизу панели; щелкните по имени макроса.
5 - Система сообщит, что требуется авторизация. Нажмите "Продолжить" и следуйте инструкциям для авторизации.

Вот и все.

Вы можете создать кнопку для ссылки на макрос. Я оставлю это вам для исследования. Один совет: поместите кнопку в /on/ выше / Row 1, иначе при вставке строк ваша кнопка будет постепенно перемещаться вниз по экрану.

FWIW, у Infoinspired есть хорошее руководство о том, как записывать и запускать макросы в Google Sheets.

Я хотел сделать что-то подобное: Сохранить замороженную строку 1 с заголовками Добавить строку 2, когда я набираю ячейку A2, чтобы я мог добавлять данные в верхнюю часть листа, а не прокручивать вниз.

Благодаря коллеге Доманику, который работал со мной и другими полезными людьми в stackoverflow, мы создали этот скрипт:

      function onEdit(e) {
  var myRange = SpreadsheetApp.getActiveSheet().getRange('A2:A2000'); //<<< Change Your Named Ranged Name Here

  //Let's get the row & column indexes of the active cell
  var row = e.range.getRow();
  var col = e.range.getColumn();

  //Check that your active cell is within your named range
  if (col >= myRange.getColumn() && col <= myRange.getLastColumn() && row >= 
    myRange.getRow() && row <= myRange.getLastRow()) { //As defined by your Named Range
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getSheets()[0];
    sheet.insertRowBefore(2);//Replace Your Custom Code Here
  }
}
Другие вопросы по тегам