/**
* Возвращает примечание к ячейке
* Telegram - @ProgrammerForever
*
* @param {string} sheetName Имя листа
* @param {string} rangeName Адрес ячейки в текстовом виде
* @return Возвращает примечание к ячейке
* @customfunction
*/
function getNotes(sheetName, rangeName){
return SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName).getRange(rangeName).getNotes()
}
=getNotes("Лист1";"A10")
=getNotes("Лист1";"A10:B15")
Public Function getShortName(strText As Variant) As String
Dim myRegExp As New RegExp
Dim matches As MatchCollection
myRegExp.Global = True
myRegExp.IgnoreCase = True
myRegExp.Pattern = "(\S+)\s+(\S)\S*\s+(\S)\S*"
Set matches = myRegExp.Execute(strText)
getShortName = matches(0).SubMatches(0) & " " & matches(0).SubMatches(1) & "." & matches(0).SubMatches(2) & "."
End Function
Function getShortName(strText As String) As String
Dim a
a = Split(strText, " ")
getShortName = a(0) & " " & Left(a(1), 1) & "." & Left(a(2), 1) & "."
End Function
sin(x) = x - x³/(3!) + x⁵/(5!) - x⁷/(7!) + x⁹/(9!) - ...
3й - 10000*0,9 =9000 (разряд 3го)
2й - 10000*0,9*0,9*0,9 = 7290 (разряд 2го, заряд 3го, разряд 3го)
1й - 10000*0,9*0,9*0,9*0,9*0,9 = 5904,9 (разряд 1го, заряд 2го, разряд 2го, заряд 3го, разряд 3го)
=REGEXEXTRACT( join("|";IMPORTXML("https://shikimori.one/animes/40935-beastars";"//*[@id='animes_show']/section/div[1]/div[2]/div/div/div[1]/div[1]/div[2]/div/div[2]/div[1]/div[2]/div/div[2]//text()"));"0?(.*?)\|.*")
ws.getRange(2, 1, 1000, ws.getLastColumn()).clearFormat();
//...
"sheets": {
"macros": [{
"menuName": "macros1",
"functionName": "myFunction",
"defaultShortcut": "Ctrl+Shift+Alt+1"
}]
}
//...
function onSelectionChange() {
let ss = SpreadsheetApp.getActiveSpreadsheet();
let as = ss.getActiveSheet();
let ac = as.getActiveCell();
let row = ac.getRow();
as.getRange(row+":"+row).setBackground("yellow");
}
=arrayformula({'Лист2'!1:1000;'Лист3'!1:1000})
function onChange() {
const targetSheetName = "Лист1"; // Сюда вставляем значения
const targetSheetRange = "A1"; // Сюда вставляем значения
const dataRange = "1:1000"; // Диапазон данных извлекаемых из каждого листа
let as = SpreadsheetApp.getActiveSpreadsheet();
let sheets = as.getSheets();
let outFormula = "=arrayformula({";
let sheetNames = sheets
.map(sheet=>sheet.getName())
.filter(sheetName=>sheetName!=targetSheetName)
.map(sheetName=>"'"+sheetName+"'!"+dataRange)
.join(";");
outFormula+=sheetNames;
outFormula+="})";
as.getSheetByName(targetSheetName).getRange(targetSheetRange).setFormula(outFormula);
}
=('лист1'!$B$26)*$D$6
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; //Указываем на каких листах должен работать скрипт
//Что-то делаем...
};
=
ДВССЫЛ("R"&(СТРОКА()*3-2)&"C1";0)&" "&
ДВССЫЛ("R"&(СТРОКА()*3-1)&"C1";0)&" "&
ДВССЫЛ("R"&(СТРОКА()*3)&"C1";0)
=если(A2="";D1;A2)
=если(A2="";""; ЕСЛИ(B2="";E1;B2) )
=если(ИЛИ(A2="";B2="");""; ЕСЛИ(C2="";F1;C2) )