
【AppSheet小技】UNIQUEID関数に準拠したIDを生成するGASを紹介
備忘録的に書いた本記事が1000PVを超えてました。
ちょっと加筆しておきます(2024/09/13)
みなさま、こんにちは!滋賀県でIT・DXコンサルタントをしています、むらやまです。
AppSheetのUNIQUEID関数は、
アルファベットのa~zと数字の0~9で構成された8桁のランダムIDを生成します。
例えばこんな感じ
nxpbdwu7
lago4aec
84uhc4qg
スプレッドシートでAppSheetのデータソースを作成するときに、AppSheetに取り込む前にこのIDを生成したいケースが多々あります。
そんなときにこのGASで、スプレッドシート内の関数からUNIQUEIDを生成することができます。
手順
こんなシートがあるとして、左の商品IDにIDを付与して流し込みたい場合で説明します。

スプレッドシートのメニューバーの「拡張機能」から「AppScript」を選択。

するとこのような画面が表示されます。

function myFunction() {
}
をすべて削除して、以下のコードをコピー&ペーストします。
function uniqueid() {
var characters = 'abcdefghijklmnopqrstuvwxyz0123456789';
var idLength = 8;
var randomId = '';
for (var i = 0; i < idLength; i++) {
var randomIndex = Math.floor(Math.random() * characters.length);
randomId += characters.charAt(randomIndex);
}
return randomId;
}

それでは、フロッピーのアイコンの保存を押下し、閉じて結構です。
スプレッドシートに戻り、IDを生成したいセルに以下の関数を入力します。
=uniqueid()

Enterを押下すると、「読み込んでいます…」表示のあとIDが生成されます。

あとはほしい範囲までコピーすれば一気にUNIQUEIDを生成することができます。

このあと、生成した範囲を選択し、Command+C(Ctrl+C)でコピーし、同じ範囲にShift+Command+V(Shift+Ctrl+V)をすると、
関数ではなく、書式なしのテキストとなります。
最後に
本記事をお読みいただきありがとうございました。
AppSheetで中小企業向けDXと銘打ち、AppSheetの解説記事を連載中です。
興味がありましたら、あわせてお読みください。