Как скопировать значения из ячеек одного листа и вставить их в новую строку на другом листе?

У меня есть файл Google таблиц, в котором на одном листе ведутся ежедневные рабочие показатели. Как можно перенести данные из ячеек с этими показателями на другой лист файла, чтобы они помещались в определённые ячейки новой строки, учитывая, что лист с ежедневными показателями очищается каждый день? Спасибо!
  • 14 ноября 2024 г. 11:03
Ответы на вопрос 2
Скопировать значения из ячеек одного листа и вставить их в новую строку на другом листе в Google Таблицах можно с помощью Apps Script или вручную. Вот как это можно сделать с помощью Apps Script:

1. **Откройте Google Таблицы** и нажмите на `Extensions` (Расширения) в меню, затем выберите `Apps Script`.

2. **Создайте новый проект**, если это необходимо, и удалите любые автоматически созданные коды в редакторе скриптов.

3. **Вставьте следующий код**:

```javascript
function copyData() {
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  
  // Лист с ежедневными показателями
  var sourceSheet = spreadsheet.getSheetByName("ИмяИсходногоЛиста"); // замените на имя вашего листа
  // Лист, куда будут скопированы данные
  var targetSheet = spreadsheet.getSheetByName("ИмяЦелевогоЛиста"); // замените на имя вашего целевого листа
  
  // Получите данные из ячеек, которые вам нужны
  var dataToCopy = [
    sourceSheet.getRange("A1").getValue(), // замените на нужные вам ячейки
    sourceSheet.getRange("B1").getValue(), // добавьте дополнительные ячейки по необходимости
    sourceSheet.getRange("C1").getValue()
  ];
  
  // Найдите первую пустую строку на целевом листе
  var targetRow = targetSheet.getLastRow() + 1;
  
  // Вставьте данные в новую строку
  targetSheet.getRange(targetRow, 1, 1, dataToCopy.length).setValues([dataToCopy]);
}
```

4. **Обновите имена листов** («ИмяИсходногоЛиста» и «ИмяЦелевогоЛиста») и диапазоны ячеек, которые нужно копировать, в соответствии с вашей таблицей.

5. **Сохраните проект** и закройте редактор скриптов.

6. Чтобы **запустить скрипт**, вернитесь в Google Таблицы и снова нажмите на `Extensions` -> `Macros` -> `Import`, выберите ваш новый скрипт и добавьте его как макрос. Теперь его можно будет запускать из меню макросов или из редактора скриптов.

Это решение будет работать каждый раз, когда вы будете запускать функцию `copyData()`, и оно будет копировать указанные значения в новый ряд на целевом листе.
Добрый день. 
Можно воспользоваться макросом переноса данных по событию на заданное время, до момента очистки данных.
Похожие вопросы