$A2:$E89
. Это позволит закрашивать построчно. А в настройках проверки укажите "Пользовательская формула" и =$E:$E=TRUE
.=INDEX(
IFS(
B2:B8<=6,"0 ... 6",
B2:B8<=8,"7 ... 8",
B2:B8<=10,"9 ... 10"
)
)
={
UNIQUE(C2:C8),
INDEX(
COUNTIFS(C2:C8,UNIQUE(C2:C8))/
COUNTA(C2:C8)
)
}
try {
Drive.Files.trash(file.getId());
} catch (err) {
console.log(err.message, file.getName());
}
let files = DriveApp.getFolderById(tempFolderId)
.searchFiles('"me" in owners and title != "nothing"');
MMULT
результатов MMULT
=INDEX(
MMULT(
N(ARRAY_CONSTRAIN(C2:Z/(MMULT(TRANSPOSE(ROW(C2:Z)^0);N(C2:Z)));
MATCH(2;1/(B2:B<>"");1);
MATCH(2;1/(C1:1<>"");1)));
SEQUENCE(MATCH(2;1/(C1:1<>"");1);1)^0)/MATCH(2;1/(C1:1<>"");1)
)
MATCH(2;1/(B2:B<>"");1)
может быть избыточна в том смысле, что это поиск последнего действительного значения для обрезки. Если вы будете содержать последовательности заголовков событий и игроков без пробелов, то действительно следующее=INDEX(
MMULT(
N(ARRAY_CONSTRAIN(C2:Z/(MMULT(TRANSPOSE(ROW(C2:Z)^0);N(C2:Z)));
COUNTA(B2:B);
COUNTA(C1:1)));
SEQUENCE(COUNTA(C1:1);1)^0)/COUNTA(C1:1)
)
if(respons.getResponseCode()){
const data = JSON.parse(respons.getContentText());
console.log(data.info);
}
> JSON.parse('rewt{')
< VM240:1 Uncaught SyntaxError: Unexpected token r in JSON at position 0
at JSON.parse (<anonymous>)
at <anonymous>:1:6
=ARRAYFORMULA(IF(A3:A100<>"";MMULT(
(ROW(A3:A100)>=TRANSPOSE(ROW(A3:A100))) *
(A3:A100=TRANSPOSE(A3:A100))^1;
ROW(A3:A100)^0
);))
=FILTER(H:K;MATCH(H:H;A1:A6;0))
{
const sheet2 = sheet.copyTo(ss).setName(sheet2.getResponseText());
sheet2.activate();
ss.moveActiveSheet(1);
}
function muFunction() {
const ui = SpreadsheetApp.getUi();
const book = SpreadsheetApp.getActiveSpreadsheet();
const sheet = book.getSheetByName('Шаблон');
const prompt = ui.prompt('New Sheet Name?');
if (prompt.getResponseText()) {
const copy = sheet.copyTo(book).setName(prompt.getResponseText());
copy.activate();
book.moveActiveSheet(sheet.getIndex());
}
}
book.moveActiveSheet(sheet.getIndex()+1);
=ARRAYFORMULA(IF(A2:A="";;
REGEXMATCH(A2:A;"(" & TEXTJOIN("|";1;D2:D) & ")")
))
=ARRAYFORMULA(
IF(
(A2:A<>"") * REGEXMATCH(A2:A;"(" & TEXTJOIN("|";1;D2:D) & ")");
A2:A;
))
=ARRAYFORMULA(TRANSPOSE(TRIM(QUERY(
IF(IFERROR(FIND(B2:B5;TRANSPOSE(A2:A7));"");B2:B5;);
;
9^9
))))
=FILTER(A1:A5;B1:B5<=2500)
FILTER
https://contributor.pw/post/google-sheets-formulas... function insertImageToCell() {
const image = SpreadsheetApp
.newCellImage()
.setSourceUrl('https://upload.wikimedia.org/wikipedia/commons/5/50/Smile_Image.png')
.build();
SpreadsheetApp.getActiveRange()
.setValue(image);
}
Функция вставки
/**
* Insert a single image to the cell. A1 is default
*
* @param {GoogleAppsScript.Spreadsheet.Sheet} sheet
* @param {GoogleAppsScript.Base.Blob} blob
* @param {number} row
* @param {number} column
*/
function insertImageBlobToCell_(sheet, blob, row = 1, column = 1) {
const sheetName = sheet.getName();
const parentId = sheet.getParent().getId();
return DocsServiceApp.openBySpreadsheetId(parentId)
.getSheetByName(sheetName)
.insertImage([{ blob, range: { row, column } }]);
}
Пример вызова
/**
* Insert an image blob to the cell
*/
function userActionRun() {
const sheet = SpreadsheetApp.getActiveSheet();
const blob = UrlFetchApp.fetch(
'https://contributor.pw/img/post/sheets/sheets_mmult-some-uses-cases_01.png'
).getBlob();
insertImageBlobToCell_(sheet, blob);
}
Результат
Не забудьте добавить библиотекув свой проект. Пример манифеста в сниппете108j6x_ZX544wEhGkgddFYM6Ie09edDqXaFwnW3RVFQCLHw_mEueqUHTW
="Итого с учетом всего : " & TEXT(D8;"#,##0.00") & REGEXREPLACE(
MONEYTEXT(D8;"RUB") & " ноль копеек ";
"(.*)\s(руб[а-я]+)(.*?)(коп[а-я]+)(.*)";
" ($1) $2 " & TEXT(ROUND(MOD(D8;1);2)*100;"00") & " $4"
)
Замечание. Представление текста валют обусловлено общим форматом интерпретатора и видением группы разработчиков и не поддерживает никаких банковских или других стандартов. Основная причина - отсутствие поддержки в развитии продукта. Времени и сил хватает только на исправление багов.
="Итого с учетом всего : " & D8 & " " & REGEXREPLACE(
MONEYTEXT(D8; "RUB");
"(.*?)\s(руб[а-я]{0,})[\s].*?(коп[а-я]{0,})";
"($1) $2 " & REGEXEXTRACT("" & D8;",(\d{2})") & " $3"
)