SpreadSheetを作る時に考えること

May 17, 2020

motivation

社内でGoogle SpreadSheet(以下SS)の勉強会をしようと思ったで、資料のアウトラインように、このブログを書いていこうと思います。 基本、エンジニアという立ち位置である自分ですが、工数を削減するという意味合いで、SSでこと足りるものはSSを使用してきました。 最近少し忙しめになってきたことと、メンバーのSS作成能力をあげることが、長期的にみて資産になるものが増えるのではないかと思いノウハウをまとめてみようと思いました。

SS作成能力という点でいうと、メンバーがみんなかなり若いチームということもあり、ビギナーといった感じです、 そんなビギナーに向けて最初はどういう点を意識すればよいのか、あとよく使う関数とか、自分が思うことを書いていこうと思います。

agenda

  • シートの基礎
  • シートを作ってと言われたときに考えること。
  • モデルを作る場合に気をつけること
  • モデルでよく使うTips
  • データベースを作る場合に気をつけること
  • データベースよく使うTips
  • 実践

シートの基礎

今回は作成するシートを2パターンに分けて説明しますが、共通で言える部分を説明します。

データの型、入力項目を揃えよう

データの型ときいて、イメージできない人も多いと思います。 具体的にいうと、以下3個のデータを記入するとなったときは気をつけましょうということです。

  • 数字
  • 日時
  • 数字

SSを使っている以上、関数などを使って集計したい場合などが発生すると思います。 そういう場合、上記の項目が型通りに入力されていないと、集計がとても難しくなってしまいます。 特に文字列の場合は、入る文字列は可能な限り、制限するようにしましょう。

単位を揃えよう。

上記と同じく、集計のための理由ですが、数字の単位は必ず揃えましょう。 また、セルの中に  など、単位の入力をしないようにしましょう。 データが数字ではなくなってしまうので、集計ができなくなってしまいます。

使わないものは消す

シートは様々な人の目に触れる事がおおいと思います。 そうなった時に、何が重要な要素なのかを可能なかぎり、明示する必要があると考えます。 そうなった時に重要なのは、要素を減らしていくということです。 不要なカラム、行や、使われなくなったシートは非表示にするなどして、目に入らないようにしましょう。

シートを作ってと言われたときに考えること。

いろいろシートを作ってきた結果、シートの特性は大きくわけて

  • モデル
  • データベース

の2つに分けられると思います。 そして、それぞれの特性によって、考えることと使うものは全然ちがうと思います。

それぞれの目的をいうと、モデルは未来を予想するシート データベースは過去の事実を把握するシートです。

自分がどちらのシートを作るのか意識をしましょう。 大体の場合は、データベースがおおくなると思います。

モデルを作る場合に気をつけること

  • 関数をつかって、人が触れる点を明確にして、なにが事業において、ドライバーとなるのかをわかるようにしましょう。

データベースを作る場合に気をつけること

  • いつ何が起きたのかを明確にする構成にしよう。思い出すコストを省く && 他人が見ても状況を追っていける状態にする。
  • 関数を多様しない。関数を使う場合はデータを切り分けて使う。
  • シートの拡張は、別シートで行う
  • 空欄が発生するものは基本避ける。

集計でよくつかう関数

  • arrayformula
  • count, sum
  • unique
  • vlookup
  • if

    • countif, sumif
  • column, row
  • filter
  • query
  • select

    • where, order

実践

  • Modelを作る

5000行の購入データから、vlook_up count_if sum_if query uniq column filter 関数を使って、とある条件のユーザーを一覧を取り出す。

ここは非公開になります。 興味ある方は、ご連絡ください。