5 funkcija skripte Google Sheets koje trebate znati
Google tablice(Google Sheets) moćan je alat za proračunske tablice u oblaku koji vam omogućuje da radite gotovo sve što možete učiniti u Microsoft Excelu(Microsoft Excel) . Ali prava snaga Google tablica(Google Sheets) je značajka Google Scripting koja dolazi s njima.
Skriptiranje za Google Apps(Google Apps) pozadinski je alat za skriptiranje koji radi ne samo u Google tablicama(in Google Sheets) , već i na Google dokumentima, Gmailu, Google Analyticsu(Google Analytics) i gotovo svim ostalim Google uslugama u oblaku. Omogućuje vam automatizaciju tih pojedinačnih aplikacija i integraciju svake od tih aplikacija jednu s drugom.
U ovom ćete članku naučiti kako započeti s pisanjem skripti za Google Apps , izradom osnovne skripte u Google tablicama(Google Sheets) za čitanje i pisanje podataka o ćelijama i najučinkovitijim naprednim funkcijama skripte Google tablica .(Google Sheets)
Kako stvoriti skriptu za Google Apps(How to Create a Google Apps Script)
Možete započeti s izradom svoje prve skripte za Google Apps iz Google tablica(Google Sheets) .
Da biste to učinili, s izbornika odaberite Alati , a zatim (Tools)Uređivač skripte(Script Editor) .
Ovo otvara prozor uređivača skripte i zadana je funkcija koja se zove myfunction() . Ovdje možete izraditi i testirati svoju Google skriptu(Google Script) .
Da biste to pokušali, pokušajte stvoriti funkciju skripte Google Sheets koja će čitati podatke iz jedne ćelije, izvršiti izračun na njoj i iznijeti količinu podataka u drugu ćeliju.
Funkcija za dobivanje podataka iz ćelije su funkcije getRange() i getValue() . Možete identificirati ćeliju po retku i stupcu. Dakle, ako imate vrijednost u retku 2 i stupcu 1 (stupac A), prvi dio vaše skripte će izgledati ovako:
function myFunction() { var sheet = SpreadsheetApp.getActiveSheet(); var row = 2; var col = 1; var data = sheet.getRange(row, col).getValue(); }
Time se pohranjuje vrijednost iz te ćelije u varijablu podataka . (data)Možete izvršiti izračun na podacima, a zatim te podatke zapisati u drugu ćeliju. Dakle, posljednji dio ove funkcije bit će:
var results = data * 100; sheet.getRange(row, col+1).setValue(results); }
Kada završite s pisanjem svoje funkcije, odaberite ikonu diska za spremanje.
Kada prvi put pokrenete novu funkciju skripte Google tablica(Google Sheets) poput ove (odabirom ikone za pokretanje), morat ćete dati autorizaciju(Authorization) za pokretanje skripte na vašem Google računu(Google Account) .
Dopustite dopuštenjima nastavak. Nakon što se vaša skripta pokrene, vidjet ćete da je skripta napisala rezultate izračuna u ciljnu ćeliju.
Sada kada znate kako napisati osnovnu funkciju skripte za Google Apps , pogledajmo neke naprednije funkcije.
Koristite getValues za učitavanje nizova(Use getValues To Load Arrays)
Koncept izračunavanja podataka u proračunskoj tablici sa skriptiranjem možete podići na novu razinu korištenjem nizova. Ako učitate varijablu u skriptu Google Apps pomoću getValues, varijabla će biti niz koji može učitati više vrijednosti s lista.
function myFunction() { var sheet = SpreadsheetApp.getActiveSheet(); var data = sheet.getDataRange().getValues();
Podatkovna varijabla je višedimenzionalni niz koji sadrži sve podatke s lista. Za izračun podataka koristite petlju for . Brojač petlje for radit će kroz svaki redak, a stupac ostaje konstantan, na temelju stupca u koji želite povući podatke.
U našem primjeru proračunske tablice možete izvesti izračune na tri retka podataka kako slijedi.
for (var i = 1; i < data.length; i++) { var result = data[i][0] * 100; sheet.getRange(i+1, 2).setValue(result); } }
Spremite(Save) i pokrenite ovu skriptu kao što ste učinili gore. Vidjet ćete da su svi rezultati popunjeni u stupac 2 u vašoj proračunskoj tablici.
Primijetit ćete da se upućivanje na ćeliju i redak u varijabli polja razlikuje od funkcije getRange.
data[i][0] se odnosi na dimenzije polja gdje je prva dimenzija red, a druga stupac. I jedno i drugo počinje od nule.
getRange(i+1, 2) se odnosi na drugi red kada je i=1 (budući da je redak 1 zaglavlje), a 2 je drugi stupac u koji se pohranjuju rezultati.
Koristite appendRow za pisanje rezultata(Use appendRow To Write Results)
Što ako imate proračunsku tablicu u koju želite upisati podatke u novi red umjesto u novi stupac?
To je lako učiniti s funkcijom appendRow . Ova funkcija neće smetati postojećim podacima u tablici. Samo će dodati novi red postojećem listu.
Kao primjer, napravite funkciju koja će brojati od 1 do 10 i prikazati brojač s višekratnicima od 2 u stupcu Counter .
Ova funkcija bi izgledala ovako:
function myFunction() { var sheet = SpreadsheetApp.getActiveSheet(); for (var i = 1; i<11; i++) { var result = i * 2; sheet.appendRow([i,result]); } }
Evo rezultata kada pokrenete ovu funkciju.
Obradite RSS feedove pomoću URLFetchApp-a(Process RSS Feeds With URLFetchApp)
Mogli biste kombinirati prethodnu funkciju skripte Google Sheets i (Google Sheets)URLFetchApp da biste povukli RSS feed s bilo koje web stranice i upisali redak u proračunsku tablicu za svaki članak nedavno objavljen na toj web stranici.
Ovo je u osnovi DIY metoda za izradu vlastite proračunske tablice čitača RSS sadržaja!(RSS)
Skripta za to također nije previše komplicirana.
function myFunction() { var sheet = SpreadsheetApp.getActiveSheet(); var item, date, title, link, desc; var txt = UrlFetchApp.fetch("https://www.topsecretwriters.com/rss").getContentText(); var doc = Xml.parse(txt, false); title = doc.getElement().getElement("channel").getElement("title").getText(); var items = doc.getElement().getElement("channel").getElements("item"); // Parsing single items in the RSS Feed for (var i in items) { item = items[i]; title = item.getElement("title").getText(); link = item.getElement("link").getText(); date = item.getElement("pubDate").getText(); desc = item.getElement("description").getText(); sheet.appendRow([title,link,date,desc]); } }
Kao što možete vidjeti, Xml.parse izvlači svaku stavku iz RSS feeda i odvaja svaki redak u naslov, vezu, datum i opis.
Pomoću funkcije appendRow ove stavke možete staviti u odgovarajuće stupce za svaku pojedinu stavku u RSS feedu.
Izlaz u vašem listu izgledat će otprilike ovako:
Umjesto ugrađivanja URL-a RSS (URL)feeda(RSS) u skriptu, mogli biste imati polje u svom listu s URL -om , a zatim imati više listova – po jedan za svaku web stranicu koju želite pratiti.
Spojite nizove(Concatenate Strings) i dodajte(Add) povratnu liniju(Carriage Return)
RSS proračunsku tablicu možete napraviti korak dalje dodavanjem nekih funkcija za manipulaciju tekstom, a zatim koristiti funkcije e-pošte da sebi pošaljete e-poštu sa sažetkom svih novih postova u RSS feedu web-mjesta.
Da biste to učinili, ispod skripte koju ste izradili u prethodnom odjeljku, htjet ćete dodati neke skripte koje će izdvojiti sve informacije u proračunskoj tablici.
Poželjet ćete izraditi redak predmeta i tijelo teksta e-pošte tako što ćete zajedno analizirati sve informacije iz istog niza “items” koji ste koristili za pisanje RSS podataka u proračunsku tablicu.
Da biste to učinili, inicijalizirajte predmet i poruku postavljanjem sljedećih redaka ispred petlje For "items".
var subject = ‘Latest 10 articles published at mysite.com’
var message = ‘’
Zatim, na kraju "stavki" for petlje (odmah nakon funkcije appendRow), dodajte sljedeći redak.
message = message + title + '\n' + link + '\n' + date + '\n' + desc + '\n' + '\n \n';
Simbol “+” spojit će sve četiri stavke zajedno nakon čega slijedi “ ” za povratak na oznaku nakon svakog retka. Na kraju svakog bloka podataka naslova, trebat će vam dva povratna slova za lijepo oblikovano tijelo e-pošte.
Nakon što su svi redci obrađeni, varijabla "body" sadrži cijeli niz poruke e-pošte. Sada ste spremni za slanje e-pošte!
Kako poslati e-poštu u skripti Google Apps(How To Send Email In Google Apps Script)
Sljedeći odjeljak vaše Google skripte(Google Script) bit će slanje "predmet" i "tijelo" putem e-pošte. Učiniti to u Google Script vrlo je jednostavno.
var emailAddress = [email protected];
MailApp.sendEmail(emailAddress, subject, message);
MailApp je vrlo zgodna klasa unutar skripti (MailApp)Google Apps koja vam daje pristup usluzi e-pošte vašeg Google računa za slanje ili primanje e-pošte. Zahvaljujući tome, jedan redak s funkcijom sendEmail omogućuje vam da pošaljete bilo koju e-poštu(send any email) samo s adresom e-pošte, predmetom i osnovnim tekstom.
Ovako će izgledati rezultirajući email.
Kombinirajući mogućnost izdvajanja RSS feeda web-mjesta, pohranjivanja u Google tablicu(Google Sheet) i slanja sebi s uključenim URL vezama, čini vrlo praktičnim praćenje najnovijeg sadržaja za bilo koju web stranicu.
Ovo je samo jedan primjer moći koja je dostupna u skriptama za Google Apps za automatizaciju radnji i integraciju više usluga u oblaku.
Related posts
4 načina za pretvaranje Excela u Google tablice
Google tablice u odnosu na Microsoft Excel – koje su razlike?
Kako ukloniti obrube tablice u Google dokumentima
Kako vam Google Docs Chat pomaže u suradnji na dokumentima
Kako umetnuti vodeni žig u Word i Google dokumente
Kako izvesti svoje e-poruke iz Microsoft Outlooka u CSV ili PST
Kako sortirati po datumu u Excelu
9 načina da otvorite Word dokument bez Worda
Kako stvoriti VBA makro ili skriptu u Excelu
Popravi pogrešku neslaganja početne oznake završne oznake pri otvaranju DOCX datoteka
Google Dokumenti i Microsoft Word – Koje su razlike?
Kako izbrisati predmemoriju Outlooka
Što je Microsoft 365?
Kako popraviti redak u Excelu
Kako dodati fusnote u Word
Kako ispraviti pogreške #N/A u Excelovim formulama kao što je VLOOKUP
Kako prikazati broj riječi u Microsoft Wordu
Kako izbrisati prazne retke u Excelu
Kako popraviti pogrešku Bookmark Not Defined u Wordu
Kako napraviti i umetnuti snimke zaslona koristeći OneNote