Google drive —> Google arvustustabel (google sheets)–> uus tabel


prompt: google scripts: koostoda funktsiooni mis loeb lahtrid a1 ja b1, liidab neid kokku ja kirjutab tulemus c1 lahtrisse
function liidaJaKirjuta() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var a1 = Number(sheet.getRange("A1").getValue());
var b1 = Number(sheet.getRange("B1").getValue());
var summa = a1 + b1;
sheet.getRange("C1").setValue(summa);
}

prompt: lisa veel et funktsioon peab tagastama muutuja sum ja nimeks pane summa_atribuutidega mis sõtlub kahest väärtusest mitte lahtrirest
/* prompt: lisa veel et funktsioon peab tagastama muutuja sum ja nimeks pane summa_atribuutidega mis sõtlub kahest väärtusest mitte lahtrirest
*/
function summa_atribuutidega(vaartus1, vaartus2) {
var sum = vaartus1 + vaartus2;
return sum;
}


Töö tabelite ja lehtede nimetustega


function kuvaAktiivneLahter() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var lahter = sheet.getActiveCell();
var aadress = lahter.getA1Notation();
var rida = lahter.getRow();
var veerg = lahter.getColumn();
Logger.log("Aktiivne lahter: " + aadress);
Logger.log("Reanumber: " + rida);
Logger.log("Veerunumber: " + veerg);
}

prompt: funktsioon mis lisab tabelisse ülemine rida ja teine veerg
function lisaRidaJaVeerg() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.insertRowBefore(1);
sheet.insertColumnBefore(2);
}



Lisame võimalust käivitada oma funktsioon otse failis mingi nuppu abil



prompt: kopeeri andmed lehest nimega vorm lehte nimega andmebaas ja lisa alati uue reale
function kopeeriAndmed() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
// Lehed
var vormLeht = ss.getSheetByName("vorm");
var andmebaasLeht = ss.getSheetByName("andmebaas");
// Võetakse andmed lehest "vorm"
var andmed = vormLeht.getRange("A2:D2").getValues();
var tyhiRida = andmebaasLeht.getLastRow() + 1;
// Lisatakse järgmisele vabale reale
andmebaasLeht.getRange(tyhiRida, 1, 1, andmed[0].length).setValues(andmed);
}




prompt: loo näidistabel toodetega, hindadega ja hinnaga koos käibemaksuga
function lisaAndmedKaibemaksuga() {
var leht = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
leht.getRange("A1:C1").setValues([
["Nimetus", "Hind", "Hind käibemaksuga"]
]);
var andmed = [
["piim", 1.2],
["kommid", 2.5],
["Coca-Cola", 1]
];
for (var i = 0; i < andmed.length; i++) {
var rida = i + 2;
var hind = andmed[i][1];
leht.getRange(rida, 1).setValue(andmed[i][0]);
leht.getRange(rida, 2).setValue(hind);
leht.getRange(rida, 3).setValue(hind * 1.2);
}
}


prompt: kujunda kogu täidetud tabel raamiga ja tee esimene rida bold kirjaks
function kujundaTabel() {
var leht = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var viimasRida = leht.getLastRow();
var viimasVeerg = leht.getLastColumn();
if (viimasRida === 0 || viimasVeerg === 0) return;
var vahemik = leht.getRange(1, 1, viimasRida, viimasVeerg);
vahemik.setBorder(true, true, true, true, true, true);
leht.getRange(1, 1, 1, viimasVeerg).setFontWeight("bold");
}


prompt: küsi kasutajalt toote nimetus, hind ja kogus popup akendes ning lisa uus rida tabelisse
function lisaUusToode() {
var leht = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var nimetus = Browser.inputBox("Sisesta toote nimetus:");
if (nimetus === "cancel" || nimetus === "") return;
var hind = parseFloat(Browser.inputBox("Sisesta hind:"));
if (isNaN(hind)) return;
var kogus = parseInt(Browser.inputBox("Sisesta kogus:"), 10);
if (isNaN(kogus)) return;
var tyhiRida = leht.getLastRow() + 1;
leht.getRange(tyhiRida, 1).setValue(nimetus);
leht.getRange(tyhiRida, 2).setValue(hind);
leht.getRange(tyhiRida, 3).setValue(hind * 1.2);
leht.getRange(tyhiRida, 4).setValue(kogus);
leht.getRange(tyhiRida, 5).setValue(hind * kogus);
kujundaTabel();
}




prompt: lisa veergudesse D ja E pealkirjad Kogus ja Kokku ning täida näidisandmed
function lisaKogusJaKokku() {
var leht = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
leht.getRange("D1").setValue("Kogus");
leht.getRange("E1").setValue("Kokku");
var kogused = [3, 5, 2];
for (var i = 0; i < kogused.length; i++) {
var rida = i + 2;
var hind = Number(leht.getRange(rida, 2).getValue());
leht.getRange(rida, 4).setValue(kogused[i]);
leht.getRange(rida, 5).setValue(hind * kogused[i]);
}
}

prompt: loo spreadsheet menüü nimega Tooted ja lisa sinna mitu nuppu funktsioonide käivitamiseks
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu("🛒 Tooted")
.addItem("Lisa andmed + käibemaks", "lisaAndmedKaibemaksuga")
.addItem("Kujunda tabel", "kujundaTabel")
.addItem("Lisa uus toode", "lisaUusToode")
.addItem("Lisa Kogus ja Kokku", "lisaKogusJaKokku")
.addSeparator()
.addItem("Kopeeri vorm -> andmebaas", "kopeeriAndmed")
.addItem("🧹 Kustuta andmed", "kustutaAndmed")
.addToUi();
}

prompt: google scripts: küsi kinnitust ja kustuta kõik tabeli read alates teisest reast
function kustutaAndmed() {
var leht = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var ui = SpreadsheetApp.getUi();
var vastus = ui.alert(
"Kustuta andmed",
"Kas oled kindel? Kõik andmed kustutatakse!",
ui.ButtonSet.YES_NO
);
if (vastus === ui.Button.YES) {
var viimasRida = leht.getLastRow();
if (viimasRida > 1) {
leht.getRange(
2,
1,
viimasRida - 1,
leht.getLastColumn()
).clearContent();
}
ui.alert("Andmed kustutatud!");
}
}


