FrontPage

概要

  • システム化を待つ間にどうしても管理を Excel でやらなければならないことがある

ベストプラクティス

  • Excel 芸をしない
  • 生データのシートと計算式のシートは完全に分ける
    • どうしても面倒なら、生データは A:Z に押し込めて、計算式は AA:AZ などを利用する。
  • 異なる質の計算は AA:AZ や BA:BZ など、26 行ごとにパーティショニングしたところに押し込める。
  • ARRAYFORMULA や QUERY をなるべく使って、シート変更時の対象を 1 セルに限定する。
  • 適切に改行する、コメントアウトするなど読みやすくする。特に QUERY 関数。

関数

文字列結合

  • ="A"&3
    • & 演算子を使い、CONCATENATE, CONCAT は使わない(面倒なので)

ショートカット

  • alt-e d d で現在行削除
  • alt-i r で insert row
  • ctrl-yで繰り返し

QUERY

  • QUERY内参照 "&A1&"
    • 一旦クエリを切って、& 演算子で concat している。
    • "&A1&"が文字列の場合には、QUREY文内部では'で囲う必要がある。'"&A1&"'とするとそこにクオーテーションなしで展開される
    • =QUERY('仕訳表'!\( A \)3:$Z, "select D, month(A)+1 where month(A)+1="&A3&"", true)
    • =QUERY(\( A: \)H, "select sum(C) where F='"&\( I \)1&"'")

便利関数

  • =ADDRESS(ROW(), COLUMN(), 4)
    • 現在のセルのアドレスが相対参照で得られる。F20みたいな(4は相対参照で、1とかだと固定がはいる)
    • なので、=SUBSTITUTE(ADDRESS(ROW(),COLUMN(),4),ROW(),"")でカラムのアルファベットが取れる。
  • =INDEX(QUERY(A:A, "select count(*)"), 2, 1)
    • クエリ結果をワンラインで取得
    • COUNT などのクエリの agg 関数と相性がいい
  • IMPORTRANGE
    • Importrange関数は、他のシートからデータを持ってくるときに使います。元のデータのあるシートが更新されると、Importrange関数で取得するデータも自動的に更新されるので、大変便利です。

コメントアウト

  • 数値の説明
    • =IF(0,"手持ち現金",200000)
    • その値が何を表しているかが明確になる
  • クエリの説明 "&IF(0,"コメント","")"
=QUERY(A:C,"
  select B * C "&IF(0,"この行は売上 * 利益率を計算している","")&"
")

Join


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS