# Re: Random number functions

Solved
5002 1
cancel
Showing results for
Did you mean:
6 - Interface Innovator

Perhaps I’m missing it, but how do I generate random numbers? I am missing “randbetween” and “rnd” from Excel.
Thanks for any and all help.

1 Solution

Accepted Solutions
5 - Automation Enthusiast

Here’s a way to generate random number using formula field in airtable
first choose a MIN and MAX range for your random numbers then use the following formula:

(VALUE(DATETIME_FORMAT(CREATED_TIME(), ‘0.smh’))*(MAX-MIN))+MIN
this generates the following:

34 Replies 34
10 - Mercury

We don’t have any random number functions at the moment, but I’ll reach out to you once we implement something like this. Can you share why you need a random number function? We might be able to provide a workaround.

6 - Interface Innovator

I use Airtable to generate sample data for prototyping/mocking up a series of applications my company is developing. I often want to have sample data that represents a meaningful distribution across a set of values. In the past I either used Excel or https://www.mockaroo.com/

It’d be great to just use one tool.

5 - Automation Enthusiast

Am also missing a Random function,

• which would take a Random Seed.
• Allow negative to positive range
• Allow fractions

Looking for a random function something like:
RANDOM()
RANDOM(Seed)
RANDOM(Seed, Range_Start, Range_End, Fraction_Digits)

use 0 to ignore seed
range start/end, either or both, could be negative.
fraction digits, for number of fraction digits in output

RANDOM(0,0,200) => 74 (0 for ignore seed, no fractional digits)

RANDOM(8495,-200,-100,5) => -158.78304 (8495 for seed, negative start and end, with 5 fractional digits)

RANDOM(8495,200,-100,5) => 158.78304 (8495 for seed, with 5 fractional digits, where start is higher than end)

RANDOM(VALUE(DATETIME_FORMAT(NOW(), ‘x’)),1000,2000,7) => 1622.9287305 (use current datetime to seed, with 7 fraction digits)

5 - Automation Enthusiast

I am looking for a RANDOM Sort capability. I am building a table of Questions to be entered into an app and I want to randomize the questions before they are manually entered or imported.

10 - Mercury

@Ron_Sheridan if you have any input at all when it comes to development of that app, it would probably be a couple of minutes work for the programmer to shuffle the questions over there before they are shown. :slightly_smiling_face:

6 - Interface Innovator

PING. Any update on getting random number generator?

10 - Mercury

Hey @Daniel_Robbins, I thought of something.

If you create a formula with VALUE(RECORD_ID()) you’ll get random numbers for each record. Maybe you can use this a a starting point. With some additional formulas (or even rollups) you should be able to scale it / put it in a certain range.

:slightly_smiling_face:

6 - Interface Innovator

Thanks. I’ll try that.

10 - Mercury

You could actually expand that by using the CREATED_TIME() function too.

Grab the numbers from the time portion…

``````SUBSTITUTE(TIMESTR(CREATED_TIME()), ":", "")
``````

Or only the seconds for example and use that to do an extra calculation, define a random position in the string (maybe with REPT) or whatever.

6 - Interface Innovator

Sorry but it is not working. With this formula I get the same numbers for several rows…

10 - Mercury

Not very likely. Did you try to refresh the base?

6 - Interface Innovator

Yes didn´t help.

May be I am doing something wrong?

10 - Mercury

Sorry. You are right. :slightly_smiling_face:

10 - Mercury

What it does is grab numbers from the RECORD_ID. So the numbers you see are random, but not unique.

The other trick (with time) maybe works better in your case.

A combination of the two methods is an option too of course…

6 - Interface Innovator

With Record ID you get an unique output. But the outcome looks crazy (many numbers and letters) and so it is not realy usable for an ordernumber.

10 - Mercury

For order numbers you can also use AT’s Auto Number field. Maybe with something in front of it…

6 - Interface Innovator

I want to hide the casenumbers to prevent vendors from gathering information out of it. So unfortunately this solution is not working for me.

In software like excel…you have the function RANDOM() for it.

13 - Mars

Try `DATETIME_FORMAT(CREATED_TIME(),'X')`.

That will give you the Unix timestamp as a string; e.g., ‘1511398652’. You can then chop it up or otherwise obfuscate it as necessary. The results won’t be random, but they should be unique — with one exception: The first three records in a table are created at the time the table is, and all bear the same timestamp.

In theory, you can use `'x'` instead of `'X'` as the format specifier and get the timestamp with milliseconds included — ‘1360013296123’ is the example from the Airtable help page — but it appears `CREATED_TIME()` is stored precise to the second only. The results I get with `DATETIME_FORMAT(CREATED_TIME(),'x')` all have three zeroes as the rightmost three digits.

6 - Interface Innovator

Thanks Vann Hall I will use that!