Auto Numbering

I think I was thinking about using a template column and replacing the decimal point there, but trying out, I realize now that you need to have another column with a blank value for the replacement and the template doesn’t seem to like numeric columns as the base template, so it would first have to be converted using another template column to alpha. Seems to work, but ultimately not any more efficient than your solution.

1 Like

Ah, gotcha.
So something like this, yes?



If there are a lot of simultaneous submissions, are you sure 2 or more rows will not take the same Roll UP +1 and consequently 2 rows will have the same number??


Interesting question. I’m not quite sure if 2 people goes into an add action at the same time, will the numbering stand corrected? Would a little difference in time enough for the “next” column to recalculate?


I’ve seen evidence that compound actions suffer from race conditions.
This is different, and of course I don’t know the answer, but my guess would be yes it’s possible.
My understanding is that all these calculations happen client-side, so that probably makes it even more likely that a collision is possible. @Jeff_Hager, thoughts?


I would have to agree. I’ve never done any heavy testing on this theory, and like you said, the calculations happen on the device, so it takes a few seconds to sync back to the server and populate the update to other users. Combining this count with some sort of ID or value that’s unique to a user, would probably help for keeping values unique, but yes, this doesn’t cover all situations where sequential numbering is absolutely necessary. In that case, the only thing that I would trust is a script.

Two things I think we need from glide:

  • A function similar to the RowID column that would automatically number rows sequentially, but also make the number stay static forever.
  • A rank column that would let us dynamically number a column (as a bonus, let us number based on a particular sort order we choose, or number within a relation).

@Jeff_Hager and @Darren_Murphy thanks for pointing this out. I considered changing my setup to the suggested setup. But with the mentioned problem it is not time for changing.

Concerning whether the number should never change - this is beneficial in some cases but I also need a sequential numbering to be used for traversing a list by used of increment action. If you delete a row then the numbering of the following rows should change. From the current row I need to know which row is previous and which is next.


mmm, so that’s an example of where the arrayformula solution works best, because if/when rows are deleted it will automagically renumber the remaining rows.


@Darren_Murphy exactly. So a similar functionality like arrayformula in glide builder would be appreciated a lot


@Darren_Murphy maybe the need is really next/previous one in the list when it has been filtered and sorted by X,Y parameters.
Or give me the item 10 places from here in the list


I have tried. USer have to enter the user id isnt it?

Sorry, I don’t understand your question.

Please show what you have that isn’t working as you would expect.

My intention was the user no need to enter any number.
The quotation number is generated by the system itself.
The admin will start the starting number only.
For example , me set up the 1000 and once row is added, automatically 1001.
From this method , the user have to fill in the ID number. correct?

Let’s say the destination column is called ‘Order ID’.
Create a Rollup column that takes the Max of Order ID - call that MaxOrderID.
Then create a Math column that is MaxOrderID + 1 - call that NextOrderID.
And NextOrderID is then used in the form submission.

No, if you set that up correctly as I described, then the next order ID is already available.
You just use the value in that column (NextOrderID) to populate the OrderID column when a new order is submitted.

Let’s say the destination column is called ‘Order ID’.
Create a Rollup column that takes the Max of Order ID - call that MaxOrderID.
Then create a Math column that is MaxOrderID + 1 - call that NextOrderID.
And NextOrderID is then used in the form submission.

Let say in my situation as below,

your Order ID is my ID to start
your MaxOrderID is my Cumulative num
Your NextOrderID is my Roll up+1
Then that is my results

Okay, a picture tells a thousand words :slightly_smiling_face:

My solution will only apply for new rows that are added. It won’t automatically apply to pre-existing rows.
And (it case it wasn’t clear), you need to populate your “ID to Start” column (using the value in “Roll Up +1” as part of the Add Row action that creates a new row.

Now I understand.
Populating the add row function.
Thanks a lot!

But I have continuous question .
Eg . the quotation number is GE-2103-1001-Rev.0.
On edit, the revision 0 at the back will change to Rev.1 , Rev.2 and so on.
How to make if ID is same and edit the revision number will be adding.

You should be able to do that with a template column that takes the base quotation number, and appends the increment to the end of it.