Excelから条件に基づいてデータを抽出する方法(5つの方法)

  • これを共有
Hugh West

あるデータを検索する必要がある場合があります。 しかし、データセットが巨大な場合、探しているものを見つけるのは本当に大変です。 この記事では、次の方法を紹介します。 エクセルからデータを取り出す を、それぞれ異なる基準で判断しています。

練習用テンプレートダウンロード

練習用Excelテンプレートは、こちらから無料でダウンロードできます。

基準に基づいてデータを抽出する.xlsx

Excelから条件に基づいてデータを抽出する5つの方法

ここでは、ある条件に基づいてExcelからデータを抽出する5種類の方法について説明します。

1.Excelから範囲指定でデータを抽出するための配列式の実装

以下のデータセットを例に、範囲を指定してデータを抽出する方法を説明します。 例えば、学生の詳細情報を集めたデータセットがあり、そこから 80点から100点まで .

を使って、ある範囲に基づいたデータを抽出する手順です。 アレイ の式は以下の通りです。

ステップス

  • まず、条件を他のセルに保存しておき、後でそれを利用します。 つまり、以下の条件を満たした学生の情報を抽出するのです。 80点から100点まで を格納した。 開始値として80 終了値として100 において セルI4 I5 を、それぞれご紹介します。

また、保存された値を探すために、カラムも保存する必要があります。 つまり、マーク80とマーク100が マーク欄 というものである。 第3列 をデータセットに格納しました。 3をColumn値として において セルI6 .

  • 次に、別のセルで、結果が欲しい場所(ここでは、結果が欲しい場所を セルG11 ) を書き、次の式を書きなさい。
  • =index($b$5:$e$14,small(if((index($b$5:$e$14,,$i$6)=$i$4),match(row($b$5:$e$14),row($b$5:$e$14)),""),rows(g11:$g$11)),columns($a$1:a1)))

    • 3番目に、 を押します。 Ctrl + Shift + Enter をキーボードで入力します。

    そして、条件に一致する最初の抽出データが結果セルに表示されます。 例) ジョニー その ID でございます 3 ゲット 80点 において 生物学 で、彼のレコードは他の人より先にデータセットに格納されているので ジャニーズID 3 を結果セルに入力します。

    • で列や行をドラッグして移動します。 フィルハンドル を取得した学生のみの詳細を取得することができます。 80点から100点まで .

    フォーミュラ・ブレークダウン

    • index($b$5:$e$14,,$i$6)
      • Output: {60;30;80;55;87;95;100;42;25;18}
      • 説明:INDEX機能 は、通常、指定されたセル範囲から単一の値または列や行全体を返します。 3 が格納されます。 セル$I$6 そのため、列全体が返されるわけではありません。 3 ( マークス 列) の全範囲から,データセット ( B$5:$E$14 )を出力します。
    • INDEX($B$5:$E$14,,$I$6)<=$I$5。 ->となる。
      • {60;30;80;55;87;95;100;42;25;18}<=100
      • 出力:{TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE}。
      • 説明する。 を保存しました。 100 において セル $I$5 を下回っているため 100 ($I$5) で埋め尽くされた列を返します。 .

    同様に

    • INDEX($B$5:$E$14,,$I$6)>=$I$4。 ->となる。
      • { 60;30;80;55;87;95;100;42;25;18}>=80
      • 出力:{FALSE;FALSE;TRUE;FALSE;TRUE;TRUE;FALSE;FALSE;FALSE}となります。
      • 説明する。 を保存しました。 80 において セル$I$4 を返します。 カラムからの値が 八割以上 を返し、それ以外の場合は ファルス .
    • (index($b$5:$e$14,,$i$6)=$i$4)です。 ->となる。
      • {true;true;true;true;true;true;true}*{false;false;true;false;true;true;false}*{false;false;false;false}*{false;false;false;true;true;true;true;true;false
      • 出力:{0;0;1;0;1;1;0;0}となります。
      • 説明する。 ブール値には数値に相当するものがあります。 TRUE = 1 FALSE = 0(ゼロ) 式中の算術演算を行う際に変換される。
    • 行($b$5:$e$14)
      • Output: {5;6;7;8;9;10;11;12;13;14}
      • 説明する。 ROW機能 は、セル参照の行番号を計算する。
    • match(row($b$5:$e$14),row($b$5:$e$14))。 ->となる。
      • MATCH({5;6;7;8;9;10;11;12;13;14},{5;6;7;8;9;10;11;12;13;14})
      • 出力:{1; 2; 3; 4; 5; 6; 7; 8; 9; 10}。
      • 説明する。 MATCH機能 関数は、配列またはセル参照で、指定された値に一致する項目の相対位置を、指定された順序で返します。
    • if((index($b$5:$e$14,,$i$6)=$i$4),match(row($b$5:$e$14)),row($b$5:$e$14),") ->となる。
      • IF( {0;0;1;0;1;1;1;0;0;0}), {1; 2; 3; 4; 5; 6; 7; 8; 9; 10},"")
      • 出力:{""; ""; 3; ""; 5; 6; 7; ""; "" }.
      • 説明する。 IF機能 は,論理テストが以下の場合に1つの値を返す。 の場合は別の値、論理テストが ファルス .
    • small(if((index($b$5:$e$14,,$i$6)=$i$4),match(row($b$5:$e$14)),""),rows(g11:$g$11))) ->となる。
      • small({""; ""; 3; ""; 5; 6; 7; ""; ""},rows(g11:$g$11))。 ->となる。
      • small({""; ""; 3; ""; 5; 6; 7; ""; "" },1)
      • 出力:3
      • 説明する。 SMALL機能 を返します。 k番目 最小値 を数字のグループから選択します。 3 は、このグループの中で最も小さい。
    • index($b$5:$e$14,small(if((index($b$5:$e$14,,$i$6)=$i$4),match(row($b$5:$e$14),row($b$5:$e$14)),""),rows(g11:$g$11)),columns($a$1:a1))) ->となる。
      • index($b$5:$e$14,3,,1)です。
      • 出力:{3; "ジョニー", 80, "バイオロジー"}。
      • 説明する。 があります。 INDEX 関数は、セル範囲( B$5:$E$14 ) を、行番号と列番号に基づいた値で指定する。

    続きを読む エクセルでセルからデータを抽出する方法(5つの方法)

    2.複数の条件に基づいてExcelからデータを抽出するための配列式の実装

    上記では、指定した範囲に基づいてデータを抽出しましたが、ここでは、複数の条件に基づいてデータを抽出する方法を紹介します。

    先ほどと同じデータセットを見てみましょう。ここでは、条件として値の範囲(Marks 80から100)を格納する代わりに、複数の条件、たとえば、学生の詳細を 化学・生物両部門 .

    を使って、複数の条件に基づいてデータを抽出する手順です。 アレイ の式は以下の通りです。

    ステップス

    • まず、条件を他のセルに保存しておき、後でそれを使って作業します。 つまり、生徒の詳細を抽出するのは 化学 生物学 の部門があり、私たちはそれを保存しました。 化学 生物学 において セル H5 H6 を、それぞれご紹介します。
    • 次に、別のセルで、結果が必要な場所(ここでは、結果を セルG11 ) を書き、次の式を書きなさい。
    =index($b$5:$e$14, small(if(countif($h$5:$h$6,$e$5:$e$14), match(row($b$5:$e$14), row($b$5:$e$14)), ""), rows(g11:$g$11))), columns($b$5:b5))

    • 3つ目は、プレス Ctrl + Shift + Enter をキーボードで入力します。

    その後、条件に合致する最初の抽出データを結果セルに取得します。 例)。 ジョニー その ID でございます 3 からです。 生物学部門 で、彼のレコードは他の人より先にデータセットに格納されているので ジャニーズID 3 を結果セルに入力します。

    • で列や行をドラッグして移動します。 フィルハンドル の生徒の詳細のみを取得することができます。 部署名 化学 生物学 .

    フォーミュラ・ブレークダウン

    • countif($h$5:$h$6,$e$5:$e$14) ->となる。
      • COUNTIF({"Chemistry"; "Biology"},{"Math"; "Physics"; "Biology"; "Chemistry"; "Physics"; "Math"; "Chemistry"; "Math"; "Biology";"})
      • 出力:{0;0;1;0;0;1;0;1}。
      • 説明する。 COUNTIF関数 の範囲にあるセルを特定することができます。 H$5:$H$6 に等しい E$5:$E$14 .
    • if(countif($h$5:$h$6,$e$5:$e$14), match(row($b$5:$e$14), row($b$5:$e$14)), "") ->となる。
      • if({0;0;1;0;0;1;0;0;1;0;1},match(row($b$5:$e$14), row($b$5:$e$14)), "") ->となる。
      • IF({0;0;1;1;0;0;0;1;0;1},{ 1; 2; 3; 4; 5; 6; 7; 8; 9; 10},"")
      • 出力:{""; ""; 3; 4; ""; ""; 8; "";10}。
      • 説明する。 があります。 イフ 関数は3つの引数を持ち、最初の引数は論理式でなければならない。 もし、式が の場合、あることが起こり(引数2)、もし ファルス が起こる(引数3)。 手順1で論理式が計算された。 イコール 1 FALSE イコール 0(ゼロ) ...列なし 3, 4, 8 10 評する 真 (1) .
    • small(if(countif($h$5:$h$6,$e$5:$e$14), match(row($b$5:$e$14), row($b$5:$e$14)), ""), rows(g11:$g$11)) ->となる。
      • small({""; ""; 3; 4; ""; ""; 8; "";10},rows(g11:$g$11)) ->となる。
      • small({""; ""; 3; 4; ""; ""; 8; "";10},1)
      • 出力:3
      • 説明する。 があります。 SMALL 関数が返します。 k番目 最小値 を数字のグループから選択します。 3 は、このグループの中で最も小さい。
    • index($b$5:$e$14, small(if(countif($h$5:$h$6,$e$5:$e$14), match(row($b$5:$e$14), row($b$5:$e$14)), ""), rows(g11:$g$11))), columns($b$5:b5)) ->となる。
      • index($b$5:$e$14, 3, columns($b$5:b5)) ->となる。
      • index($b$5:$e$14, 3, 1)
      • 出力:{3; "ジョニー", 80, "バイオロジー"}。
      • 説明する。 があります。 INDEX 関数は、セル範囲( B$5:$E$14 ) を、行番号と列番号に基づいた値で指定する。

    続きを読む Excelで単一の条件に基づいて複数の値を返す(3つのオプション)

    3.フィルタコマンドツールを使って、Excelから範囲指定でデータを抽出する

    Excel のフィルタコマンドツールは、最もよく使われる効果的なツールの 1 つであり、以下のような機能を備えています。 特定データを抽出する を、それぞれ異なる基準で判断しています。

    次のデータセットを見てください。 前回は、このデータセットを使って、80点から100点までの学生の情報を Array 式で抽出しました。 本節では、その方法を エクセルのフィルターツール .

    Excelの「フィルタ」を使って、ある範囲に基づいてデータを抽出する手順を以下に示します。

    ステップス

    • まず、以下の項目のみを選択します。 ヘッダー データセットの
    • 2つ目は、次の通りです。 データ -> フィルタ .

    • 第三に、挿入されます。 ドロップダウンボタン をデータセットの各ヘッダー名として使用する。

    • そして、Marksを元にデータを抽出したいので、Marksをクリックします。 マークの横にあるドロップダウン・ボタン の欄があります。
    • 次に、ドロップダウンリストより ナンバーフィルター -> Between... (再度、データを抽出しているため 八紘一宇 ということで、オプションを選択します。 .条件に応じて、リストから他のオプションを選択することができます)。

    • では、ポップアップから カスタムオートフィルタ ボックスを選択します。 80 から ドロップダウンリスト をクリックすると表示されます。 ドロップダウンボタン よこ 以上である。 ラベルを選択し 100 ラベルボックス内 は以下である。 .
    • をクリックします。 よっしゃー .

    最終的には、「合格者」のみを対象とした詳細な情報をお届けします。 80点から100点まで .

    続きを読む 画像からExcelにデータを抽出する方法(簡単な手順付き)

    類似の読み物

    • 別のExcelファイルからExcelにデータをインポートする方法(2つの方法)
    • テキストファイルからExcelに変換するVBAコード(7つの方法)
    • テキストファイルからエクセルに自動変換する方法(3つの適切な方法)
    • Excelをデリミター付きテキストファイルに変換する(2つの簡単な方法)
    • 複数の区切り文字があるテキストファイルをExcelに取り込む方法(3つの方法)

    4.アドバンストフィルターを活用して、Excelから範囲指定でデータを抽出する

    フィルタの項で示した多くの手順を踏むのが嫌な場合は アドバンストフィルター オプションを使用すると、指定した範囲に基づいてデータを抽出することができます。

    Excelの高度なフィルタオプションを使用するには、後で使用する条件をワークシートに定義する必要があります。 次の図では、生徒の詳細情報を抽出するための条件を定義しています。 マーク 80~100 として、2つのセルで >=80 <=100 マークス を使用することになり セル参照番号 を、後ほどご紹介します。

    Excelの「高度なフィルタ」を使って、ある範囲に基づいたデータを抽出する手順を以下に示します。

    ステップス

    • まず最初に、以下を選択します。 データテーブル全体 .
    • 次に、以下のサイトにアクセスします。 データ -> アドバンスド .

    • 最後に、あなたの範囲を表示します。 せんたくデータ の横のボックスに リスト範囲 オプションを使用します。
    • 次に、その横のボックスに 基準範囲 を選択します。 定義された条件を持つ細胞 あらかじめ定義された条件を保持するセルの参照番号に続いて、ワークシートの名前がそこに自動生成されるのがわかるでしょう。
    • 最後に よっしゃー .

    その結果 80点から100点まで .

    続きを読む Excelでフィルタリングされたデータを別のシートに抽出する(4つの方法)

    5.Excelで定義したテーブルから範囲指定でデータを抽出する

    からデータを抽出することができます。 エクセルで定義された表 を使用して、Excel ワークシートから フィルター オプションを使用します。

    次のような未整理のデータセットについて考えてみましょう。まず、Excelの表として定義し、そこからデータを抽出します。

    Excelで定義された表から、ある範囲に基づいてデータを抽出する手順を以下に示します。

    ステップス

    • はじめにを選択します。 任意セル を押してください。 Ctrl T .

    • その後、ポップアップ テーブルの作成 ボックスが表示され、次のように表示されます。 データセットの範囲を値として指定します。 .チェックボックスを保持する テーブルにはヘッダーがあります をマークしました。
    • をクリックします。 よっしゃー .

    それは テーブルを自動生成する というデータセットに基づき ドロップダウンボタン をヘッダと一緒に表示します。

    • 次に、前回ご紹介した方法と同じように、[1]をクリックします。 マークの横にあるドロップダウン・ボタン カラムを使用し、Marks に基づいてデータを抽出したいためです。
    • その後、ドロップダウンリストより ナンバーフィルター -> Between... (再度、データを抽出しているため 八紘一宇 を選択します。 .条件に応じて、リストから他のオプションを選択することができます)。

    • では、ポップアップから カスタムオートフィルタ ボックスを選択します。 80 から ドロップダウンリスト をクリックすると表示されます。 ドロップダウンボタン よこ 以上である。 ラベルを選択し 100 ラベルボックス内 は以下である。 .
    • 最後に よっしゃー .

    最終的には、以下のような学生の詳細のみを含むExcelで定義されたテーブルが得られます。 80点から100点まで .

    続きを読む: Excelで複数の条件に基づきテーブルからデータを抽出する方法

    留意点

    • 値を検索するデータテーブル配列の範囲は固定されているので、忘れずに ドル 記号を配列テーブルのセル参照番号の前に置く。
    • 配列の値を扱うときは、忘れずに Ctrl + Shift + Enter を押すだけで、結果を抽出することができます。 入力 を使用しているときのみ機能します。 Microsoft 365 .
    • を押した後 Ctrl + Shift + Enter の数式を数式バーで囲んでいることに気づきます。 中括弧{} を入力し、配列式として宣言します。 括弧{} を選択すると、Excelが自動的にこれを行います。

    結論

    今回は、様々な条件に基づいてExcelからデータを抽出する方法を学びました。 この記事が皆様のお役に立てれば幸いです。 また、このテーマについてご質問があればお気軽にお寄せください。

    Hugh West は、業界で 10 年以上の経験を持つ、非常に経験豊富な Excel トレーナー兼アナリストです。彼は会計と財務の学士号と経営管理の修士号を取得しています。ヒューは教えることに情熱を持っており、理解しやすい独自の教育アプローチを開発しました。彼の Excel に関する専門知識は、世界中の何千人もの学生や専門家がスキルを向上させ、キャリアで優れた成果を上げるのに役立ってきました。 Hugh はブログを通じて知識を世界に共有し、個人や企業が潜在能力を最大限に発揮できるよう無料の Excel チュートリアルとオンライン トレーニングを提供しています。