🎁 ライバー向け!BETするポイントでガチャ景品が選べる & 排出結果を管理できるスプレッドシート型ガチャツール
EraGacha は Google スプレッドシート上で動作する、
BETするポイントで景品レアリティを選べる
結果を記録できる
ガチャシステムです。
- 🔧 景品・レアリティ・排出率を自由に設定可能
- 🎲 10pt〜1kpt、choice、complete など複数のガチャ形式に対応
- 🧾 リスナーごとの排出結果を記録(渡し忘れ防止)
- 📄 ログ出力で履歴をしっかり管理
- 🧑💻 UIシートで入力 → ボタンでワンクリック実行!
- 実施毎に再抽選
- レアリティ内の景品は等倍(意訳:★5内の景品はそれぞれ同じ確立)
シート名として以下を用意してください:
UI:ガチャ実行用の入力フォームdata:景品一覧とレアリティレアリティと条件:ポイントごとの排出確率log:ガチャ履歴ログrecord:リスナー別の排出記録
目的:配信中でも安全に、入力+ボタンだけで回せるようにする
- レイアウト(例)
- A2: 名前 / B2: リスナー名(例: john)
- A3: ガチャmode / B3: 10pt 100pt 200pt 500pt 1kpt choice complete のいずれか
- A4: レア指定 / B4: 0〜5(※choice のときだけ必須、他モードでは空欄)
- A5: 回転数 / B5: 1以上の整数(※complete のときは無視)
- データ入力規則(おすすめ)
- B3(mode)にプルダウン:データ→データの入力規則→リスト値: 10pt,100pt,200pt,500pt,1kpt,choice,complete
- B4(rarity)は 0〜5 の数値のみ許可(choice のときだけ入力)
- B5 は 1以上の整数のみ許可(complete は不要)
- 実行ボタン
- 挿入→図形(四角)でボタンを作成→「スクリプトを割り当て」で runGachaFromUI を指定
** 目的 ** 景品名とレアリティ(数値 0〜5)を管理
** 前提 ** ガチャ排出は レアリティ毎 → 景品内は等倍の確率 で抽選します
レアリティは数値で記載してください:0=☆, 1=★, 2=★★, 3=★★★, 4=★★★★, 5=★★★★★
- レイアウト
- A列:任意(空列でOK。No.を振ってもOK)
- B列:item(景品名)(例:Xヘッダー(青).png、さかなの絵 等)
- C列:rarity(0〜5)(必ず数値、空白NG)
★要注意 排出させたいレアリティに必ず1つ以上の景品を入れてください。 (景品がないレアはログに「該当アイテムがありません」と出ます)
目的:ポイントごとに “レアリティ別の確率” を設定
前提
小数で入力(0.800 = 80%) 列はポイント、行はレアリティ(0〜5) 各ポイント列の合計が 1.0 でなくてもOK(スクリプト側で正規化)が、 0 だと抽選不可なので注意(0列はエラーになります)
- レイアウト
1行目(ヘッダー): rarity | 10pt | 100pt | 200pt | 500pt | 1kpt | (任意の列あれば追加OK)
2〜7行目: 0〜5(0=☆, …, 5=★★★★★)
- サンプル
| rarity | 10pt | 100pt | 200pt | 500pt | 1kpt |
| --------- | ----- | ----- | ----- | ----- | ----- |
| ☆ | 0.800 | 0.600 | 0.400 | 0.200 | 0.100 |
| ★ | 0.100 | 0.200 | 0.250 | 0.200 | 0.150 |
| ★★ | 0.050 | 0.100 | 0.150 | 0.200 | 0.200 |
| ★★★ | 0.030 | 0.060 | 0.100 | 0.200 | 0.250 |
| ★★★★ | 0.015 | 0.030 | 0.060 | 0.150 | 0.200 |
| ★★★★★ | 0.005 | 0.010 | 0.040 | 0.050 | 0.100 |
※ choice はコード側で「指定レアのみから等倍で抽選」するため、 このシートに choice 列は不要です。 complete も確率は使いません(全排出だからね?全景品を渡すんだよ?)。
目的:配信中の結果を1行1レコードで蓄積
初期状態:空でOK(ヘッダー不要) スクリプトが [YYYY-MM-DD HH:mm:ss] ... の形式で追記していきます 消しても動作には影響しませんが、履歴は残すのがおすすめ
目的:渡し忘れ防止のための 収集状況 を自動記録
-
レイアウト
- B列:item名(data!B のリストを置く)
- C列以降:リスナー名(スクリプトが自動で列追加)
- 該当アイテムが出たら、該当リスナー列に 「◯」 を自動記入 (2重書き込みはしません。空欄だけ埋めます)
-
B列の作り方(おすすめ2通り)
- 手動で data の item をコピペ(B2〜)
- 関数で自動反映(空白を除く)
- B2 に:=FILTER(data!B2:B, data!B2:B<>"") ※大きいシートなら =ARRAYFORMULA(data!B2:B) でもOK(空欄も引っ張ります)
-
注意 record!B列の item名 は data!B と完全一致させてください(一致で行を特定します) 初期状態で C1 以降の行は空欄でOK(スクリプトが初登場のリスナー名をヘッダーに追記します)
景品が「無効なアイテム」になる → data!C(rarity) が数値 0〜5 か確認。空白・文字列はNG。 → 指定レアに景品が 1つもないときにも起こります。
タイムアウトが出る → 同時に大量の結果を書き込み中かも。GASなのでミリミリの結果は期待しないでください。
- スプレッドシートのメニュー → 拡張機能 → Apps Script を開く
Code.gs(このリポジトリのsrc/Code.gs)をコピペ- 保存して、
runGachaFromUI()を関数として登録 or ボタン連携
| A(空) | B(item名) | C(rarity) |
|---|---|---|
| IRIAMヘッダー.png | 5 | |
| さかなの絵 | 0 |
| rarity | 10pt | 100pt | 500pt | 1kpt |
|---|---|---|---|---|
| ☆(0) | 0.8 | 0.6 | 0.3 | 0.1 |
| ★★★★★ | 0.005 | 0.01 | 0.02 | 0.05 |
- 小数で確率(例:0.8 = 80%)
| モード名 | 説明 |
|---|---|
10pt〜1kpt |
指定ポイントで抽選、レアリティごとに確率あり |
choice |
特定レアリティ(★)の中から抽選 |
complete |
全景品を排出(景品一覧を丸ごと出す) |
- UIシート に下記値いれる
A2: 名前
B2: (リスナー名)
A3: ガチャmode
B3: (10pt, 100pt, 200pt, 500pt, 1kpt, choice, complete のどれか)
A4: レア指定
B4: (0〜5 ※choice時のみ必須)
A5: 回転数
B5: (1以上の整数 ※complete時は不要)
- runGachaFromUIを定義したボタンを実行する
- log に結果行が並ぶ
- record の B列リストに一致する行へ ◯ が追記される
これで完了です。
[2025-08-10 18:08:42] たかしくん さんが挑戦した 10pt ガチャ 10回の結果発表!
[2025-08-10 18:08:42] [001] ☆: くだもの の絵
[2025-08-10 18:08:42] [002] ★: Xヘッダー(青).png
[2025-08-10 18:08:42] [003] ☆: さかな の絵
[2025-08-10 18:08:42] [004] ☆: うさぎ の絵
[2025-08-10 18:08:42] [005] ★: Xヘッダー(青).png
[2025-08-10 18:08:42] [006] ☆: くだもの の絵
[2025-08-10 18:08:42] [007] ☆: とり の絵
[2025-08-10 18:08:42] [008] ☆: うさぎ の絵
[2025-08-10 18:08:42] [009] ☆: ひと の絵
[2025-08-10 18:08:42] [010] ☆: きりん の絵
| アイテム名 | Alice | Bob |
|---|---|---|
| ヘッダー(青).png | ◯ | |
| さかなの絵 | ◯ | ◯ |
recordシートは、誰がどこまで景品を集めたか一目でわかります。
MIT License