Googleスプレッドシートの操作が爆速に!! 実際に役立った関数21選

Googleスプレッドシート おすすめ関数

Googleスプレッドシートは、関数の種類がとても多いです。そのため「どの関数を使えば、どんな業務効率化につながるのかまとめて知りたい……」と思っている人も多いのではないでしょうか。

そこで、ライターの特権を活かし、大量の関数を片っ端から調べて記事にまとめました! 実際に32個の関数を試し、良いと思った21個の関数だけ残しています。

  1. 便利と言われている関数を片っ端から調べる
  2. 実際に使い方を調べて使ってみる
  3. VBAエンジニアの経験を活かして、効率化案を考える

の流れで検証/執筆していますので、ぜひ最後までお読みください。

■補足:検証したスプレッドシートの関数について

事前にTwitterで募集した「おすすめの関数」も検証して本記事を執筆しました。アンケートにご協力いただいた皆様、ありがとうございました!

スプレッドシートの操作が爆速になる関数一覧

これからスプレッドシートの関数をご紹介しますが、ひたすら関数だけを紹介されても「あまりにも数が多い!」「ただ羅列されてもどれが良いかわからない……」と思う方がほとんどだと思います。

そこで、今回は筆者がなるべく使いやすいと思う順番にならべ、全ての関数に使い方がわかるサンプル付きでまとめました。

「何があるかざーっとみたい」という方向けに、できることの簡易表もまとめています。以下の表を確認して、気になる関数の名前をクリックして見てください。

(クリックすると、その関数の説明までスクロールします!)

関数名 できること
ROW 自動で行番号を入れられる
EXACT 2つのセルが一致しているか確認できる
AVERAGE 平均値を出せる
DATEDIF 日付の差分を出せる
IF 条件によって数式の処理を分けられる
IFERROR エラーが起きたときの処理を決められる
FIND セル内の文字の位置を取得できる
SPLIT 文字列を分割できる
VLOOKUP 指定した列と同じ行にある値を取得できる
COUNTIF 条件に一致したセルの数を出せる
COUNTIFS 複数の条件に一致したセルの数を出せる
GOOGLETRANSLATE 翻訳できる
INDEX 指定したセル範囲から行/列の番号を指定し、ヒットした値を取得できる
MATCH 指定した文字列の位置を検索できる
FILTER 絞り込んだ情報のみ表示できる
Query データベース操作言語「SQL」と同じように高度にデータを絞り込んで表示できる
ARRAYFORMULA 1つ入れるだけで複数列に数式の結果を出せる
IMAGE 画像URLを入れるだけでセルに画像を表示できる
IMPORTHTML 指定したURLの表や箇条書きを取得できる
IMPORTRANGE 別のスプレッドシートの情報を表示できる
IMPORTXML HTMLのタグやクラスを指定してデータを表示できる

検証用に使ったスプレッドシートもありますので、ファイルコピーのうえご活用ください。

関数1. ROW

ROW関数は、自動で行の連番を入れるときに便利な関数です。スプレッドシートで資料を作るとき、「No」などの行番号を用意することもあると思います。

このとき、途中で間に行を追加してしまうと、以下のように番号がおかしくなってしまいます。

▲番号がおかしくなってしまう例

でも、ROW関数を使えば、連番を行の位置に合わせて自動で更新できます。

■ROW関数の使い方

・使い方:=ROW()-(開始行 – 1)

・2行目から開始する場合:=ROW()-1

・3行目から開始する場合:=ROW()-2

関数2. EXACT

EXACT関数とは、2つのセルが一致しているか判断する関数のこと。イコールで「A=B」のように比較するよりも、厳密に比較できる(大文字や全角の違いも不一致とみなす)のが特徴です。

▲EXACT関数を使うイメージ

■EXACT関数の使い方

・使い方:=EXACT(比較セル1 , 比較セル2)

・サンプル:=EXACT(A2,B2)

ちょっとした比較であれば「A2=B2」でも良いですが、大文字や全角の違いも含めて比較をしたいときはEXACT関数が便利です。

■補足:比較するときは、条件付き書式を使う方が目に優しい!

EXACT関数はTRUE、FALSEで結果を出しますが、ぶっちゃけ結果が確認しづらいと思いませんか?

とくにデータの数が多いと、筆者だったら目がしょぼしょぼして仕事どころではありません。このような場合に便利なのが、「条件付き書式」の活用です。

「TRUEのときのセルだけ、背景色を変える」といった条件を追加するだけで、視覚的に見やすくなります。

▲条件付き書式で「TRUE」のみ色を付けた場合のイメージ

関数3. AVERAGE

AVERAGE関数は、平均値を求める関数です。

▲AVERAGE関数を使うイメージ

■AVERAGE関数の使い方

・使い方:=AVERAGE(平均したい数字の範囲を入れる)

・サンプル:=AVERAGE(E2:E7)

数値計算が多い場合は、AVERAGE関数が便利です。

関数4. DATEDIF

2つの日付の差分を計算する関数を、DATEDIF関数といいます。ガントチャートを作るときなどに便利です。

▲DATEDIF関数を使うイメージ

■DATEDIF関数の使い方

・使い方:=DATEDIF(開始日 , 終了日 , 単位)

・”Y”: 開始日と終了日の「年数」を表示

・”M”: 開始日と終了日の「月数」を表示

・”D”: 開始日と終了日の「日数」を表示

・サンプル(日数の差分を出す場合):=DATEDIF(C2,D2,”D”)

ここでは詳しく解説しませんが、日数を利用して以下のようなガントチャートを作る方法もあります。

▲DATEDIFを活用した、ガントチャートの例

スケジュール管理を行うときなども、サクッと計算できるので便利です。

関数5. IF

IF関数は、「もしも〇〇だったら▲▲をする。そうでない場合は■■をする」といった条件に合わせて数式を変えることができる関数です。

▲IF関数の使い方

■IF関数の使い方

・使い方:=IF(数式 , TRUEのとき表示する値 ,FALSEのとき表示する値)

・サンプル(40点以下の場合は「赤点」を表示):=IF(C2<=40,”赤点”,”合格です”)

IF関数は単体で使うのはもちろん、他の関数とセットで使うときにも便利です。

「関数を使うとき、値が空白だと何もしてほしくない」といったケースはよくあります。たとえば、以下のようなケースです。

▲関数の結果を表示したくないケース

上記の場合、「前回の検査値」と「今回の検査値」を比較してTRUE/FALSEを表示していますが、空白のセルまで結果が出てしまっていますよね。

以下のようにIF関数を活用すれば、結果を空白にできます。

▲関数に使うセルに値がない場合、空白表示するイメージ

B列に値を入れたら自動で結果のみ入るため、「無駄なデータが入っていて分析がしづらい」といった心配もありません。

関数6. IFERROR

IFERROR関数は、エラーが起きたときの数式の結果を決める関数です……と言ってもわかりづらいと思うので、例を見てみましょう。

たとえば「設定シートにある文字単価の情報を取得する関数(Vlookupなど)をF列に入れた場合」が以下です。何もしていない場合は、次のように担当者が空の行はエラーが出てしまいます。

▲エラーが出るイメージ

IFERROR関数を使うと、「エラーの場合はセルに何も表示しない」といった数式が作れます。

▲IFERROR関数を使って空のセルのように見せるイメージ

■IFERROR関数の使い方

・使い方:=IFERROR(数式 , エラーのとき表示する値)

・サンプル:=IFERROR(VLOOKUP(B3,$I$3:$J$5,2,FALSE),””)

関数7. FIND

セル内にある指定した文字の位置を取得する関数が、FIND関数です。単体で使うケースは少ないですが、他の関数とセットで使うと威力を発揮します。

まずは、FIND関数だけを使った場合を見てみましょう。

▲FIND関数を使うイメージ

■FIND関数の使い方

・使い方:=FIND(検索文字列 , 検索対象のセル)

・サンプル:=FIND(” “,A2)

半角空白までの文字数が、それぞれ表示されています。たとえばLEFT関数(左から指定した文字列を取得)を使うと、以下のように空白までの文字列を取得できます。

▲FIND関数とLEFT関数を組み合わせた活用法の例

  • 指定した位置から値を取得したい
  • 指定した位置から値を削除したい

など、位置を指定した数式を作るときに便利です。

関数8. SPLIT

SPLIT関数は、指定の区切り文字で文字列を分割できる関数。カンマ区切りのデータを、以下のようにセルに分割できます。

▲SPLIT関数でセルに分割するイメージ

■SPLIT関数の使い方

・使い方:=SPLIT(文字列を分割する基データ,”区切り文字”)

・サンプル:=SPLIT(A2,”,”)

関数9. VLOOKUP

指定した列と同じ行にある値を取得する関数が、VLOOKUP関数です。たとえば以下では、案件名が一致した項目の単価を取得する際に利用しています。

▲VLOOKUP関数を使うイメージ

■VLOOKUP関数の使い方

・使い方:=VLOOKUP(検索する値, セル範囲 ,取得する値の列番号, 検索の型)

・検索の型がTRUEの場合:部分一致で検索

・検索の型がFALSEの場合:完全一致で検索

・サンプル:=VLOOKUP(B3,$H$3:$I$8,2,FALSE)

関数10. COUNTIF

COUNTIF関数を使えば、条件に一致したセルの数を計算できます。

▲COUNTIF関数を使うイメージ

■COUNTIF関数の使い方

・使い方:=COUNTIF(セル範囲 , 一致する条件)

・サンプル:=COUNTIF(E2:E7,”>=4000″)

指定した条件の数を調べるときに、とても便利です。

関数11. COUNTIFS

COUNTIFS関数は、COUNTIF関数に条件を追加した関数です。先ほどの例で言うと、

  1. 時給が4000円を超える
  2. 記事単価が20000円以下

の2つの条件にあてはまる案件数などを確認できます。

▲COUNTIFS関数を使うイメージ(条件が一致するセルに、色を付けています)

■COUNTIFS関数の使い方

・使い方:=COUNTIFS(セル範囲1 , 一致する条件1 ,セル範囲2 , 一致する条件2 )

・サンプル:=COUNTIFS(E2:E7,”>=4000″,D2:D7,”<=20000″)

注意点は、「AかつBの条件」にヒットする数を調べるという点です。

■補足:COUNTIFS関数でOR条件を使う方法は?

もしも「AまたはBの条件」にヒットする数を調べたい場合は、COUNTIFS関数を2つ使って足し算をすると、実現できます。

例)

=COUNTIFS(E2:E7,”>=4000″,D2:D7,”<=20000″)

=COUNTIFS(E2:E7,”>=4000″) + COUNTIFS(D2:D7,”<=20000″)

▲COUNTIFSを繋げてOR条件を実現するイメージ

関数12. GOOGLETRANSLATE

GOOGLETRANSLATEとは、「英語→日本語」や「日本語→英語」などに翻訳できる関数のこと。

▲GOOGLETRANSLATEを使うイメージ

■GOOGLETRANSLATE関数の使い方

・使い方:=GOOGLETRANSLATE(翻訳するセル , 翻訳前の言語 , 翻訳後の言語)

・サンプル(日本語→英語に翻訳する場合):=GOOGLETRANSLATE(A2,”ja”,”en”)

筆者はメディアのディレクターをやっている都合上、日本語の記事タイトルから英語の記事URLを考えるケースがあります。このときサクッと英語に翻訳できるので、とても便利です。

関数13. INDEX

INDEX関数は、指定したセル範囲から行/列の番号を指定し、ヒットした値を取得する関数です。

たとえば以下のように、

  • セル範囲:A2:B3
  • 行番号:1
  • 列番号:2

を指定した場合は、以下のようにB2のセルの値を表示します。

▲INDEX関数を使うイメージ

■INDEX関数の使い方

・使い方:=INDEX(セル範囲 , 行番号 , 列番号)

・サンプル:=INDEX(A2:B3,E3,E4)

単体で使うケースは少ないですが、「選択したセル範囲の特定の位置にある値を取得したい」といったケースで便利です。

関数14. MATCH

指定した文字列の位置を検索できる関数が、MATCH関数です。たとえば、次のように設定シートにある単価情報の行数を調べるときなどに使います。

▲MATCH関数を使うイメージ

■MATCH関数の使い方

・使い方:=MATCH(検索する値,セル範囲,照合の種類)

・照合の種類が1:検索値の最大値を検索

・照合の種類が0:検索値と同一のもの

・照合の種類が-1:検索値の最小値を検索

・サンプル:=MATCH(B3,H:H,0)

ただ、MATCH関数は単体で利用するのではなく、他の関数と組み合わせて使うことが多いです(たとえば、セルの参照を数式で表すことができるINDIRECT関数など)。

組み合わせて使うと、次のように、

  • MATCH関数:案件の情報がかかれている行を取得
  • INDIRECT関数:ヒットした行の、設定シートの単価を取得

といった効果を発揮します。

▲MATCH関数とINDIRECT関数を活用した例

「検索して見つけた行」を使って関数を組み込む場合に、MATCH関数はおすすめです。

関数15. FILTER

FILTER関数は、条件を絞ってデータを表示する関数のこと。欲しいデータのみを、簡単に一覧にできます。

▲FILTER関数を使うイメージ

■FILTER関数の使い方

・使い方:=FILTER(表のセル範囲 , データを絞り込む条件)

・サンプル:=FILTER(A1:G10,B1:B10=”鈴木さん”)

フィルター機能との違いは、「元のデータをいじらずに見せ方だけ変えられる点」です。

  1. データ一覧シート
  2. 〇〇さんのデータ一覧シート
  3. ▲▲さんのデータ一覧シート

のように見せ方を変えるシートをFILTER関数で作っておけば、データ一覧シートを更新するだけで他のシートも自動で更新されます。

関数16. Query

Query関数は、表のデータから条件を絞って値を取得する関数です。

▲Query関数を使うイメージ

■Query関数の使い方

・使い方:=QUERY(データの範囲,”絞り込み条件”,ヘッダ行の位置)

・サンプル:=QUERY(A:E,”where D > 20000″,2)

データベース操作言語である「SQL」に近い形でデータを取得できます。「データの列数が多くて、見たい情報の整理が大変……」といった場合に、QUERY関数で見たい情報を分けたシートを作っておくと分析がはかどります!

関数17. ARRAYFORMULA

ARRAYFORMULA関数は、同じ関数を連続して設定したいときに便利な配列関数。これまでご紹介した関数を使って数式を入れるだけで、複数のセルに自動で値を反映できます。

▲ARRAYFORMULA関数を使うイメージ

■ARRAYFORMULA関数の使い方

・使い方:=ARRAYFORMULA(数式を範囲指定で入れる)

・サンプル:=ARRAYFORMULA(IF(E2:E7>=3500,”OK”,”効率化しないと”))

IF文の中にある、「E2:E7」が範囲指定になっている点がポイントです。ARRAYFORMULA関数を使う場合は、表示したいセルの範囲を指定します。

■応用編

「でも、関数を連続して入れるだけなら、コピーして入れるだけでいいんじゃないの?」と思った方もいるかもしれません。

筆者も思ったので調べてみたところ、じつは「他の関数とセットで利用する」と効果が絶大になるようです。

たとえば先ほどの関数を、

「E2:E7」

「E2:INDIRECT(“E” & COUNTA(E2:E)+1)」

に変更するだけで、E列に値が追加されたときにF列に自動で値を入れてくれる配列関数が作れます。

▲自動で値が入るイメージ

「E2:INDIRECT(“E” & COUNTA(E2:E)+1)」が何をやってるか分かりづらいかもしれませんが、簡単に言うと「『E2:E(最大の行数)』を範囲指定する」ための関数です。

「F列の関数は一切変えずに自動で値が入るシート」を作れるため、「行を追加したから、範囲を変更しないと」といった面倒ごとは一切不要になります。

関数18. IMAGE

IMAGE関数とは、指定したURLの画像を表示できる関数のことです。たとえば筆者が過去に執筆した記事のアイキャッチ画像を表示してみると、以下のようになります。

▲IMAGE関数を使うイメージ

■IMAGE関数の使い方

・使い方:=IMAGE(URL , [モード],[高さ],[幅])

・サンプル:=IMAGE(B2)

「いつ使うの?」と思う方もいるかもしれませんが、画像を使った分析などを行うときに便利です(たとえば「バズったツイートの画像を分析するとき」など)

事前に画像のURLを一覧にできれば、一瞬で画像も一覧にできます。

関数19. IMPORTHTML

指定したURLの表またはリストの情報を取得できる関数が、IMPORTHTML関数。競合サイトなどを分析するときにとても便利です。

たとえば、筆者が以前執筆した記事「Chatworkで仕事効率を爆上げする裏技8選」でまとめた、以下の表をスプレッドシートに持ってきてみましょう。

上記の表のデータも、IMPORTHTML関数を使えば簡単に一覧にできます。

▲IMPORTHTML関数を使うイメージ

■IMPORTHTML関数の使い方

・使い方:=IMPORTHTML(URL , “table(表) or list(箇条書き)”, 取得したい要素の番号)

・サンプル:=IMPORTHTML(“https://goworkship.com/magazine/chatwork-tricks-urawaza/”,”table”,1)

筆者は、「競合の記事」や「競合サービスページ」を確認するときなどに利用しています。たとえば、WorkshipのLPにある箇条書きデータを一覧にしたものを見てみましょう。

▲IMPORTHTML関数でWorkshipの箇条書きを一覧化したデータ

これを見ると、どんな要素が詰まっているのかが分かります。引数の最後に指定する番号を1から順番に切り替えるだけで、ざーっとリストの内容を洗い出しできるので便利です。

関数20. IMPORTRANGE

別のスプレッドシートの情報を表示できる関数を、IMPORTRANGE関数といいます。たとえば以下のように、自動で別のスプレッドシートの情報を表示できます。

▲IMPORTRANGE関数を使うイメージ

■IMPORTRANGE関数の使い方

・使い方:=IMPORTRANGE(“スプレッドシートキー”,”シート名!セル範囲”)

・サンプル:=IMPORTRANGE(“1oL0SIMdPgNy9roBD8HQZ-QkQoPk14QgA_DENzjdjyz8/edit#gid=630729718″,”〇〇案件!A:O”)

スプレッドシートキーは、スプレッドシートのURLの以下の部分です。

▲スプレッドシートキーの場所

たとえば筆者の場合は、ディレクション案件ごとに作っている進捗管理シートを、1つのシートで見れるようにしています。

▲スプレッドシートを横断して見れるシートの作成イメージ

関数21. IMPORTXML

IMPORTXML関数とは、指定したURLの要素を取得する関数のこと。先ほどご紹介したIMPORTHTML関数は「表」と「箇条書き」しか取得できませんでしたが、IMPORTXML関数ではHTMLのタグやクラスなどを指定して取得できます。

たとえばタイトルを取得する場合は、以下のようになるイメージです

▲IMPORTXML関数を使うイメージ

■IMPORTXML関数の使い方

・使い方:=IMPORTXML(“URL”,”XPath”)

・サンプル:=IMPORTXML(“https://goworkship.com/magazine/writer-marketing-mindset/”,”//title”)

筆者は、メディアのリライト記事を選定するための分析などに利用することが多いです。その際はGoogleのサイト分析ツール『Google Analytics』を使って情報を出しますが、記事のURLはあっても「タイトル」まではありません。

そこで、URLを一覧にした後、IMPORTXMLでタイトルを表示して分析を進めています。

まとめ:スプレッドシートの関数は、実際に使ってみることが重要

今回は、スプレッドシートの操作が爆速になる21個の関数をご紹介しました。

関数は見て学ぶよりも、実際に手を動かすのがとても重要です。とはいえ、「実際にやってみたけどよくわからーん!」と悩むことも多いのではないでしょうか(少なくとも筆者は、関数を色々使うまではよくわからーんと思うことが多かったです。笑)

同じように悩みそうな方に向けて、今回ご紹介した関数の答えを載せたスプレッドシートを公開しています。ぜひ以下からファイルコピーし、実際の関数の値を見ながらいろいろ動かしてみてくださいね!

また、TwitterのDM開放していますので、何か不明点があればご連絡ください!→筆者のTwitterはこちら

(執筆:しろ 編集:齊藤颯人)

SHARE

  • 広告主募集
  • ライター・編集者募集
  • WorkshipSPACE
週2日20万円以上のお仕事多数
Workship