Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Замена хначений в массиве - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Замена хначений в массиве
yurakhl Дата: Четверг, 31.10.2024, 07:37 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 28
Репутация: 0 ±
Замечаний: 0% ±

2021
Друзья!

Задача вроде супер простая

Есть гугл таблица https://docs.google.com/spreads....2193563

лист data содержит некий список дел
А лист main содержит только те дела, которые не в статусе "Выполнен" через формулу фильтра
я хочу, чтобы при изменении значений в столбца D на листе main у меня скрипт менял их и на листе dara
т.е. условно я нажимаю "готов" или "в работе" на листе main, то на листе "data" у меня тоже меняется значение.

написал скрипт, но он не работает. Ошибка где то в последних 3х строках
потом прикручу onEdit

Цитата

function changestatus() {
var mainsh = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('main')
var sh = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('data')



let ar = mainsh.getActiveCell();
let valueToSet = ar.getValue();
let valueToFind = ar.offset(0, -1).getValue();
Logger.log(valueToSet)
Logger.log(valueToFind)


var _arr2 = sh.getRange('b:d');
var _arr1 = sh.getRange('b:d').getValues()

var status = mainsh.getRange('b:d').getValues().filter(function (row) { return row[3] });
for (var i = 0; i < _arr1.length; i++) {
//Logger.log(_arr1[i][1]

if (_arr1[i][1] == valueToFind) {

Logger.log("if" + _arr1[i][1]);
return _arr1(i,2).setValue(valueToSet)

}
}
}
 
Ответить
СообщениеДрузья!

Задача вроде супер простая

Есть гугл таблица https://docs.google.com/spreads....2193563

лист data содержит некий список дел
А лист main содержит только те дела, которые не в статусе "Выполнен" через формулу фильтра
я хочу, чтобы при изменении значений в столбца D на листе main у меня скрипт менял их и на листе dara
т.е. условно я нажимаю "готов" или "в работе" на листе main, то на листе "data" у меня тоже меняется значение.

написал скрипт, но он не работает. Ошибка где то в последних 3х строках
потом прикручу onEdit

Цитата

function changestatus() {
var mainsh = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('main')
var sh = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('data')



let ar = mainsh.getActiveCell();
let valueToSet = ar.getValue();
let valueToFind = ar.offset(0, -1).getValue();
Logger.log(valueToSet)
Logger.log(valueToFind)


var _arr2 = sh.getRange('b:d');
var _arr1 = sh.getRange('b:d').getValues()

var status = mainsh.getRange('b:d').getValues().filter(function (row) { return row[3] });
for (var i = 0; i < _arr1.length; i++) {
//Logger.log(_arr1[i][1]

if (_arr1[i][1] == valueToFind) {

Logger.log("if" + _arr1[i][1]);
return _arr1(i,2).setValue(valueToSet)

}
}
}

Автор - yurakhl
Дата добавления - 31.10.2024 в 07:37
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!