小技集

トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ



2024年11月11日【ID:0】

【Excel】複数シートの表から検索して値を抽出

※IT予備メンバーに加入して連携すると、
一部の広告が非表示になります。


複数のシートに表が用意されており、シート名を指定することで、該当するシートの表から検索し、該当する値を抽出する方法について解説していきます。

こちらでは、商品価格表が支店ごとで別々のシートに用意されているファイルから、支店名(シート名)と商品名を指定するだけで、該当する支店の表から商品を検索し、その商品の価格を抽出する仕組みを実現していきます。


特定のシートから検索し抽出する

まずは、特定のシートの表から検索し値を抽出する数式を作成していきます。
表から値を抽出する関数には色んな関数がありますが、こちらでは、VLOOKUP関数で抽出していきます。
この関数の使い方は、以下になります。

=VLOOKUP(検索値, 範囲, 列番号, [検索方法])
// 検索値:検索する値
// 範囲:検索する表の範囲(検索する対象の項目を先頭とした範囲)
// 列番号:範囲の先頭から抽出したい項目の位置
// [検索方法]:TRUE(近似一致)もしくは、FALSE(完全一致)を指定
※[検索方法]を省略した場合は、近似一致で検索される

実際に活用してみると、以下のような数式になります。

=VLOOKUP(B5,東京!B:C,2,FALSE)

商品名の項目に入力した値で検索し、「東京」シートの表から該当する商品の価格を抽出しています。


複数のシートから検索し抽出する

では次に、複数のシートから検索できるように修正していきます。
先ほど作成した数式は、以下になります。

=VLOOKUP(B5,東京!B:C,2,FALSE)

今回のファイルは、支店名がシート名になります。

そのため、数式の中のシート名の部分(東京!)が支店名に指定した文字に切り替わるようにすることで、指定した支店のシートから検索し抽出することができるようになります。

ただ、シート名の部分を、以下のように直接、支店名のセルの値を結合した数式にしても、正しく抽出することができません。

=VLOOKUP(B5,B3&!B:C,2,FALSE)

その理由は、「東京!B:C」というのは、抽出対象の範囲を表す文字であって、ただの文字列ではないからです。
ただの文字列ではないので、「&」を使用することができません。

「&」を使用するために、範囲を表す文字を、一度「"」で囲み、ただの文字列にする必要があります。
ただ、「"」で囲った文字列は、範囲を表す文字ではなくなってしまいます。
そのため、「"」で囲った文字列を、再度、範囲を表す文字として認識させる必要があります。
その際は、INDIRECT関数を活用します。
この関数の使い方は、以下になります。

=INDIRECT(参照文字列)
// 参照文字列:参照先の情報

実際に活用してみると、以下のような数式になります。

=VLOOKUP(B5,INDIRECT(B3&"!B:C"),2,FALSE)

このようにして、指定した支店名のシートの表から、指定した商品名を検索し、その商品名と一致する商品の価格を抽出することができます。


パソコンで開く場合は、記事の最後に「リンクコピー」があるためご活用ください。

※IT予備メンバーに加入して連携すると、
一部の広告が非表示になります。


メンバー募集
ExcelVBA学習ロードマップ配布 ExcelVBA学習ロードマップ配布





リンクの共有はこちらから行えます。

  リンクコピー    X Facebook はてなブックマーク Pocket
トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ


- 人気の記事 -



- メンバー限定 [一覧] -



サイト累計閲覧数

5960798

有料動画講座
(買い切り)

Excel完全制覇


ちょっとした機能 便利ツール
【小技集】

【Excel】グラフのラベルテキストを改行する

【Excel】VLOOKUP関数で時間を検索して抽出できない?

【Excel】重複のない順位を割り当てる

【Excel】指定項目の要素別の表を瞬時に作成

【Excel】データベースとなる表を作成するときのポイント

【Excel】表の順番をランダムに並べ替える

【ExcelVBA】選択するだけでテンプレ入力

【Excel】グラフにデータを瞬時に追加(離れている範囲でもOK)

【Excel・Googleスプレッドシート】セルを囲む薄い線を非表示にする

【ExcelVBA】「マクロの記録」でクラス分け

【Excel】折り返して全体を表示して右端を揃える

【ExcelVBA】VBAを使ってシートの初期設定を自動化

【Excel】INT関数とROUNDDOWN関数の違い

【Excel】瞬時に合計を求める

【Excel】住所を簡単に入力する方法

【Excel】完全一致のデータを自動で色付け

【Excel】分布を視覚化するには「ヒストグラム」

【Excel】FILTER関数で空白を空白のまま抽出する

【Excel】特定の値の表示非表示を切り替える

【Excel】誰でも簡単に集計表を作成

【Excel】表の各行に空の行を挿入

【Excel】ピボットテーブルの表示形式

【ExcelVBA】選択セルの列幅を自動調整

【Excel】複数シートの表から検索して値を抽出

【Excel】テーブルを使った集計方法





一覧ページへ

トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ