motolog

Everything I love in my life.

複数のスプレッドシートを同期連携させるなら importrange 関数が便利すぎる

f:id:show_motto:20180814194740p:plain

昨今、Excel ではなく Google Spreadsheet(スプレッドシート)をメインに使うことも増えてきているように感じます。

Google Spreadsheet は、シンプルにオンラインで自動保存されて共有も簡単というメリットが分かりやすいですが、その他にも Excel ではできない便利な機能がたくさんあるのです。

今回は、そのうちの1つ、importrange 関数を紹介します。

よくある課題

次のようなケースに当てはまった方は、 importrange 関数で問題が解決します。

  • あるスプレッドシートのデータを別のスプレッドシートに同期させたい
  • 特定のメンバーに編集不可の権限でデータを共有したい

上記2点は独立した課題というよりは、2点目の課題の解が1点目だったりもするわけですが、いずれにせよ、上記の課題にぶち当たっている方が対象です。

例えば、マスターデータをいじられると困るが最新のデータを共有することで認識のズレをなくしたいといった時などが当てはまるかなという感じです。外部の方への公開やインターン生への公開なんかでけっこうあるんじゃないかなと思います。

importrange 関数でできること

さて、ここで importrange 関数の出番です。これリアルに最初使った時感動します笑。

簡単にいうと、指定したスプレッドシート内の指定したシートの指定したセル範囲のデータ内容を別のスプレッドシート内のシートに同期できるというものです。

ちょっと言葉だとわかりにくいので、実際に構文を見てみましょう。

構文

IMPORTRANGE(スプレッドシートキー, 範囲の文字列)

  • スプレッドシートキー :データの読み込み元となるスプレッドシートの URL を指定
  • 範囲の文字列:読み込む範囲を指定する文字列で、"[シート名!]範囲" の形式で指定
    • 例: "シート1!A2:B6", "A2:B6"

IMPORTRANGE("https://docs.google.com/spreadsheets/d/abcd123abcd123", "シート1!A1:C10")

これにより、上記URLのスプレッドシート内のシート1のA1〜C10のセルの内容を、この式を入力したスプレッドシートへ同期することができます。

別のスプレッドシート内の、A1 セルに記入をすれば、同内容が完璧ですね。

注意点

importrange 関数は、データのみを同期するものです。そのため、その他の書式や色等の情報は同期されません。同期元のスプレッドシートで色を付けても、同期先では色が付かないということです。

これに関しては、条件付き書式で対応するようにすると良いかと思います。基本的に、全て条件によって変更されていく仕組みにすると生産性も上がって良いですね。

最後に

Google Spreadsheet は Excel 以上に使い込めるツールです。便利な関数はどんどん使っていきたいところですね。自分も知らないものかなりありそうなので、ちょこちょこインプットしていければと思います。

© 2018 Motoki Yoshida