How to generate an uuid in google sheet (for exemple ccb8a660-91c9-a556-58e0-4fa7-229516872004).
Either with a macro? or a formula?
You can generate UUID using Utilities.getUuid()
. But it is required to use a custom function for achieving what you want, because there are no functions for it in Spreadsheet's functions. In order to generate UUID, please do the following flow.
=uuid()
to a cell in a sheet.By this, you can get UUID.
function uuid() {
return Utilities.getUuid();
}
If I misunderstand your question, I'm sorry.
When a custom function is used, the value is changed by the automatically recalculating of Spreadsheet. If you want to fix the value, how about this sample script? Please think of this as just one of several workarounds.
function onEdit(e) {
if (e.range.getFormula().toUpperCase() == "=UUID(TRUE)") {
e.range.setValue(Utilities.getUuid());
}
}
function uuid() {
return Utilities.getUuid();
}
=uuid()
to a cell in a sheet.
=uuid()
is put as a custom function. So when the Spreadsheet is automatically calculated, the value is changed.=uuid(true)
to a cell in a sheet.
=uuid()
is put as a value by onEdit()
. So even when the Spreadsheet is automatically calculated, the value is NOT changed.=uuid(true)
can use when the function is manually put, because this uses the OnEdit event trigger.