=ARRAYFORMULA(FILTER(
A2:B;
MATCH(
A2:A;
QUERY(QUERY(
{A2:B;G2:G\-1*H2:H};
"select Col1, sum(Col2) where Col1<>'' group by Col1";
0
);"select Col1 where Col2<>0";0);
0
)
))
function myFunction() {
const book = SpreadsheetApp.getActiveSpreadsheet();
const sheet = book.getSheetByName('Лист');
const range = sheet.getRange('A1:L4');
const values = range.getValues();
range.setValues(calculate_(values));
}
/**
* @param {any[][]} values
* @returns {any[][]}
*/
function calculate_(values) {
return values.map((row, i) => {
const collection = row.slice(0, 3);
return row.map(((cell, j) => {
if (i < 1 || j < 3) return cell;
const header = values[0][j];
return collection.includes(header) ? 1 : '';
}));
});
}
function onEdit(e) {
if(e.range.getRow() > 1 && e.range.getColumn() === 2){
const value = e.range.getValue();
e.range.setValue(value === '' ? '' : value * .95);
}
}
VLOOKUP
, а в идеале обернуть в ARRAYFORMULA
=ARRAYFORMULA(IFERROR(VLOOKUP(E3:E14;B3:C;2;0);))
function copyFiles(fromId, toId) {
var srcFldr = DriveApp.getFolderById(fromId);
var srcFiles = srcFldr.getFiles();
var desFldr = DriveApp.getFolderById(toId);
var desFiles = desFldr.getFiles();
var dfnA = [];
while (desFiles.hasNext()) {
var df = desFiles.next();
dfnA.push(df.getName());
}
while (srcFiles.hasNext()) {
var sf = srcFiles.next();
if (dfnA.indexOf(sf.getName()) == -1) {
sf.makeCopy(sf.getName(), desFldr);
}
}
}
function run(){
copyFiles('ASDFASDFSDF2345234ADSFASDF', 'ASDFSDFasf452345345SAFDF-sagasdfASDF');
}
'Импорт'!J:J;"<"&A4
'Импорт'!J:J;"<="&A3
'Импорт'!J:J;"<"&A4
'Импорт'!J:J;">="&A3
>=
делать открытым его окончание <
=SUMIFS('Импорт'!L:L;'Импорт'!J:J;"<"&A6;'Импорт'!J:J;">="&A5;'Импорт'!C:C;$B$1)