スプレッドシート初心者のための

Googleスプレッドシートでマスタ運用
GD部プランナー 江川知良

2019.12.20

CONTENTS

目的
GoogleスプレッドシートとExcelの違い

機能や環境の違い
関数の違い
関数入門

小技紹介
まとめ

目的

スプレをExcelと同じ様に使っていませんか？

それはナンセンス！

“

適した使い方をすることでスプレでのマスタ運用を！

”

経緯や意図経緯・Flagプロジェクトは開発途中でマスタをExcel→スプレッドシートでの運用に変更
・マスタ移行作業やスプレッドシートでの運用に深く関わる“

いきなりマスタがスプレッドシート運用のプロジェクトに配属になっても大丈夫！

スプレッドシートで運用する理由やExcelとの違い、今日から使えるスプレッドシート関数や小技を紹介します！

Excelとスプレッドシートの主な違い
基本的には同じ

but 大きな違いもExcel

大まかな相違点

Googleスプレッドシート

オフライン

ネットワーク

オンライン

有料

利用料無料

計算が早い

機能面できることが多いマスタ運用においての違い
FlagプロジェクトではExcel

相違点

Googleスプレッドシート.xls & .csv

Git管理.csvのみ

低い

共有性

高いなし

データ上限ありこんなことありませんか？

Aさん

Bさん

新しいアイテムを追加しよう！

アイテムの期限を伸ばさなきゃ

item_masters.xlsを編集

マージの際にコンフリクトが起こる

スプレッドシートなら

Aさん

Bさん

新しいアイテムを追加しよう！

アイテムの期限を伸ばさなきゃ

item_mastersに新アイテムを追加

item_mastersの期間部分を変更

両方の作業が終わってから.csvをマージこんなことありませんか？
item_masters編集中（これはどのキャラクターのアイテムにしようかな…）

character_masters.xlsを開く（スキルも参考にした方がいいかな…）
Aさん

skill_masters.xlsを開く

いちいち.xlsを開くのがめんどくさい！
Excelウィンドウが重なって邪魔どれがどのマスタだっけ…？

スプレッドシートならブラウザのタブですぐに移動できる！

拡張機能も使える

引用も簡単にまとまって見やすい

無駄な作業が発生しにくく、工数を効率的に使えるように作業効率アップ！＞じゃあスプレの方がいいのでは？
一概にそうとは言えない

計算速度

データ量

オンライン
オフライン

関数

Excelは計算が早い

データ量上限どちらにも利点がある

差異がある

スプレはクラウド技術を使用している為にどうしてもローカルで計算が済
むExcelに計算速度が劣ってしまう。

１ファイルの上限セル数はExcelが1,048,576×16,384に対しスプレは500万セルが上限値となっている。
膨大なデータを１ファイルに収めたい場合はExcelが勝るオンラインの方が便利であるかのように見えるが、実際はインターネット環境とGoogleに依存している。Excelはマシン以外に左右されない。

関数の種類はスプレの方が多いが、その為全てを扱いこなせるようになるのは至難の業。チームの誰もが触れるように慣れた方を選択する利点も。

関数とは？
マスタ運用で関数を使う理由
関数なんて難しいし、使わなくても手動でデータを打てるじゃん！

・関数は計算やデータ参照を自動でおこなってくれるもの
・マスタ運用はゲーム内の数値やデータに関わるのでミスは許されない“人が入力する部分を極力少なくすることでヒューマンエラーを最小限に抑えるために関数を使う

関数の違いGoogle スプレッドシート

Excel

D5にハンマーを加える

E4の右下をドラッグする必要がある

E5に自動で入力される！

Why?

これは

配列関数 によるもの

配列関数 はExcelには存在しない※配列数式機能は存在する

スプレ専用の関数って他にもあるの？

Excelに慣れた方におくる
マスタ運用でよく使う

スプレッドシート専用関数紹介

配列関数「ARRAYFORMULA」

わかりやすく言うと1セルに入れた式を複数行に適応する関数

・アップデート毎にデータ列が追加されるマスタ運用には必須
・計算回数が圧倒的に少なく、クラウドの弱点をカバー・修正が簡単に適応され、条件追加にもすぐ対応可能

例=ARRAYFORMULA(VLOOKUP(D5:D,武器攻撃力リスト,2,0))

武器攻撃力リスト

E5に入力

VLOOKUPの検索値に範囲を入力できる！

エラーが邪魔・・・#N/Aを表示させたくないがIFERRORだと間違ったものを入力した際にもエラーで出なくなってしまう

検索値に範囲を指定できるなら、IF文も範囲全体に適応できる。

D5:Dが空白なら何もしないというIF文で対応可能これがマスタのスプレ運用でもっとも多く使う式！
配列数式=ARRAYFORMULA(IF文＋空白なら,NULL,IF(ISBLANK(D5:D),,違うなら武器攻撃力リストからVLOOKUP(D5:D,武器攻撃力リスト,2,0)))他シートから引用「IMPORTRANGE」

Excelで他ファイルを引用するには[‘ファイルのパス指定’!範囲]を.xlsファイル毎に設定するのがgit管理のマスタ運用（範囲の名前を定義なども便利）

スプレッドシートではIMPORTRANGE(“ファイルURL”,”範囲やリスト”)

もっとも使う！ARRAYFORMULA＋IF＋IMPORTRANGE

T列にアイテム名を入力するとU列に別のスプレからアイテムIDを自動でもってくる式
VLOOKUPはマスタで頻繁に使う関数なのでこれを覚えておけばとりあえず安心！

配列関数は確かに便利だけどIMPORTRANGEやIFはExcelと大差ないのでは？

“

そんなあなたに今日から使えるスプレでしか使えない小技を紹介します！

こんなことありませんか？

武器名から攻撃力をとってきたいけどリストの順番的にVLOOKUPは使えない

INDEX、MUTCHを使わないと…

こんなことありませんか？

B列に一行追加したらVLOOKUPで指定した場所がズレてしまった！
別の行に加えるか、式を直すかしないと…

そんな時はこれで解決！

{}
波括弧

実はこれ、スプレッドシートだとすごく便利なはたらきをするんです使い方

スプレでは{ } は、一つの範囲として扱われます！

どういうことかというと=VLOOKUP(D5:D,{B5:B,A5:A},2,0)と入力すると
B5:Bが一列目、A5:Aが二列目の範囲を指定することができます！

つまり…

参照元の列順関係なしに指定が可能追加列指定(アルファベット)は列がズレたら自動で切り替わるのでリストがズレても参照はズレない！

でも別フォルダだといちいちIMPORTRANGEで列を入力するのはめんどくさくない？

リスト(名前付き範囲)がズレないようにする方法ってないの？
もちろんあります！

要するにもともとのリストが列の増減でズレないようにすればいい答えはこうです
新しいシートを作って配列関数で列をそのまま持ってくるB列には(`シート1`!C5:C)

画像でいうとA:Bをリストにする
すると元のシートで列の増減、行の増減があっても両方対応できるリストが完成！

Excelではできないいろいろができる
スプレッドシート
スプレではExcelにはできないいろいろなことができます。
さらにExcelでできたことも一通りはできるので今回教えた関数や小技を使えば、いままでExcelでいきなりスプレ運用のプロジェクトに配属になっても大丈夫。
Excelを使ってきたあなたなら今回伝えたものをすぐに使いこなし、スプレのできることを自分で探すことができると思います。

ガプチロ
ャジのェマク
スト
タで入実
力際
シにー使
トっている

上は実際にプロジェクトで使用しているガチャのマスタ入力シートだが、ガチャ毎に使用を入力してマスタを生成する形となっている。
いろいろな関数、小技を覚えれば仕様書に使用を入力するだけでマスタが完成する形をとることもできる。

まとめ

スプレでのマスタ運用
・配列関数を用いた少ない計算量、入力量
・Excelにはない様々な機能
・オンラインによる共有性や利便性

スプレを正しく使えばマスタ運用の効率が向上

Thank you