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

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük