SpreadsheetApp.getActive().toast("Функция завершена");
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; //Указываем на каких листах должен работать скрипт
//Что-то делаем...
};
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Лист1").getRange("A2:B28").clear();
if (address !="B2") return;
=ArrayFormula(Лист1!A1:Z100)
=Arrayformula(
{
filter(Лист1!1:200;Лист1!A1:A200<>"");
filter(Лист2!1:200;Лист2!A1:A200<>"");
filter(Лист3!1:200;Лист3!A1:A200<>"")
}
)
={
IMPORTXML("http://spravkaby.com/phones/mts/page/1";"//div[1]/p");
IMPORTXML("http://spravkaby.com/phones/mts/page/2";"//div[1]/p");
IMPORTXML("http://spravkaby.com/phones/mts/page/3";"//div[1]/p")
}
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; //Указываем на каких листах должен работать скрипт
//Что-то делаем...
};
/**
* Возвращает true, если value содержится в inData как ключ с разделителем delimiter
*
* @param {A:A} inData Исходный массив или одиночная строка
* @param {"key"} value Значение, которое ищется среди слов
* @param {1} delimiter Разделитель слов. По умолчанию - ","
* @return Возвращает true, если inData - одиночное значение или аналогичный массив, если inData - диапазон
* @customfunction
*/
function isContainText(inData,value,delimiter) {
var delimiter = delimiter || ",";
if (inData.map){
return inData.map(function(el){return isContainText(el,value,delimiter)});
}else{
var data = inData.split(delimiter);
if (!data) return false;
return data.indexOf(value)!=-1;
};
}
=isContainText(A:A;"Ключ";",")
=СЧЁТЕСЛИ($B$1:$B$9;ИСТИНА)>2
ИСТИНА =СЧЁТЗ(filter($D$1:$D1;$D$1:$D1=ИСТИНА))<=2 =И(D1;E1)
ЛОЖЬ =СЧЁТЗ(filter($D$1:$D2;$D$1:$D2=ИСТИНА))<=2 =И(D2;E2)
ИСТИНА =СЧЁТЗ(filter($D$1:$D3;$D$1:$D3=ИСТИНА))<=2 =И(D3;E3)
ЛОЖЬ =СЧЁТЗ(filter($D$1:$D4;$D$1:$D4=ИСТИНА))<=2 =И(D4;E4)
ИСТИНА =СЧЁТЗ(filter($D$1:$D5;$D$1:$D5=ИСТИНА))<=2 =И(D5;E5)
ИСТИНА =СЧЁТЗ(filter($D$1:$D6;$D$1:$D6=ИСТИНА))<=2 =И(D6;E6)
ИСТИНА =СЧЁТЗ(filter($D$1:$D7;$D$1:$D7=ИСТИНА))<=2 =И(D7;E7)
ИСТИНА =СЧЁТЗ(filter($D$1:$D8;$D$1:$D8=ИСТИНА))<=2 =И(D8;E8)
ИСТИНА =СЧЁТЗ(filter($D$1:$D9;$D$1:$D9=ИСТИНА))<=2 =И(D9;E9)
=СУММЕСЛИ(СТРОКА(A1); "<="&СТРОКА(A1); A1:A10) =СУММЕСЛИ(СТРОКА(A2); "<="&СТРОКА(A2); A1:A10) =СУММЕСЛИ(СТРОКА(A3); "<="&СТРОКА(A3); A1:A10)
и т.д., результат совершенно неадекватный???
function onEdit(event){
var as = event.source.getActiveSheet();
if ((event.source.getActiveRange().getA1Notation()=="A1")&&(as.getName()=="Лист1")&&(event.source.getActiveRange().getValue()===true)){
as.getRange("B1").setValue("Флажок установлен "+formatDateTime(new Date()));
};
};
function formatDateTime(date) {
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;
var hh = date.getHours();
if (hh < 10) hh = '0' + hh;
var MM = date.getMinutes();
if (MM < 10) MM = '0' + MM;
var ss = date.getSeconds();
if (ss < 10) ss = '0' + ss;
return dd + '.' + mm + '.' + yy + ' ' + hh + ':'+ MM + ':'+ ss;
}
IMPORTRANGE(ключ_таблицы; диапазон)