Ответы пользователя по тегу Google Sheets
  • Возможно применить условное форматирование к ячейке с картинкой?

    Внёс в вашу таблицу изменения. Формула выглядит так=И($H1=$A$1;$H1<>"")
    Ответ написан
    Комментировать
  • Как отдельно вывести последние изменения в таблице Google Sheets?

    function onEdit(e) {
      var sheet = e.source.getSheetByName('Основной лист'); // Имя первого листа
      var editedRange = e.range;
      var editedRow = editedRange.getRow();
      var targetSheet = e.source.getSheetByName('Доп лист'); // Имя второго листа
      var targetDataColumns = ["Ссылка", "Данные №2", "Данные №3"]; // Список столбцов для копирования
    
      if (sheet.getName() == 'Основной лист' && editedRow > 1) {
        var editedData = sheet.getRange(editedRow, 1, 1, sheet.getLastColumn()).getValues()[0];
        var targetRow = findRowByTitle(targetSheet, editedData[editedData.length - 1]);
    
        if (targetRow === -1) {
          targetRow = targetSheet.getLastRow() + 1;
        }
    
        var targetData = [];
        for (var i = 0; i < targetDataColumns.length; i++) {
          var columnIndex = getColumnIndex(sheet, targetDataColumns[i]);
          targetData.push(editedData[columnIndex]);
        }
    
        targetSheet.getRange(targetRow, 1, 1, targetData.length).setValues([targetData]);
      }
    }
    
    function findRowByTitle(sheet, title) {
      var columnValues = sheet.getRange(2, sheet.getLastColumn(), sheet.getLastRow() - 1, 1).getValues();
      for (var i = 0; i < columnValues.length; i++) {
        if (columnValues[i][0] == title) {
          return i + 2; // Смещение на 2 из-за индексации массивов и заголовка
        }
      }
      return -1; // Если не найдено
    }
    
    function getColumnIndex(sheet, columnName) {
      var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0];
      for (var i = 0; i < headers.length; i++) {
        if (headers[i] == columnName) {
          return i + 1; // Смещение на 1 из-за индексации массивов
        }
      }
      return -1; // Если не найдено
    }
    Ответ написан
    Комментировать