目次
今日は、Excelで、ある一致するデータの複数の条件をフィルタリングする方法を紹介します。 FILTER機能 本論に入る前に、ひとつだけ注意していただきたいことがあります。 フィルター 関数は オフィス365 .
練習用ワークブックをダウンロードする
複数値のフィルタリング.xlsxFILTER関数の紹介
Excelの紹介をしましょう。 フィルター 関数を最初に使って、複数の条件をフィルタリングします。
下のデータセットを見てください。 ホスト国 は、その 優勝国 であり、また 準優勝国 よりによって FIFAワールドカップ ちゅうとはんぱで B, C, D, と E を、それぞれご紹介します。
さて、もし私があなたに、この数年間で ブラジル がチャンピオンになったんですか?
どうするんですか?
おそらく、コラムを通過することになるでしょう D (チャンピオン)を含むセルがあるかどうかを確認します。 ブラジル が入っているかどうか。
そして、見つけたら、そのセルから2段左に移動して、列 B (年)とし、該当する年をメモする。
そして、再び列を下りていきます。 D を含むすべてのセルに対して同じことを行う。 ブラジル が入っています。
したがって、あなたは、すべての年をメモすることになります。 ブラジル がチャンピオンでした。
小さなデータセットの場合、これは よっしゃー しかし、同じ手順を大規模なデータセットに対して繰り返すことができるでしょうか? 10000 列?
続きを読む エクセルで複数行をフィルタリングする方法(適切な11のアプローチ)
答えは「ノー」、「大いなるノー」です。
では、どうすればいいのか?
Microsoft Excelには、以下のような関数が組み込まれています。 フィルター を使えば、全く同じ作業を行うことができます。
があります。 フィルター 関数は3つの引数を取る。 勢揃い という基準があります。 を含む。 という値で if_empty は、どのセルも基準を満たさない場合に返される。
そのため、構文が フィルター 関数は
=FILTER(array,include,[if_empty])です。
より深く理解するために、来てみましょう。 ブラジル の問題で、そのような年を除外する必要があります。 ブラジル がチャンピオンになった。
これを実現するための計算式は、次のようになります。
=FILTER(B5:B25,D5:D25="Brazil","")
ほら、もう何年も前から ブラジル がチャンピオンになった。 1958, 1962,1970, 1994, と 2002 (画像に色がついています)。
さて、理解のために、数式を分解してみましょう。
D5:D25="ブラジル" からすべてのセルを通過します。 D5 まで D25 を返します。 真 が見つかれば ブラジル そうでなければ ファルス .
計算式 FILTER(B5:B25,D5:D25="ブラジル",") となり
=filter({b5,b6,b7,...,b25},{false,false,...,true,...,false},"")
それぞれについて 真 の配列から、隣接するセルを返す。 {b5,b6,b7,...,b25}とする。
そして、そのために FALSE と表示され、結果が表示されません。 "" (オプション。デフォルトは結果なし)。 "" )
があります。 真 セルのみ B9 , B10 , B12 , B18, と B20 .
そこで、これらのセル、1958年、1962年、1970年、1994年、2002年の内容だけを返します。
ブラジルがチャンピオンになった年です。
の仕組みがご理解いただけたでしょうか? フィルター 機能が働きます。
さて、これがわかったら、開催国がチャンピオンになった年を調べる計算式を教えてください。
はい、その通りです。 計算式はこうです。
=FILTER(B5:B25,C5:C25=D5:D25,””)
ほら、開催国がチャンピオンになったのは 1930, 1934, 1966, 1974, 1978, と 1998.
Excelで複数の条件を指定してフィルタリングする4つの方法
これで、どのように フィルター 関数が動作します。 今回は、関数内で複数の条件を適用してみましょう。 今日の課題のデータセットの概要です。
1.OR型の複数値のフィルタリング
の複数の基準にまず着目してみましょう。 オア 1 つまたは複数の基準を満たした場合に成立する基準です。
例えば、上記のデータセットから、「ある年を教えてください。 アルゼンチン になった チャンピオン または 西ドイツ になった 準優勝者 .
のどちらかを伝えることができます。 1978 または 1982 または 1986 .
では、次のことに挑戦してみましょう。 洩れる 丸一年 イタリア のどちらかでした。 ホスト または チャンピオン または 両方共 の問題である。 オア 複数の条件を入力するのは簡単で、2つの条件をプラス記号で足すだけです。 (+) では、以下の手順で、Excelで複数の条件をフィルタリングしてみましょう。
ステップス
- まず、セルを選択します。 G5 を書き留める。 FILTER機能 をそのセルに入れる。 という関数になる。
=FILTER(B5:B25,(C5:C25="Italy")+(D5:D25="Italy"))
- したがって、単に 入力 をキーボードで入力します。 その結果、イタリアが世界一になった年が表示されます。 ホスト または チャンピオン または 両方共 が返ってくる。 FILTER機能 .
ご覧ください。 イタリア は、開催年か優勝年、またはその両方であった。 1934, 1938, 1982, 1990, と 2006.
フォーミュラ・ブレークダウン
さて、理解のために、数式を分解してみましょう。
- C5:C25="イタリア" の配列を返します。 真 または FALSEです。 真 イタリアがホスト国だった頃 FALSE でなければなりません。
- D5:D25="イタリア" の配列も返す。 真 または FALSE . 真 イタリアがチャンピオンになったとき FALSE でなければなりません。
- (C5:C25="イタリア")+(D5:D25="イタリア") は、ブール値の配列を2つ追加します。 真 と FALSE しかし、それは、それぞれを考慮します。 真 として 1 であり、各 FALSE として 0 .
- を返すわけです。 2 の両方の基準を満たす場合 1 のみが満たされる場合、そして、1つの基準が満たされる場合 0 基準値を満たさない場合
これで計算式はこうなる。
=FILTER({B5,B6,B7,...,B25},{0,2,1,...,0})
0より大きい数(ここでは0と1)を、次のように見なします。 真 とし、ゼロは FALSEです。
そのため、カラムから年を返します。 B よりも大きい数字に直面したとき 0 であり、それ以外の場合は結果を返さない。
がどのようなものかを理解すれば、あとは フィルター 関数は、OR型の複数の条件で動作しますが、1つの質問に対する答えを出すことができますか?
ブラジルがチャンピオンになった年や、イタリアがチャンピオンになった年を除外する公式はどうなるのでしょう? 準優勝者 それとも両方?
はい、その通りです。 計算式はこうなります。
=FILTER(B5:B25,(D5:D25="Brazil")+(E5:E25="Italy"))
2.AND基準のFILTER関数の適用
では、次に注目するのは たげんてき の アンド という条件を満たす必要があります。 真 それ以外の場合は FALSE .
年まで知っている。 1970 は、その FIFAワールドカップ と呼ばれていました。 "ジュール・リメ" トロフィー、アフター 1970 と名づけられるようになりました。 FIFAワールドカップ そこで、まず最初に質問したいのは、「何年に一度、どのような形で ブラジル を獲得しました。 "ジュール・リメ" トロフィー?
があります。 にしゅ をご覧ください。
- まず、年号が以下であることが必要です。 1970 .
- 第二に チャンピオン でなければならない国 ブラジル .
そして、その両方の条件を満たすこと。 この課題を達成するためにはどうすればいいのか。
非常に単純なことです。 フィルター という関数があります。 (*) 今回は、以下の手順で、Excelで複数の条件をフィルタリングしてみましょう。
ステップス
- まず、セルを選択します。 G5 を書き留める。 FILTER機能 をそのセルに入れる。 という関数になる。
=FILTER(B5:B25,(B5:B25<=1970)*(D5:D25="Brazil"))
フォーミュラ・ブレークダウン
(B5:B25<=1970
を返します。 真 が1970年以下の場合、それ以外は FALSE .(D5:D25="ブラジル")
を返します。 真 チャンピオンがブラジルの場合、それ以外の場合 FALSEです。(B5:B25<=1970)*(D5:D25="Brazil")
の2つの配列を掛け合わせます。 真 と FALSE が、それぞれを考慮する。 真 かわりに 1 とそれぞれ FALSE かわりに 0 .- を返すわけです。 1 を返します。 0.
- これで計算式はこうなる。
=FILTER({B4,B5,B6,...,B24},{0,0,...,1,1,...,0})
- 列で年を返します。 B に直面したとき、それは 1 に直面したとき、何も結果を返しません。 0 .
- したがって、単に 入力 をキーボードで入力します。 その結果、その年は ブラジル であった。 チャンピオン の "ジュール・リメ" が帰ってくるトロフィー FILTER機能 .参照、最大で 1970 ブラジルの勝利 三回 である。 1958, 1962, と 1970 .
の複数の条件を満たすデータをフィルタリングすることができます。 アンド のタイプになります。
では、その前の年数を求める計算式を教えてください。 2000 と ブラジル は優勝、イタリアは準優勝だったのですか?
という式になります。
=FILTER(B5:B25,(B5:B25<2000)*(D5:D25="Brazil")*(E5:E25="Italy"))
類似の読み物。
- Excelで複数のフィルタを適用する【方法+VBA】。
- Excelで数式を使ってデータをフィルタリングする方法
- Excel セルの値に基づいてデータをフィルタリングする(6 つの効率的な方法)
3.ExcelでAND型とOR型の組み合わせで複数の条件をフィルタリングする
ケース1:ORの中のOR
では、質問させていただくと、何年に一度のペースで 南米 国( ブラジル、アルゼンチン、ウルグアイのいずれか )のどちらかであった。 チャンピオン または 準優勝者 ?
私の質問に対する答えを教えてください。
よく注意してください。 ここで、王者の国には ブラジル、アルゼンチン または ウルグアイ または準優勝国であること ブラジル、アルゼンチン、ウルグアイのいずれか これは、ORの中にORがあるタイプの問題です。 心配しないでください、Excelで複数の条件をフィルタリングするには、以下の手順に従ってください。
ステップス
- まず、セルを選択します。 G5 を書き留める。 機能 という関数になります。
=FILTER(B5:B25,(ISNUMBER(MATCH(D5:D25,{"Brazil", "Argentina", "Uruguay"},0)))+(ISNUMBER(MATCH(E5:E25,{"Brazil", "Argentina", "Uruguay"},0)))])
フォーミュラ・ブレークダウン
MATCH(D4:D24,{"Brazil", "Argentina", "Uruguay"},0)
収益 1 チャンピオンチームがブラジルの場合 2 チャンピオンチームがアルゼンチンであれば 3 チャンピオンチームがウルグアイの場合、エラーとなります。 (該当なし) チャンピオンチームがそのいずれでもない場合。ISNUMBER(MATCH(D4:D24,{"Brazil", "Argentina", "Uruguay"},0)))
に変換する。 真 に、エラーは ファルス .- 同様に
ISNUMBER(MATCH(E4:E24,{"Brazil", "Argentina", "Uruguay"},0)))
を返します。 真 準優勝国がブラジル、アルゼンチン、ウルグアイのいずれかである場合。 FALSE - だから
(ISNUMBER(MATCH(D4:D24,{"Brazil", "Argentina", "Uruguay"},0)))+(ISNUMBER(MATCH(E4:E24,{"Brazil", "Argentina", "Uruguay"},0))))
を返します。 1 または 2 南米の国が優勝、準優勝、またはその両方になった場合。 - そうでない場合は0を返す。
- という式になる。
=FILTER({B4,B5,...,B24},{2,0,0,2,...,1,0})
- 列から1年を返します。 B は,0より大きい数が見つかればその結果を返し,そうでなければ何も返さない。
- したがって、単に 入力 がキーボードに表示されるようになります。 南米 国( ブラジル、アルゼンチン、ウルグアイのいずれか )のどちらかであった。 チャンピオン または 準優勝 ほら、南米の国が優勝か準優勝した年が全部わかったでしょ。
ケース2:ANDの中のOR
上記の式が理解できれば、両者が揃う年を決める式がわかるでしょうか。 優勝劣敗 からでした。 南米(ブラジル、アルゼンチン。 または ウルグアイ) ?
非常に簡単です。 (+) の記号は、前の式に (*) の記号が表示されます。 機能としては
=FILTER(B4:B24,(ISNUMBER(MATCH(D4:D24,{"Brazil", "Argentina", "Uruguay"},0)))*(ISNUMBER(MATCH(E4:E24,{"Brazil", "Argentina", "Uruguay"},0)))])
ほら、これが1930年と1950年の2回しかないんですよ。
4.複数列でFILTER関数を活用する
さて、もっと注意深く観察してみると、この年までは 1990 という国がありました。 西ドイツ そして 1990 はありません。 西ドイツ 何があるのか ドイツ この2人は実は同じ国の人なんです。 1990 は、その にどく と 西) は、現在のドイツを形成するために統合された。
さて、あなたは、次のような年を特定することができますか? ドイツ であった。 チャンピオン ♪ No matter イースト または ウエスト .
複数の列でFILTER機能を利用する必要があります。
という式になります。
=FILTER(B5:B25,ISNUMBER(SEARCH("*Germany",D5:D25))))
フォーミュラ・ブレークダウン
SEARCH("*Germany",D5:D25)
は,配列の末尾に Germany を持つものを検索します。 D5 まで D25 真ん中にドイツが必要な場合は "*Germany*" です。- を返します。 1 は,一致するもの(西ドイツとドイツ)があれば エラー
ISNUMBER(SEARCH("*Germany",D5:D25))
は 1 を 真 に、誤差は ファルス .- 最後に
FILTER(B5:B25,ISNUMBER(SEARCH("*Germany",D5:D25))))
の列から年を返します。 B に直面したとき、それは 真 それ以外の場合は結果を返さない。
- ドイツが優勝したことを見る 4回 . 3 回によって 西ドイツ と 1 現在進行形 ドイツ .
さて、この式がわかったら、その時の年号がわかりますか? FIFAワールドカップ が主催していました。 二国 ?
手がかりを与えているのです。 あるはずです。 " と " をホスト国名に設定します。 や ちゅうぶ)
はい、その通りです。 計算式はこうなります。
=FILTER(B5:B25,ISNUMBER(SEARCH("* and *",C5:C25))))
今、私たちは、これが一度だけ起こったことを見ています。 2002 主催は 南朝鮮 と 日本 .
Excelで複数の条件をフィルタリングするための代替案
複数の条件でフィルタリングする方法は非常に便利です。 一敗 は、その フィルター のみで利用可能です。 オフィス365 .
をお持ちでない方 オフィス365 サブスクリプションを使用すると、複数の基準でデータをフィルタリングするために、これらの代替手段を使用することができます。
の年号を調べること。 イタリア であった。 せんしゅこく の場合、以下の計算式を使用します。
=IF((C5:C25="Italy")+(D5:D25="Italy"),B4:B24,"")
そして、その時の年号を調べるために ブラジル がチャンピオンになりました。 1970 は、この数式を使用します。
=IF((B5:B25<=1970)*(D5:D25="Brazil"),B5:B25,"")
注 のように空白セルを削除させることはできません。 フィルター を押すことで、このように機能します。 Ctrl + Shift + Enter をクリックすると、数式を入力することができます。
Excelで高度なフィルタを使用する方法
を適用します。 たげんてき において 一桁 使って 計算データ .ここで、私たちは 拾う 納入品 をもって せいはん けど ひゃくまんえん そのために必要なのは 反映させる 以下 式 . 式 である
=if(and(e550),e5,false)です。
セル内の出力 C16 でございます 55 として とどけさげ において レンジ .
したがって、選択する アドバンスト コマンドを実行します。 ソート&フィルター のオプションがあります。 データ タブで表示します。
その後に 全データセット として リスト範囲 と セル C15:C16 として 基準範囲 .
最後に よっしゃー を見ることができます。 の結果です。 のリストである。 納入品 を持つ 量 範囲内 を50から100に変更しました。
結論
これらの方法を使用すると、Excelで複数の基準を維持することによって、任意のデータをフィルタリングすることができます。 あなたは他の方法を知っていますか? コメント欄で私たちを教えてください。