INDEX関数でデータ操作を強力サポート!使い方と活用実例を紹介

はじめに

Googleスプレッドシートでデータを参照・抽出するための関数の一つがINDEX関数です。指定した範囲から行番号と列番号に基づいて値を取得するこの関数は、他の関数と組み合わせて使うことで、柔軟かつ効率的なデータ操作を実現します。

この記事では、INDEX関数の基本的な使い方から、実際のビジネスシーンでの応用例までをわかりやすく解説していきます。INDEX関数の機能を理解することで、スプレッドシート上でのデータ管理が一層スムーズになるでしょう。


目次

INDEX関数とは?

INDEX関数は、指定したデータ範囲から、行と列の位置を指定して値を取り出す関数です。データベースやテーブル形式のデータから、特定の行・列のデータを簡単に抽出することができ、他の関数(MATCH関数やVLOOKUP関数など)と組み合わせて使うと、さらに効率的なデータ参照が可能です。

INDEX関数の基本構文

=INDEX(範囲, 行番号, [列番号])

範囲: データの範囲を指定します。

行番号: 範囲内で取得したい行の位置を指定します。

列番号(オプション): 範囲内で取得したい列の位置を指定します。


INDEX関数の基本的な使い方

まずは、シンプルなINDEX関数の使い方を紹介します。

実例1:顧客データから特定の行の名前を取得

データ例

顧客ID名前部署
001田中営業
002鈴木開発
003佐藤サポート
004中村総務

この表から、2行目にある「名前」を取得したい場合、次のようにINDEX関数を使います。

=INDEX(B2:B5, 2)

解説

範囲をB2:B5で指定して、2行目の値(「鈴木」)を取得します。

結果

結果: 鈴木


INDEX関数の応用例

INDEX関数は、単独で使用するだけでなく、他の関数と組み合わせることで、より高度なデータ検索や抽出が可能になります。ここからは、ビジネスシーンでも使える実践的な例をいくつか紹介します。


実例2:MATCH関数との組み合わせで動的にデータを参照

INDEX関数とMATCH関数を組み合わせると、検索結果に基づいて動的にデータを参照できます。たとえば、顧客名を入力することで、その顧客の部署を自動的に取得したい場合に便利です。

データ例

顧客ID名前部署
001田中営業
002鈴木開発
003佐藤サポート
004中村総務

この表で、名前「佐藤」の部署を自動で取得する場合、次のようにINDEX関数とMATCH関数を使います。
これは、Vlookupの代わりにもよく紹介される使い方です。

=INDEX(C2:C5, MATCH("佐藤", B2:B5, 0))

解説

MATCH関数で「佐藤」が何行目にあるかを取得し、その行にある「部署」をINDEX関数で取得します。

結果

結果: サポート


実例3:複数列のデータから条件に基づいた値を抽出

INDEX関数は複数列のデータから、条件に基づいてデータを抽出する際にも役立ちます。

データ例

商品ID商品名カテゴリ価格
A001ノートPC電子機器150,000
A002タブレット電子機器80,000
A003椅子家具20,000
A004テーブル家具25,000

たとえば、「電子機器」カテゴリの2番目の商品名を取得する場合、次のようにINDEX関数とFILTER関数を組み合わせて使用します。

=INDEX(FILTER(B2:B5, C2:C5="電子機器"), 2)

解説

FILTER関数で「電子機器」カテゴリの商品名を抽出し、その中で2番目の商品をINDEX関数で取得します。

結果

結果: タブレット


実例4:複数条件でデータを動的に取得

INDEX関数とARRAYFORMULA、MATCHを組み合わせて複数の条件でデータを参照する方法も有効です。

データ例

社員ID名前部署年齢
101田中営業30
102鈴木開発35
103佐藤サポート28
104中村総務40

ここで、「営業」部署で30歳の社員を特定したい場合、次のように使います。

=INDEX(A2:A5, MATCH(1, (C2:C5="営業")*(D2:D5=30), 0))

解説

MATCH関数で条件「営業」かつ「30歳」に該当する社員の行を特定し、その行の「社員ID」をINDEX関数で取得します。

結果

結果: 101


 実例5:動的なデータ範囲でINDEX関数を活用

INDEX関数は、動的なデータ範囲を参照する際にも役立ちます。データが増減するたびに範囲を調整するのではなく、INDEX関数を用いて自動で範囲を拡張するよう設定できます。

データ例

日付売上
2023/01/01500,000
2023/01/02600,000
2023/01/03550,000
2023/01/04700,000

ここで、売上の最終行のデータを取得したい場合、次のようにINDEX関数とMATCH関数を組み合わせます。

=INDEX(B2:B100, COUNT(B2:B100))

解説

COUNT関数で売上データがある最終行の位置を取得し、その位置にある値をINDEX関数で取得します。

結果

結果: 700,000


INDEX関数のメリットと注意点

メリット

柔軟なデータ参照: MATCH関数や他の条件付き関数と組み合わせることで、さまざまなデータ構造にも対応

動的なデータ処理: 配列関数と組み合わせることで、データが増減しても対応可能。

他の関数と組み合わせやすい: IFやFILTER関数、VLOOKUPとの組み合わせで、さらに柔軟なデータ抽出が可能。

注意点

行・列の範囲の間違いに注意: 誤った行番号や列番号を指定するとエラーになるため、注意が必要です。

● 多すぎる組み合わせによる複雑化: 多数の関数を組み合わせると式が複雑になるため、誤操作の原因になることがあります。


INDEX関数の実践活用まとめ

INDEX関数はGoogleスプレッドシートでのデータ抽出や参照に非常に強力なツールです。特にMATCH関数やFILTER関数と組み合わせて使うことで、さまざまな条件に対応したデータ参照が可能になります。データの量が多くても、INDEX関数を使えば効率よく管理できますので、日々の業務や分析にぜひ活用してみてください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

ドローン撮影、動画編集、サイト運営、パソコンスキルを説明紹介

コメント

コメントする

目次