スプレッドシートでデータを管理していると、
✅ 「特定の値を別のシートから検索したい」
✅ 「条件に合うデータだけを抽出したい」
✅ 「別のスプレッドシートのデータをリアルタイムで参照したい」
といった場面がよくあります。
データ一覧から必要な情報を取得するための関数 には、 VLOOKUP・INDEX+MATCH・IMPORTRANGE・QUERY などがあります。
本記事では、 難易度別に それぞれの関数の使い方を 事務職の業務で使える実例 を交えながら解説していきます!
【初級】VLOOKUP関数 – 指定した値に対応するデータを取得
VLOOKUP関数の基本構文
=VLOOKUP(検索値, 範囲, 列番号, [検索方法])
引数 | 説明 |
---|---|
検索値 | 探したい値(例:”商品A”) |
範囲 | 検索するデータの範囲(例:A2:C10) |
列番号 | 取得するデータが範囲の何列目にあるか(1から数える) |
検索方法(省略可) | FALSE(完全一致) or TRUE(近似一致) |
ビジネスでの活用シーン
✅ 商品マスタや社員リストから情報を取得
例えば、商品コードを入力すると、対応する商品名や価格を取得できます。
📌 例:商品コードから商品名・価格を取得
商品コード | 商品名 | 価格 |
---|---|---|
A001 | ノートPC | 100,000 |
A002 | スマホ | 80,000 |
A003 | タブレット | 60,000 |
商品コード「A002」から商品名を取得
=VLOOKUP("A002", A2:C4, 2, FALSE) → スマホ
商品コード「A002」から価格を取得
=VLOOKUP("A002", A2:C4, 3, FALSE) → 80,000
💡 注意点
- 検索値は最左列にある必要がある
- 列番号は固定されるため、列の追加や順番変更に弱い
- 完全一致(FALSE)を推奨
【中級】INDEX+MATCH関数 – VLOOKUPより柔軟にデータを検索
INDEX+MATCH関数の基本構文
=INDEX(取得範囲, MATCH(検索値, 検索範囲, [検索方法]))
関数 | 説明 |
---|---|
INDEX(範囲, 行番号, [列番号]) | 指定した範囲の 行番号・列番号のデータを取得 |
MATCH(検索値, 検索範囲, [検索方法]) | 検索値の位置(行番号)を取得 |
ビジネスでの活用シーン
✅ VLOOKUPの欠点(検索列が最左である必要がある、列追加に弱い)を克服
例えば、「商品名から商品コードを取得する」といった 左右逆の検索 も可能!
📌 例:商品名から商品コードを取得
=INDEX(A2:A4, MATCH("スマホ", B2:B4, 0))
商品コード | 商品名 | 価格 |
---|---|---|
A001 | ノートPC | 100,000 |
A002 | スマホ | 80,000 |
A003 | タブレット | 60,000 |
💡 INDEX+MATCHのメリット
- 検索列がどこにあってもOK(左右逆の検索ができる)
- 列を追加・変更しても影響を受けない
- より高速にデータを取得できる
【中級】IMPORTRANGE関数 – 別のスプレッドシートのデータを取得
IMPORTRANGE関数の基本構文
=IMPORTRANGE("スプレッドシートのURL", "シート名!範囲")
引数 | 説明 |
---|---|
スプレッドシートのURL | 参照するスプレッドシートのURL(またはそのキー部分) |
シート名!範囲 | 取得したい範囲(例:”データ!A1:C100″) |
ビジネスでの活用シーン
✅ 複数のスプレッドシートを統合して管理
- 営業成績や売上データを 別のシートで集計
- 部署ごとに管理されているデータを、1つのシートでまとめる
📌 例:他のシートから売上データを取得
=IMPORTRANGE("https://docs.google.com/spreadsheets/d/xxxxxx", "売上データ!A1:C100")
💡 IMPORTRANGEのメリット
- スプレッドシート間のデータ連携が可能
- リアルタイムでデータを更新
- VLOOKUPやQUERYと組み合わせるとさらに便利
【上級】QUERY関数 – データをSQLのように抽出・フィルタリング
QUERY関数の基本構文
=QUERY(範囲, "SQL風のクエリ文", [ヘッダー行])
引数 | 説明 |
---|---|
範囲 | 抽出するデータ範囲 |
SQL風のクエリ文 | フィルタリングや並び替えを指定 |
ヘッダー行(省略可) | データのヘッダー行を指定(通常省略可) |
ビジネスでの活用シーン
✅ 「条件に合うデータのみを抽出」「複数条件で検索」 など高度なデータ操作が可能
📌 例:売上データから「東京」だけを抽出
=QUERY(A1:C100, "WHERE B = '東京'")
商品名 | 地域 | 売上 |
---|---|---|
ノートPC | 東京 | 100,000 |
スマホ | 大阪 | 80,000 |
タブレット | 東京 | 60,000 |
→ 東京のデータだけ抽出!
💡 QUERY関数のメリット
- 複雑な条件でデータを抽出可能
- 並び替え・フィルタリングが簡単
- IMPORTRANGEと組み合わせて、外部データの条件抽出も可能
ここで紹介したQUERY関数の使い方はQUERY関数の超基本的な内容のみです。
QUERY関数のより高度な使い方については以下の記事をご確認下さい。
✅ まとめ
関数 | 難易度 | 特徴 | 例 |
---|---|---|---|
VLOOKUP | ⭐ | 指定した値に対応するデータを取得 | =VLOOKUP("A002", A2:C4, 2, FALSE) |
INDEX+MATCH | ⭐⭐ | より柔軟な検索が可能 | =INDEX(A2:A4, MATCH("スマホ", B2:B4, 0)) |
IMPORTRANGE | ⭐⭐ | 他のスプレッドシートのデータを取得 | =IMPORTRANGE("URL", "シート名!A1:C100") |
QUERY | ⭐⭐⭐ | SQLのようにデータを抽出・加工 | =QUERY(A1:C100, "WHERE B = '東京'") |
👉 まずはVLOOKUPから始めて、徐々にINDEX+MATCHやQUERYにステップアップしましょう! 🚀