本記事ではスプレッドシートの関数の中でも、スプレッドシートにのみ存在する関数についてご紹介します。
GoogleスプレッドシートはExcelの機能や関数等をほぼ同様に使うことができますが、わざわざスプレッドシートを使う利点が分からないという方もいるのではないでしょうか。
今回はそんなスプレッドシートの魅力を知ってもらうために、スプレッドシート限定の関数についてまとめました!
実は限定の関数にも種類が多くあるため、選別するにあたり、以下を満たすことを前提にしています。
- Googleスプレッドシートにしかない関数
- 汎用性があり作業効率が向上する
- ITに強くない人でも覚えたらすぐ使える
全て分かりやすく丁寧に説明していますので、ぜひ最後まで読んでくださいね!
目次
スプレッドシート 関数 IMPORTRANGE
IMPORTRANGE関数は、指定したスプレッドシートから選択したセルの範囲を読み込みます。
他のスプレッドシートからデータを抽出したいときに使用します。
例えばVLOOKUP関数と合わせて使うことで、別管理されているデータを取得・集計するといったことが可能です!
基本構文
基本構文
IMPORTRANGE("スプレッドシートキー","シート名!参照するセルの範囲")
スプレッドシートキーとは、スプレッドシートのURLを確認すると、
例:https://docs.google.com/spreadsheets/d/◯◯◯◯◯◯/edit#gid=0
のようになっていると思いますが、この「◯」部分のことを指します。実際はスプレッドシートのURLをそのまま貼り付けても問題ありません。
では、別のスプレッドシートからセルの値を抽出してみましょう!
=importrange("1H2-ZXXjG5HUwZrQHM5PoSGxqeGAKeVAuYpT1z2lffiE","C3")
データを取得するシート
取得元データ
例ではセルの値を取得していますが、範囲指定でも抽出可能なので一度試してみてください!
また初めてシートにアクセスする場合は、リンクを許可するか確認があると思うので、「アクセスを許可」を押してください。権限のないシートの場合は、「アクセス権限をリクエスト」をクリックしてください。
会社管理や他人のスプレッドシートについては、同スプレッドシート内への新規シート追加や編集等は行わないのが暗黙の了解だったりするので、基本的にIMPORTRANGE関数で取得するようにしましょう!
スプレッドシート 関数 IMAGE
IMAGE関数は、セルに画像を挿入します。1×1のセル内に画像を挿入することができます。
基本構文
基本構文
IMAGE(画像のURL, [モード], [高さ], [幅])
画像のURL
画像の URL です。プロトコル(https://など)も含めます。
モード 1の場合 2の場合 3の場合 4の場合
省略可能です。その場合は、デフォルトの"1"が設定されます。
アスペクト比(縦横比)を変えず、セル内に収まるように画像サイズを変更します。
アスペクト比を無視して、セル内に収まるように画像サイズを変更します。
画像を元のサイズのまま表示します。その場合、画像がトリミングされることがあります。
カスタム サイズに変更できます。[高さ]や[幅]を指定する際は、このモードにする必要があります。
例を見てしまった方がイメージつきやすいと思うので、さっそく見てみましょう!
元の画像はこちらです。
モードが1の場合
=image("https://www.google.com/images/srpr/logo3w.png",1)
アスペクト比は変わらず、セルに合わせて画面サイズが縮小されています。
モードが2の場合
=image("https://www.google.com/images/srpr/logo3w.png",2)
アスペクト比を無視して縦に伸びた状態で表示されています。
モードが3の場合
=image("https://www.google.com/images/srpr/logo3w.png",3)
画像サイズがそのままで、はみ出した分はカットされていますね。
モードが4の場合
=image("https://www.google.com/images/srpr/logo3w.png",4,50,150)
指定の高さと幅になっています。
ちなみに画像に合わせてセルのサイズを変更するモードは現状ありません!
これら4つのいずれかの中で調整しましょう。
スプレッドシート 関数 UNIQUE
UNIQUE関数は、重複する行を破棄して指定範囲内の一意の行を返します。先頭から順に返却されます。
基本構文
基本構文
UNIQUE(範囲)
範囲を指定するだけで重複した行を省いてくれるので、簡単かつとても便利な関数です。
=unique(C3:D23)
例では「あんかけ丼 410」が同じ内容なので、右側の表示が1つ省略されていますね。
対象の範囲における行について全列が同じ内容であるとき、重複と判断されます!
スプレッドシート 関数 ARRAYFORMULA
ARRAYFORMULA関数は、配列数式から返された値を複数行(列)に表示したり、非配列関数での配列の使用を可能にします。とっても簡単に言うと、指定した配列数式を表示する関数です。
こちらは今回紹介する関数の中でも特におすすめな関数なので、ぜひ覚えてくださいねー!
基本構文
基本構文
ARRAYFORMULA(配列数式)
配列数式とは、配列(複数セル)を対象に作成する数式のことです。
ここはあまり難しく考えなくて大丈夫です。使い方を覚えましょう!
以下の例では、単純に任意の範囲を選択しています。
=Arrayformula(C3:D23)
…これだけだとイマイチ利点が伝わらないので、次はVLOOKUP関数と組み合わせて使ってみます!
下記では料金表の選択範囲についてF列のワードで検索し、ヒットした商品の料金を返すようにVLOOKUP関数を組んでいます。
=Arrayformula(vlookup(F3:F12,C3:D23,2,false))
本来はG3〜G12までの全行に数式を入力しなければなりませんが、上図のように1つのセル入力で全ての料金を表示できています!
これはExcelでも言えることですが、取得するデータが多い場合、全てのセルに関数を入力すると処理が重くなりがちです。
ArrayFormulaを使えば、全てのセルで1つ1つ関数を動かす必要がなくなるため、処理の高速化につながります。
また読み込み速度の向上だけでなく、何か修正が必要な際は1つのセルのみ変更すれば良いだけなので、メンテナンスの観点においても優れています!
スプレッドシートの中でもかなり重要な関数の一つなので、ぜひ使いこなせるようになりましょう!
スプレッドシート 関数 IMPORTHTML
IMPORTHTML関数は、HTMLページ内の表やリストからデータを抽出します。
Webページにある表やリストをスプレッドシートにペーストできると便利ですよね?この関数を使えばそれが一発で出来ます。
データの種類を確認するのに、ほんのちょっとだけHTMLの知識が必要ですが、その方法についてもご説明しますのでご安心ください!
基本構文
基本構文
IMPORTHTML(URL, データの種類, 指数)
URL
Webページの URL です。プロトコル(https://等)も含めます。
データの種類
取得したいデータの種類を "list"(リスト)か "table"(表)のどちらかで指定します。
ここがちょっとHTMLの知識が必要なとこではあるんですが、IMPORTHTMLが取得できるのはWebページを構成しているタグのうち、リスト(<ul>タグか<ol>タグ)か表(<table>タグ)のいずれかです。
指数
HTMLソース内で定義された番号で、 1 から順に指定します。とても簡単に言うとリスト・表について、それぞれ上から何番目を取得するかということです。
では、ここでデータの種類を確認する方法を簡単にご説明します!
step.1
まずGoogleChromeを開いて、参考ページにアクセスしてくだい。次にF12ボタンを押します。
step.2
すると、以下のような画面が出てくると思います(デベロッパーツール)。この画面が何かというと、現在開いてるWebページのHTMLソースです。
これを確認することで、このWebページの構成内容のほとんどが分かります!step.3
さて、先ほどデータの種類は「リスト(<ul>タグか<ol>タグ)か表(<table>タグ)のいずれか」というお話をしましたが、それがここから確認できます。画像の枠で囲ったアイコンを押して、ページのどこかにマウスカーソルを合わせてみてください。
step.4
試しに表らしきところにマウスカーソルを合わせてみると、以下のように<table>タグを見つけました!ということは、この表は取得可能なデータの種類に該当することが分かります。
Webページをみていて、取得したいものがあったらまずは上記ツールでタグを確認してみましょう!データの種類が合致すれば取得可能と判断できます。
ではせっかくなので、この表を取得してみます!
=IMPORTHTML("http://en.wikipedia.org/wiki/Demographics_of_India","table",1)
ちゃんと取得されています!
この関数を知っていると、Web上の表をスプレッドシートに持ってきて、編集できるのでとても便利です。
調べ方でお伝えしたデベロッパーツールについても、使い方に慣れておくと色々なところで役立つので、ぜひこれを機に今後活用してみてください!
最後に
いかがだったでしょうか。
どれもExcelにはなく、スプレッドシートでのみ使える関数です。
スプレッドシートは最初のうちこそ使いづらいかもしれませんが、慣れてくると自動保存、リアルタイム共有、履歴管理による復元に加えて、便利な関数まで揃っているので利便性がとても高いです!
本記事では紹介できませんでしたが、REGEXMATCH(正規表現)やquery(配列集計)といった関数もあり、これらを知ることでさらに作業効率を向上させることができます。ちょっと理解するのに難しいところもあるんですが…
こちらについてはまた別の機会に記事に出来たらと思います。
今回は以上になります!