Untitled
unknown
plain_text
2 years ago
2.2 kB
25
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