Untitled
unknown
plain_text
2 years ago
2.2 kB
30
Indexable
function onOpen() {
const ui = SpreadsheetApp.getUi();
ui.createMenu('Zpracovat Adresy')
.addItem('Zpracovat', 'zpracujAdresy')
.addToUi();
}
function zpracujAdresy() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getActiveSheet();
const range = sheet.getDataRange();
const values = range.getValues();
const vyjimky = [
"Jablunkov 994",
"Kaštanová 182",
"Žabeň 155",
"Žihla 931"
];
const vymezeneAdresy = [
"Bukovec 107",
"Bukovecká 76",
"Bystřice 8",
"Bystřice nad Olší 410",
"Dukelská 139",
"Mosty u Jablunkova 800",
"Nádražní 107",
"Návsí 288",
"Návsí 933",
"Nýdek 251",
"Vendryně 310",
"Vendryně 928",
"Vendryně 1346",
"Nádražní 107"
];
let pocetAdres = 0;
let pocetBaliku = 0;
let pocetDuplikat = 0;
let stops = {};
let adresaCounter = {};
values.forEach((row, index) => {
if (index === 0) return;
const adresa = row[6];
const potvrdit = row[17];
if (potvrdit !== "ANO") return;
if (!vyjimky.includes(adresa) && !vymezeneAdresy.includes(adresa)) {
adresaCounter[adresa] = (adresaCounter[adresa] || 0) + 1;
}
if (vyjimky.includes(adresa)) return;
if (vymezeneAdresy.includes(adresa)) {
pocetBaliku += 1;
stops[adresa] = true;
return;
}
pocetAdres += 1;
});
for (let adresa in adresaCounter) {
if (adresaCounter[adresa] > 1) {
pocetDuplikat += adresaCounter[adresa] - 1;
}
}
const pocetStops = Object.keys(stops).length;
const odchylkaInput = Browser.inputBox("Zadejte procentuální odchylku:");
const odchylka = odchylkaInput.replace(',', '.');
const pocetAdresOdchylka = pocetAdres + (pocetAdres * (parseFloat(odchylka) / 100));
const vysledek = `
Počet adres dle manifestu: ${pocetAdres}\\nPočet balíků na výdejních místa: ${pocetBaliku}\\nStopů na VM: ${pocetStops}\\nPočet duplicitních adres: ${pocetDuplikat}\\nPočet adres na základě průměrné odchylky: ${pocetAdresOdchylka.toFixed(2)}
`;
Browser.msgBox(vysledek);
}
Editor is loading...
Leave a Comment