Google Sheets - Automaattinen tietojen luominen ja täyttö?

Liittynyt
11.11.2017
Viestejä
638
Onko Google Sheetissä mahdollista tehdä niin, että yhdestä tekstitä luotaisiin mahdolliset vaihtoehdot. Yksinkertaistettuna esim. "Joka päivä [viikonpäivän nimi]-iltaisin" loisi automaattisesti listan maanantaista tai sunnuntaihin.
 
Onko Google Sheetissä mahdollista tehdä niin, että yhdestä tekstitä luotaisiin mahdolliset vaihtoehdot. Yksinkertaistettuna esim. "Joka päivä [viikonpäivän nimi]-iltaisin" loisi automaattisesti listan maanantaista tai sunnuntaihin.
o3 mini antoi tämmöisen vastauksen. Näyttää ainakin mun silmiin järkevältä lähtökohdalta noi kaksi tapaa.

ArrayFormula ja kiinteä lista
Voit käyttää kaavaa, joka yhdistää kiinteän taulukon eri vaihtoehdoista haluamaasi tekstiin. Esimerkiksi, jos haluat luoda listan, jossa korvataan [viikonpäivän nimi] viikonpäivillä, voit kirjoittaa soluun vaikka näin:
Tämä kaava palauttaa 7 solua (tai rivin), joissa jokaisessa on teksti, jossa viikonpäivän nimi vaihtuu. Jos haluat tulostaa tulokset pystysuoraan, varmista, että solujen ympärillä on riittävästi tilaa tulosten näyttämiseen.
Koodi:
=ARRAYFORMULA("Joka päivä " & {"maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai","sunnuntai"} & "-iltaisin")

Google Apps Script
Jos haluat tehdä ratkaisusta dynaamisemman tai monimutkaisemman (esim. jos alkuperäinen teksti tulee yhdestä solusta ja haluat skriptin lukevan siitä paikkamerkin ja korvaavan sen listalla), voit käyttää Google Apps Scriptiä. Esimerkiksi:
Tämä skripti hakee alkuperäisen tekstin solusta A1, korvaa [viikonpäivän nimi] joka kerralla eri viikonpäivällä ja tulostaa tulokset sarakkeeseen B.
Koodi:
function laadiTekstiVaihtoehdot() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  // Oletetaan, että alkuperäinen teksti on solussa A1.
  var alkuperainenTeksti = sheet.getRange("A1").getValue();
 
  // Määritellään lista viikonpäivistä.
  var viikonpaivat = ["maanantai", "tiistai", "keskiviikko", "torstai", "perjantai", "lauantai", "sunnuntai"];
 
  var tulokset = [];
  for (var i = 0; i < viikonpaivat.length; i++) {
    // Korvataan [viikonpäivän nimi] viikonpäivällä.
    var teksti = alkuperainenTeksti.replace("[viikonpäivän nimi]", viikonpaivat[i]);
    tulokset.push([teksti]); // Käytetään 2-ulotteista taulukkoa pystysuoran tulostuksen vuoksi.
  }
 
  // Tulostetaan tulokset esimerkiksi solusta B1 alkaen.
  sheet.getRange(1, 2, tulokset.length, 1).setValues(tulokset);
}
 

Statistiikka

Viestiketjuista
267 220
Viestejä
4 622 319
Jäsenet
76 003
Uusin jäsen
Mikko777

Hinta.fi

Back
Ylös Bottom