data>=row[data_col] and data1<row[data_col]
=filter(A:A;B:B>=data;B:B<data1)
//Telegram - @ProgrammerForever
function onEdit(event) {
//Перенос в архив
//Возникает при изменении ячейки
var ss = event.source.getActiveSheet();//Текущий лист
var address = event.range.getA1Notation().toUpperCase();//Адрес ячейки
var row = event.range.getRow(); //Номер строки
var col = event.range.getColumn(); //Номер столбца
var newValue = event.value; //Новое значение
var oldValue = event.oldValue; //Старое значение
if (["Лист1","Лист2"].indexOf(ss.getName())==-1) return; //Указываем на каких листах должен работать скрипт
//Можно при желании ещё фильтровать по строке/столбцу (row/col), или по старому/новому значению (oldValue/newValue)
const archive = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Архив");
archive.getRange(archive.getLastRow()+1, 1).setValue(
formatDateTime(new Date())+" " + "[" + ss.getName() + "!" + address + "] '" + (oldValue==undefined?"":oldValue) + "' >> '" + (newValue==undefined?"":newValue) +"'"
);
};
function formatDate(date) {
try{
var dd = date.getDate();
if (dd < 10) dd = '0' + dd;
var mm = date.getMonth() + 1;
if (mm < 10) mm = '0' + mm;
var yy = date.getFullYear() % 100;
if (yy < 10) yy = '0' + yy;
return dd + '.' + mm + '.' + yy;
}catch(err){
return "";
};
}
function onEdit(event) {
//* Боев Григорий (с) 2020 (telegram @ProgrammerForever)
const ss = event.source.getActiveSheet(); // Текущий лист
const row = event.range.getRow(); // Номер строки
const col = event.range.getColumn(); // Номер столбца
const rowsCount = ss.getMaxRows(); // Кол-во строк
const inRange = ss.getRange(1,col,rowsCount,1);
var inData = inRange.getValues(); // Получение значений
inRange.clearContent(); // Удаление старых
inData = inData.filter(row=>row[0].getTime); // Оставить только даты
inData.sort((a,b)=>a[0].getTime()-b[0].getTime()); // Сортировка
ss.getRange(1,col,inData.length,1).setValues(inData); //Вывод
};
//*[@id="main-pace-val-0"]/div[3]
/**
* Возникает при изменении ячейки
* Боев Григорий (с) 2020 (telegram @ProgrammerForever)
* @param {event} event event-объект https://developers.google.com/apps-script/guides/triggers/events?hl=ru
* @return Не возвращает значений
* @customfunction
*/
function onEdit(event) {
var newValue = event.value; //Новое значение
var r = /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/;
var style = SpreadsheetApp.newTextStyle()
.setBold(false)
.setUnderline(false)
.setForegroundColor("#000000")
.build();
var richText = SpreadsheetApp.newRichTextValue()
.setText(newValue)
.setTextStyle(style)
.build();
if (r.test(newValue)){
SpreadsheetApp.getActiveRange().setRichTextValue(richText);
};
};
=ArrayFormula(ЕСЛИ(A1:A="";"";ГИПЕРССЫЛКА(A1:A&B1:B&C1:C)))
{ FILTER({Замечательный массив};FIND(13;НомерПартии));
FILTER({Замечательный массив};FIND(17;НомерПартии));
FILTER({Замечательный массив};FIND(27;НомерПартии)) }
var sheet = SpreadsheetApp.getActiveSpreadsheet();
const sheetName = sheet.getName(); // Тут получаем название вкладки
//...
if ((range.getColumn() == 1 )&&(sheetName==="Лист1")){//Проверяем
if(Session.getActiveUser()!=('log1@stark-automotive.com' || 'alisa.asatryan@stark-automotive.com')){
MailApp.sendEmail('log1@stark-automotive.com', 'КМ внес поставку', 'в ячейку '+cell+' менеджером '+Session.getActiveUser());
}
}
var sheet = SpreadsheetApp.getActiveSpreadsheet();
if (["Лист1","Лист2"].indexOf(sheet.getName())==-1) return;//Список листов на которых скрипт работает
bike_param = {
'Название:' : bike_name,
'URL:' : '=HYPERLINK("' + url +'"; "link")',
}
=ЕСЛИ(ЕЧЁТН(СТРОКА());
arrayformula(ДВССЫЛ("R"&((СТРОКА()-2)/2+1)&"C1:R"&((СТРОКА()-2)/2+1)&"C4";0));
arrayformula(ДВССЫЛ("R"&((СТРОКА()-3)/2+1)&"C5:R"&((СТРОКА()-3)/2+1)&"C8";0))
)
=FILTER({A:D;E:H};{A:A;E:E}<>"")