業務でスプレッドシートを活用している方も多いのではないでしょうか。スプレッドシートは表計算やグラフ作成を簡単に行うことができ、複数メンバーで共有が可能なため便利なツールと言えるでしょう。スプレッドシートを今よりも効果的に使用することができれば、業務の効率化が可能となります。

そこでスプレッドシートの効率化のポイントとなるのが、関数の活用です。スプレッドシートには多くの関数が用意されており、それらを使いこなすことで今までよりも作業効率がアップすると言えるでしょう。Excelで使用していた関数は、ほとんどの場合スプレッドシートでもそのまま使用することが可能です。そのため以前の知識を利用できると言えるでしょう。

この記事では、スプレッドシートの関数の概要、おすすめ関数、Excel関数との違いなどを紹介します。

チャット一括管理アプリ「OneChat」が今なら初月無料!!

OneChatのダウンロードはこちらから

Google スプレッドシート関数入門:基本と使い方

スプレッドシート 関数

スプレッドシートでは多くの関数を使用することができます。基本的な使い方を理解しておけば、さまざまな関数を使いこなすことができるでしょう。ここでは関数の基本的な内容について紹介します。

関数と数式の基本的な違いと活用方法

関数と数式は同じものを指しているように見えますが、厳密には異なります。数式はセル内で「=」を使った式を示しており、関数は作られた処理を実行する式です。つまり関数は数式の一部という扱いになります。

項目説明
数式セルの中にイコール(「=」)で表された式のことです。例えば、「=1+2」「=A1/A2」「=B2*10」などになります。
関数 作られた処理を実行する式で、数式の一部です。例えば、合計を出力する関数は「=SUM(範囲)」、平均を出力する関数は「=AVERAGE(範囲)」になります。準備された処理を呼び出す命令のことです。

関数を知っておくことで効率的に計算を行うことが可能です。例えば複数のセルの合計値を算出したいとき、関数を知らない場合は「=A1+A2+A3+・・・+A10」のように足し算を並べていく方法になります。一方関数を知っている場合は「=SUM(A1:A10)」のように簡潔に記載することが可能です。

合計値程度の計算なら足し算で済みますが、平均値や最大値、最小値、条件に一致したセルだけの合計値など、複雑になるほど関数の使用が必須となってきます。

セルの指定方法:絶対参照と相対参照

他のセルを参照する場合、絶対参照と相対参照の2つの参照方法があります。絶対参照で指定した場合、行や列を追加/削除しても参照場所は固定化されて変わりません。一方相対参照で指定した場合は、行や列を追加/削除したり、数式をコピーして別セルに貼り付けたりすると、それに連動して参照場所も変わります。

項目説明
絶対参照参照するセル位置を固定化する参照方式です。行や列の追加や削除を行った場合や数式を別のセルにコピーしても、参照位置は変わりません。書式は「$A$1」のように「$」マークを付ける方法です。
相対参照  参照するセル位置が数式に連動して変わる参照方式です。また行や列の追加や削除を行った場合も、参照位置が連動して変わります。書式は「A1」のような形です。

また、セルの行と列のどちらか一方を固定化する「複合参照」という参照方式もあります。複合参照は次の2つのパターンです。

  • $A1:列を絶対参照にして固定
  • A$1:行を絶対参照にして固定

「&A1」のように列を絶対参照にした場合、数式を別のセルにコピーした際は列番号の「A」は変わらず行番号だけが変化します。

一方「A$1」のように行を絶対参照にした場合は、行番号の「1」は変わらず列番号だけが変化する形です。

Google スプレッドシートで使える便利な関数20選

スプレッドシート 関数

スプレッドシートで使用できる効率化が図れる関数を紹介します。Excelにはなかった便利な関数がスプレッドシートには用意されているため、使いこなせるように理解しておきましょう。

データの計算や文字操作に役立つ基本関数

ここでは、データを計算したり文字列を操作したりする場合に役立つ関数を紹介します。

SUM:合計値を求める

複数のセルの合計値を求める場合に使用します。

項目説明
書式=SUM(範囲)
使い方  範囲には合計値を求めるセルを指定します。例えばA1~A10セルの合計値を求める場合、「A1:A10」というように「:」でつなぐ方法です。B1セル、B3セル、B5セルの合計値を求める場合は、「B1,B3,B5」というように「,」で区切ります。「:」と「,」を組み合わせて「A1:A10,B1,B3,B5」と指定することも可能です。

AVERAGE:平均値を求める

複数のセルの平均値を求める場合に使用します。

項目説明
書式=AVERAGE(範囲)
使い方  範囲には平均値を求めるセルを指定します。例えばC1〜C10セルの平均値を求める場合、「C1:C10」というように「:」でつなぐ方法です。D1セル、D3セル、D5セルの合計値を求める場合は、「D1,D3,D5」というように「,」で区切ります。SUMと同じように、「:」と「,」を組み合わせて「C1:C10,D1,D3,D5」と指定することも可能です。

ROW:セルの行番号を取得

指定したセルの行番号を取得する場合に使用します。ROWは、作成した表に連番を入力する場合などに使用することが多いです。

項目説明
書式=ROW([セル])[ ]は省略可能を示しています。
使い方  指定したセルの行番号を取得したい場合に使用します。セルは省略することも可能です。省略した場合は、数式を記入したセルの行番号が取得できます。表の行番号を表示する際に使用することが多いです。例えば、3行目から10行目の範囲で表を作成した場合、表の各行に「=ROW()-2」を入力することで「表の行番号」を表示することが可能です。

SPLIT:文字列を分割する

指定した文字列を「指定した文字または文字列」で分割する場合に使用します。

項目説明
書式=SPLIT(文字列, 分割文字 [, 各文字での分割][, 空テキスト削除])
使い方  文字列を「分割文字」で区切ってセルに表示します。例えば、SPLIT(“hide,shunsuke,shinji” ,”,”)とした場合、「hide」「shunsuke」「shinji」のように分割されます。第3引数の「各文字での分割」は、何も指定しない場合は「TRUE」が入る形です。文字で分割する場合は「TRUE」で問題ありません。

しかし文字列で分割する場合は、「FALSE」指定が必要となります。第4引数の「空テキスト削除」は、何も指定しない場合は「TRUE」が入る形です。空のテキストを残したい場合は「FALSE」を指定する必要があります。

JOIN:文字列を結合する

指定した文字列を「指定した文字または文字列」を含めて結合する場合に使用します。

項目説明
書式=JOIN(結合文字, 文字列1 [, 文字列2][,…])
使い方  文字列を「結合文字」で結合します。文字列は「,」で区切って指定する方法と「:」で範囲を指定する方法の両方が使用可能です。

例えば、A1セルに「フランシスコ」、A2セルに「ザビエル」が入っていた場合、JOIN(“・”, A1, A2)とすると「フランシスコ・ザビエル」のように結合されます。また、B1セルに「090」、B2セルに「1234」、B3セルに「5678」が入っていた場合、JOIN(“-”, B1:B3)とすると結合結果は「090-1234-5678」です。

データ検索や条件に合った値を取得する関数

データを検索したり条件に一致した値を取得したりする関数は、さまざまな計算において活用できると言えるでしょう。よく使う便利な関数を紹介します。

IF:条件で結果を分岐する

条件で表示や計算結果を分岐させる場合に使用します。

項目説明
書式=IF(論理式,TRUE時の結果,FALSE時の結果)
使い方  論理式では、一致や不一致、大小を比較する式を入れます。例えばテストの点数が70点以上は合格、70点以下は不合格と表示させる場合は、「=IF(A1>=70, ”合格”, ”不合格”)」のような式です。また点数を記入するセルに「-」と表示している人は「不参加」という表示を追加する場合は次のような式になります。「=IF(A1=”-”, “不参加”, IF(A1>=70, “合格”, “不合格”))」です。

NOW:現在の日付と時刻を取得する

現在の日付や時刻を取得する場合に使用します。

項目説明
書式=NOW()
使い方  現在の日付を表示する場合は、セルの表示形式を「日付」に設定した後に「=NOW()」を記入します。現在の時間を表示する場合は、セルの表示形式を「時間」に設定してから「=NOW()」を記入する方法です。日付も時間も両方とも表示したい場合は、セルの表示形式を「日時」にしてください。「2023/6/1 20:10:05」のような形式で表示されます。

ISURL:URL形式を判断する

文字列がURL形式かどうかを判断する場合に使用します。

項目説明
書式=ISURL(文字列)
使い方  文字列にURLを指定します。URL形式の場合は、関数の結果として「TRUE」が返される仕組みです。URL形式以外の場合は「FALSE」が返されます。例えば次のような結果です。
https://abcdefg12345.com/  :結果TRUEhtttps://abcdefg12345.com/  :結果FALSEhttps://abcdefg12345.com/  :結果FALSEhttps;//abcdefg12345.com/  :結果FALSE.https://abcdefg12345.com/  :結果FALSE
このように、URL形式の記載ミスなどをチェックする場合に使用できます。ただし結果がTRUEの場合でも、実際にURLが示すWebサイトが存在するかどうかまではチェックしません。

UNIQUE:重複を削除する

重複している内容の行を削除して表示する場合に使用します。

項目説明
書式=UNIQUE(範囲)
使い方  範囲には重複を削除して表示したい表の範囲を指定します。例えば対象の表がA3〜C13セルの範囲だった場合、「A3:C13」を指定する形です。また対象の表からA列とB列だけを抜き出して、重複しない表を表示する場合は「A3:B13」を指定します。

FILTER:表示データを絞り込む

指定した条件で表示するデータを絞り込む場合に使用します。

項目説明
書式=FILTER(範囲, 条件1, [条件2, …])
使い方  指定した単一の条件、または複数の条件でデータを絞り込むことが可能です。例えば、A列=名前、B列=性別、C列=年齢が書かれた表があり、A2~C30までの範囲だった場合、男性だけを絞り込むには「=FILETER(A2:C30, B2:B30=”男性”)」と記載します。

男性で30歳以上を表示する場合は「=FILETER(A2:C30, B2:B30=”男性”, C2:C30>=30」を指定する形です。

TRANSPOSE:データの入れ替え

表の縦横のデータを入れ替える場合に使用します。

項目説明
書式=TRANSPOSE(範囲)
使い方  範囲には、縦横を入れ替える対象の表を指定します。例えば次のような表の入れ替えです。
(入れ替え前の表)種類数リンゴ2個もも3個
(入れ替え後の表)種類リンゴもも数2個3個
この表がA1~B3セルの範囲だった場合は、「=TRANSPOSE(A1:B3)」で入れ替え表示が可能です。

SUMIF:条件に合った項目の合計値

条件を指定して一致したものだけの合計値を求めたい場合に使用します。

項目説明
書式=SUMIF(範囲, 条件, 合計範囲)
使い方  範囲には条件をチェックする列を指定します。条件は合計したい項目を識別するための内容です。合計範囲には、条件に一致した項目の数値列を指定します。
例えば次のような表です。

名前所属部署残業時間(H)桜木総務部10水戸営業部20小暮人事部5流川人事部5赤木総務部8千堂営業部15
営業部の残業時間の合計値を取得したい場合、表がA2〜C7の範囲として「=SUMIF(B2:B7, “営業部”, C2:C7)」とすることで表示ができます。

VLOOKUP:データを検索する

条件に合ったデータを検索し、それに紐づく内容を表示させたい場合に使用します。

項目説明
書式=VLOOKUP(検索値, 検索範囲, 列番号, 検索方法)
使い方  検索値には、検索するデータを指定します。検索範囲は、検索する範囲の指定です。列番号は検索値が見つかった場合に紐づくデータの位置を指定します。検索方法では「完全一致」「近似一致」の選択です。
例えば「商品価格」シートのA2〜B5範囲に、次のような商品と価格がまとめられている場合の検索方法を説明します。商品価格(円)リンゴ150パイナップル250もも400みかん120
別シートである「購入品」シートにおいて、購入商品を入力すると自動的に価格が表示されるようにするには次の式となります。下表はA列が「購入商品」、B列が「価格」です。購入商品価格もも=VLOOKUP(A2, ‘商品価格’!$A$2:$B$5, 2, FALSE)

IMAGE:画像を挿入

スプレッドシートに画像を挿入する場合に使用します。

項目説明
書式=IMAGE(URL, [モード], [高さ], [幅])
使い方  URLには画像が掲載されているURLを指定します。モードは画像のサイズを設定する項目です。1〜4の番号で指定します。1縦横比率は変更せずに、セルの中に入るように画像サイズを変更します。2セルの中に画像が収まるように縦横比率を変更します。

3画像のサイズは変更せず、セルの中に収まらない場合はトリミングされた状態で表示します。4指定サイズで表示することができます。「4」を指定した場合は、「高さ」と「幅」の指定が必要です。

IMPORTHTML:表やリストを取得する

Webサイトの表やリストを取得して表示する場合に使用します。

項目説明
書式=IMPORTHTML(URL, クエリ, 指数)
使い方  URLには、抽出するリストや表があるWebサイトのアドレスを指定します。クエリは、抽出したいものの種類を指定する形です。表を抽出する場合は「table」、リストを抽出する場合は「list」を指定します。指数とは、Webサイト内において何個目の表やリストなのかを指定するものです。

フリーランスエンジニアに最高の待遇を【Free Tech Hub】

セルの書式設定やエラー表示を制御する関数

セルの書式を設定したりエラー時の表示を行ったりした場合に、使用する関数について説明します。

WEEKNUM:その年の何週目かを取得する

指定した日が、その年の何週目になるのかを取得する場合に使用します。

項目説明
書式=WEEKNUM(日付, [種類])
使い方 日付には、何週目か取得したい日を指定します。種類は週の始まりの曜日を選択する形です。「1」を指定すると日曜始まりで、「2」を指定すると月曜始まりです。

EXACT:2つが等しいかどうかを確認

2つのセル内のデータが、等しいかどうかを判別する場合に使用します。

項目説明
書式=EXACT(文字列1, 文字列2)
使い方  比較する2つの文字列を、文字列1と文字列2に指定します。比較して一致した場合は「TRUE」、異なった場合は「FALSE」を返す形です。EXACT関数は、アルファベットの大文字、小文字も区別します。

ARRAYFORMULA:複数セルにまとめて数式を設定

複数セルに対して、まとめて数式を設定する場合に使用します。

項目説明
書式=ARRAYFORMULA(配列数式)
使い方  配列数式には、まとめて数式を設定するセルの範囲を指定します。例えば次のような表で、合計を求める場合は「SUM関数」を各行に使用する方法が一般的です。名前国語数学英語合計桜木太郎502060=SUM(B2:D2)流川次郎807074=SUM(B3:D3)小暮三郎928880=SUM(B4:D4)

このような場合、ARRAYFORMULA関数を使用することで、まとめて数式を設定することが可能です。SUMはARRAYFORMULAの配列数式には指定できないため、「国語」「数学」「英語」の点数を足す方法となります。

下表がA1セルから作成された表の場合、次のような式を入力する方法です。名前国語数学英語合計桜木太郎502060=ARRAYFORMULA(B2:B4+C2:C4+D2:D4)流川次郎807074
小暮三郎928880

GOOGLETRANSLATE:文章を翻訳

文章を他の言語に翻訳する場合に使用する関数です。

項目説明
書式=GOOGLETRANSLATE(テキスト, ソース言語, ターゲット言語)
使い方  テキストには、翻訳対象の文章を指定します。ソース言語は、翻訳前の言語を指定する形です。指定方法は言語コードを使用します。ターゲット言語は、翻訳後の言語を指定する方法です。こちらも言語コードを使用します。主な言語コードは次の通りです。
言語コード言語ja日本語en英語ko韓国語zh中国語deドイツ語frフランス語
例えば、A1セルに記載された日本語を英語にしてA2セルに表示する場合は、A2セルに「=GOOGLETRANSLATE(A1, “ja”, “en”)」のように入力します。

IFERROR:エラー表示を出さない

スプレッドシートで関数や計算式を使用する場合、「#VALUE!」「#N/A」「#DIV\0!」などのエラーが表示されてしまうことがあります。これらのエラー表示を出さないようにする場合に使用する関数です。

項目 説明
書式=IFERROR(値, エラー時の値)
使い方  値には、エラーが発生しているかどうかをチェックするセルや数式などを指定します。エラー時の値は、チェックした結果エラーが発生していた場合に代わりに表示する値の指定です。
例えば、割り算で分母が0になってしまった場合は「#DIV/0!」のようにエラーが表示されます。エラーの場合「-」を表示するようにしたい場合は、次のような指定です。A1セルとA2セルを割り算する場合、「=IFERROR(A1/A2, “-”)」のような指定になります。

業務効率を向上させるスプレッドシート関数の活用例

スプレッドシート 関数

業務の効率を向上させる場合に使用する関数を紹介します。知っているのと知っていないのでは、作業時間が大きく変わってくるでしょう。

在庫管理や勤怠管理に役立つ関数の使い方

スプレッドシートの関数は、在庫管理に活用できるものがあります。例えば在庫が残り少なくなってきた場合、「買い足してください」という警告メッセージを出すことも可能です。この場合は、IF関数を使用します。例えば、以下の表の「警告メッセージ」の欄にIF関数を入れる方法です。表はA1セルから作成されているものとします。

備品常時ストックしておく個数在庫警告メッセージ
ボールペン55=IF(B2>=C2, “買い足してください”, “”)
電池510
雑巾515

勤怠管理でもスプレッドシートの関数は使用できます。例えば「出勤」「有休」「代休」などの勤怠区分を数える場合です。スプレッドシートのC列を勤怠区分に使用している場合、次の関数で数を数えることが可能です。

  • 出勤日を数える場合「=COUNTIFS(F:F, “出勤”)」
  • 出勤日を数える場合「=COUNTIFS(F:F, “有休”)」
  • 出勤日を数える場合「=COUNTIFS(F:F, “代休”)」

シフト表や集計表の作成に役立つ関数の活用

シフト表では「日付」と「曜日」を一番上の列に表示することがあります。日付を入力した場合、自動的に曜日が出るようにすることが可能です。TEXT関数を使用することで、指定した日付の曜日を取得することができます。曜日を取得する場合、「aaa」を指定する方法です。

2023年10/110/210/310/410/5
曜日=TEXT(B1, “aaa”)
桜木太郎
流川次郎
小暮三郎

集計表を作成する場合もスプレッドシートの関数を活用することが可能です。例えば下図のように「ID」「性別」「年齢」がまとめられた表で、性別ごとの平均年齢を集計することができます。

IDgenderage
1男性24
2男性35
3女性26
4男性38
5女性33

この表がA1セルから作成されているとします。QUERY関数を使用することで、性別ごとの平均年齢を集計することが可能です。その式が「=QUERY(A1:C6, “SELECT B, AVG(C) GROUP BY B”, TRUE)」となります。

Google スプレッドシートとExcelの関数の比較

スプレッドシートとExcelでは、使用できる関数が異なる場合があります。スプレッドシートに存在しているがExcelにはない場合、逆にExcelには存在しているがスプレッドシートには存在していない場合です。同じ関数でも使い方が少し異なることもあるでしょう。ここではそれぞれの違いについて説明します。

両者の共通点と相違点:関数の互換性について

スプレッドシートとExcelの大きな違いは、使用環境と言えるでしょう。スプレッドシートはWeb上で作業を行い、ExcelはローカルPC内で作業を行うためです。ただし、一定の互換性があります。スプレッドシートで作成したファイルをExcel形式で保存してローカルPCで編集することができたり、ローカルPCで作成したExcelをスプレッドシートに取り込んだりすることも可能です。

また関数については、ほとんどのものが共通となっています。共通の関数については、それぞれの環境で使用することが可能です。ただし一方にしかない関数を使用していた場合は、動作しないので注意が必要です。

Googleスプレッドシート独自の便利機能

スプレッドシート独自の関数は知っておくと大変便利と言えるでしょう。Google翻訳ができたり、Webサイトの画像を参照したり、複数セルにまとめて値を反映したり、さまざまな関数が準備されています。以下は主なスプレッドシート独自の関数です。

スプレッドシート独自の関数 説明
REGEXEXTRACT正規表現で文字列を置換することができます。
GOOGLETRANSLATE文章をGoogle翻訳することができます。
IMAGEWebサイトの画像を参照することができます。
IMPORTHTMLWebサイトのリストや表を参照することができます。
QUERY表をリアルタイムに集計することができます。
SORT指定した範囲をリアルタイムに並べ替えすることができます。
FILTER指定した範囲に対してリアルタイムにフィルターをかけることができます。
UNIQUE指定した範囲の重複をリアルタイムに削除することができます。
ARRAYFORMULA複数セルにまとめて値や関数を反映することができます。
IMPORTRANGE別のスプレッドシートの値を参照することができます。

Google スプレッドシート関数のトラブルシュート

スプレッドシートの関数に関しての、トラブルシューティングをまとめています。

関数の使い方に関するよくあるエラーと対処法

計算式で「0で割ったり」「空白で割ったり」した場合は、「#DIV/0!」のようなエラー表示が出ます。この他にもエラー表示が出る場合が多くある状況です。それぞれの対処法について解説していきます。

エラー表示 対処法
#DEV/0!計算式で「0で割った場合」「空白で割った場合」のような時にこのエラーが表示されます。IFERROR関数を使用することでエラー表示を防ぐことが可能です。
#ERROR!関数の使用方法を間違って「,」(カンマ)を入れ忘れた場合などに発生するエラーです。カンマを入れて修正しましょう。
#N/A参照したデータが見つからない場合に表示されるエラーです。参照を正しいものに修正することで対処ができます。
#NAME?関数の名前を間違った場合、このエラーが表示されます。正しい名前に修正することで対処が可能です。
#NUM!関数が指定通りに実行できない場合に表示されるエラーです。指定した値の大小関係などに矛盾がある場合が考えられるでしょう。実行できるように修正が必要です。
#VALUE!数式やセルの値に問題がある場合に表示されるエラーです。参照先を一つずつ確認していくなど、エラー原因を突き止めて修正する必要があります。
#REF!参照先のセルが削除された場合などに表示されるエラーです。正しい参照に修正することで対処できます。

関数の活用で効率化される業務プロセス改善のポイント

関数を活用して計算を自動化したり、リアルタイムに値が反映されるようにしたりすることが可能です。作業時間の短縮が可能と言えるでしょう。また、業務プロセス改善のポイントとしては、時間短縮だけでなく、ミスの防止という点も考えらえます。

手作業で計算をしていたり、手作業でセルを指定して計算式を入れたりしている場合は、ミスが発生する可能性もあります。まとめてセルに計算式を入れる関数を利用するなど、ミスの防止という視点で関数の活用を考えていくことが大切と言えるでしょう。

よくある質問

スプレッドシートの関数に関して、よくある質問をまとめています。

スプレッドシートに関数を入れる方法は?

スプレッドシートに関数を入れる場合、次の方法があります。

  • 直接キーボード入力する
  • スプレッドシートのメニューから関数を選択する
  • 他のセルと同じ関数を入力する場合はセルをコピーする
  • ARRAYFORMULA関数でまとめて入力する

場合によって使い分けることがあるため、これらの方法を覚えておく必要があるでしょう。

スプレッドシートで関数で出た数字を足すには?

関数で出た結果の数字を足す場合は、いくつかの方法があります。

  • 足し算の計算式を使う
  • 合計値を出力するSUM関数を使用する
  • 合計する値に条件を付ける場合はSUMIF関数を使用する
  • 複数の条件を付けたい場合はSUMIFS関数を使用する

利用目的によって、使用する方法が異なります。これらの方法は効率化につながるため、知っておくのが良いでしょう。

スプレッドシートで関数を出すには?

スプレッドシートで使用できる関数を出す場合は、関数を入れるセルの上で「Σ」ボタンをクリックします。「SUM」「AVERAGE」「COUNT」「MAX」「MIN」が表示されるでしょう。目的の関数がない場合、その下のグループから選択していく方法です。

グループには、「すべて」「Google」「ウェブ」「エンジニアリング」「テキスト」などがあります。目的に応じて選択してください。

まとめ

今回は、スプレッドシートの関数の概要、おすすめ関数、Excel関数との違いなどを紹介しました。基本的な関数は、スプレッドシートでもExcelでも共通です。しかしスプレッドシートにはExcelにない便利な関数が多数用意されています。

どのような関数があるのかを知っておくことで、業務を効率的に進めることが可能となるでしょう。スプレッドシートの関数は理解しておくのが良いと言えます。

スプレッドシート関数に関する重要用語

スプレッドシート関数の重要用語を紹介します。

重要用語説明
スプレッドシート Googleが提供している表計算ソフトのことで、Web上で作業する点が特徴です。
数式セルの中にイコールで表された式のことです。
関数用意された処理を実行する数式です。
絶対参照参照するセルを固定化する状態のことです。
相対参照参照するセルを固定しない方法です。
セルスプレッドシートのマス目のことです。文字や数値などのデータを入力することができます。