小技集

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



2024年12月2日【ID:0】

【Excel】空白演算子でマトリックス表から値抽出

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


あまり知られていませんが、Excelには空白(半角スペース)の演算子が存在します。
この空白演算子を活用することで、以下のようなマトリックス表から指定した位置の値を簡単に抽出することができます。

今回は、空白演算子を活用して、マトリックス表から指定した位置の値を抽出する方法について解説していきます。

ExcelVBAレベル確認

空白演算子とは

まずは、『空白演算子』について簡単に解説していきます。
空白演算子とは、複数の範囲を空白(半角スペース)で区切ることによって、それぞれの範囲で重なっているセルを参照するというものです。
例えば、以下のように活用します。

=B5:E5 D3:D7

この演算子を活用して、空白(半角スペース)の前後の範囲を自由に変更することが出来れば、交差する位置の値を自由に変更して抽出することができるようになります。


マトリックス表から値抽出

次に、空白演算子を活用して、マトリックス表から値を抽出する方法について解説していきます。

今回は、以下の担当とタスクのマトリックス表から、指定した担当とタスクが交差する位置の値を抽出していきます。

実現するためには、「指定した担当」、「指定したタスク」から、マトリックス表の範囲を判断する必要があります。
そのため、こちらでは、それぞれの範囲に名前を定義していきます。

ExcelVBAレベル確認

名前の定義

まずは、縦向きの範囲に担当の名前を割り当てます。
その際は、担当の名前を含むデータの範囲を選択し、[数式]タブから[選択範囲から作成]を選択し、選択範囲の上の担当の名前を、それぞれの縦向きの範囲の名前として設定したいため、[上端行]を選択し、確定します。

これだけで、それぞれの範囲に担当の名前を設定することができます。

タスクに関しても同様に、タスクの名前を含むデータの範囲を選択し、[数式]タブから[選択範囲から作成]を選択し、選択範囲の左側のタスクの名前を、それぞれの横向きの範囲の名前として設定したいため、[左端行]を選択し、確定します。

設定した名前は、[名前の管理]から確認することができます。
稀に指定した名前に「_」などの文字が加えられる可能性もあるので、どのような名前で登録されたのかを確認します。


名前を活用して値抽出

では、名前を活用して値を抽出していきます。

試しに、設定した担当の名前とタスクの名前を活用して、交差する値を抽出してみると、以下のようになります。

=斎藤 タスク1

後は、数式内の名前が、セルC10とD10に指定した名前になれば、自由に抽出位置を変更することができるようになります。
ただ、以下のように直接参照しても、上手く抽出することができません。

=C10 D10

上記の例だと、単純にセルC10とD10の交差する位置を取得しようとし、1つも交差していないため、エラーになってしまっています。
今回実現したい内容は、セルC10とD10自体ではなく、それぞれのセルの中の名前を活用して抽出する必要があります。
そのような際は、それぞれを『INDIRECT関数』で囲むことで実現できます。
実際に、INDIRECT関数を活用した場合は、以下のような数式になります。

=INDIRECT(C10) INDIRECT(D10)

補足

今回解説した例のように、担当とタスクの名前をそのまま設定できた場合は、INDIRECT関数で囲むだけでよいのですが、万が一、「_」などが加えられた場合は、「_」などを加えた名前で参照する必要があります。
その際は、以下のように「&」などで文字を結合して実現します。

=INDIRECT(C10) INDIRECT(D10&"_")
// タスクの名前(No1など)に「No1_」などと「_」が加えられた場合の例です

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

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


メンバー募集 メンバー募集





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

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


- 人気の記事 -



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



サイト累計閲覧数

7165361

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

Excel完全制覇


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

【Excel】表記を統一する際に便利な関数7選

【Excel】数式のみで複数の表を縦に並べる

【Excel】テーブルのスライサー

【Excel】条件付き書式で二重の罫線を設定

【Excel】日付と曜日を表示形式で改行して表示する

【Excel】値の発生頻度を瞬時に計算

【ExcelVBA】データ登録フォームを開発する

【Excel】基準日から「年・月・曜日・月末」などを求める

【Excel】覚えるべき「日付を求める関数」2選

【Excel】重複を考慮した上位3件を抽出

【Word】文頭のアルファベットが自動で大文字になる

【ExcelVBA】双方向の入力を実現する方法

【Excel】商品ごとの販売数の合計を瞬時に集計

【Excel】該当する氏名をカンマ区切りで抽出

【Googleスプレッドシート】表の最終行を選択するリンク

【Excel】該当日の全予定をセル内に改行して抽出

【Excel】数式の参照元(先)のセルを瞬時に選択

【ExcelVBA】ダブルクリックで値を切り替える方法

【ExcelVBA】セルの変更履歴表を自動作成

【Excel】グラフを後から組み合わせる

【Excel】必要な範囲以外を非表示にする

【Excel】取り消し線を瞬時に設定

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

【Excel】設定画面のテキストボックスで矢印キーを使用

【Excel】指定時間を自動で色付け「シフト表」





一覧ページへ

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