Grafikont állítok elő véletlenszerű adatokkal:
Date Value 1/1/2018 123 1/2/2018 453
RAND
az értékek előállításához, de ne akarja, hogy folyamatosan újraszámolják őket. Hogyan lehet elnyomni a RAND
újraszámítását?
Válasz
A rövid válasz a következő: “Lehet” t “(legalábbis szkript nélkül nem). Azonban, hacsak nem tudományos jellegű a munkája, valószínűleg nincs szüksége “véletlenszerű” számokra, csak kiszámíthatatlan számokra. (Valójában, hogy technikai jellegűek legyenek, még a RAND sem generál igaz véletlenszerű számok; inkább egy összetett algoritmust használ … Nos, előállíthat egy kiszámíthatatlan számot.)
A probléma, mint tudják, az a RAND újraszámolja. De tetszőleges számú képletet írhatunk, amelyek a dátumtól kezdve “ál-véletlenszerű” számokat eredményeznek. Például feltételezve, hogy dátumai az A oszlopban vannak, és a “véletlen számai” a B oszlopban, akkor valami hasonlót beírhat a B2-be, és szükség szerint lemásolhatja:
=VALUE(TEXT(INT(((A2*COS(DAY(A2))*PI())-INT(A2*COS(DAY(A2))*PI()))*1000)+IF(INT(((A2*COS(DAY(A2))*PI())-INT(A2*COS(DAY(A2))*PI()))*1000)<100,WEEKDAY(A2)*100,0),"000"))
Ez a dátum szolgáltatásait felhasználja egy” álvéletlen “3 jegyű szám előállításához.
A túl bonyolult képlet nem minden ez fontos. Csak összetörtem néhány matematikai függvényt. Lehettek mások végtelen kombinációi.
Ha azonban csak egy “egyedi és nem ismétlődő” számra van szükséged – például egy olyan platform, mint a Zapier – csak a dátum numerikus formátumára van szüksége:
=VALUE(A2)
… szükség szerint másolva .
Bármelyik képlet tömbképletként működhet (azaz egy cellába helyezve az egész oszlopot kitöltheti) apróbb változtatásokkal:
=ArrayFormula(IF(A2:A = "", "", VALUE(TEXT(INT(((A2:A*COS(DAY(A2:A))*PI())-INT(A2:A*COS(DAY(A2:A))*PI()))*1000)+IF(INT(((A2:A*COS(DAY(A2:A))*PI())-INT(A2:A*COS(DAY(A2:A))*PI()))*1000)<100,WEEKDAY(A2:A)*100,0),"000")))
=ArrayFormula(IF(A2:A = "", "", VALUE(A2:A))
Válasz
google script
tools> script edi tor
Ezután készítsen egy függvényt. A funkciót egy gombhoz vagy más eseményhez kell csatlakoztatnia.
A szám megadásához válasszon ki egy tartományt. Ezután tegye be az értéket a tömbök és tömbök segítségével. Gondoljon rá, mint egy sor tömbre.
Itt van a mintám a Google szkriptből
function generateNumbers () { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[0]; var randNumberRows = [] var i; for (i = 0; i < 20; i++) { var row = [] row.push(randInt(-20,20)); row.push(randInt(-20,20)); row.push(randInt(-20,20)); randNumberRows.push(row); } var range = sheet.getRange("A2:C21"); range.setValues(randNumberRows); } function randInt(start, end) { // range is from start to end + 1 so it is inclusive r = end - start + 1 return Math.floor(Math.random() * r) + start; }
Válasz
Ugyanezt a kérdést néztem ma este, és megtaláltam ezt a cikket: https://www.ssl.berkeley.edu/~mlampton/RandomSpreadsheet4.pdf
A dokumentum képleteivel néhány perc alatt létrehozhatja saját álvéletlenszám-generátorát. Ez megadja a véletlenszerű számok listáját, amelyek csak akkor változnak meg, amikor megváltoztatja a magot.
Válasz
Nekem nagyon van egyszerű, egyszerű megoldás, két egyszerű kis megoldás:
-
Az Excel segítségével is: Készítsen annyi véletlenszerű számot, amennyit csak akar, másolja be, kész
-
Jegyzettömb: Létrehozás a Google Táblázatokban, másolás a beillesztésbe a jegyzettömbbe, majd a beillesztés másolása vissza, kész