EXCELの[IF]関数を使って複数条件のデータ抽出にチャレンジ!

EXCELに記載されているセルデータを
ある条件に合致するデータを
別のセルに表示させたい時、どうしていますか?

そんな時に役立つのがIF関数です。

ドラマ「トドメの接吻」に登場する
人物の一部をEXCELの関数を使って
学習してみましょう。

余談ですが、このドラマはキスをされると
タイムスリップする事を利用して
のし上がろうとする男のストーリーです。

スポンサードリンク

基本の[IF]関数

まず下記シートを見てください。

まずこの中から堂島家の人間を探しましょう。
2行目”堂島旺太郎”の家族名を
以下のように設定します。

・家族名(セルG2)選択
・[ファイル][ホーム]……[チーム]のタブから
[数式]タブを選択
・[論理▼]を選択し、プルダウンより[IF]を選択

[選択後の表示画面]

役名_姓(B列)が”堂島”のセルを探します。

家族名(F列)に”堂島家”
“堂島家”以外は”その他”を表示する場合
1.論理式:[セル=”堂島”]
※セル:役名_姓列名(B)+行(2)
–>B2=”堂島”
2.真の場合:論理式条件に合致した時、表示する文字列
–>”堂島家”
3.偽の場合:論理式条件に一致しない時、表示する文字列
–>”その他”

ここでOKボタンをクリックすると
“堂島旺太郎”_家族名(G列)に
“堂島家”と表示されています。

また列上部のfx欄には実行する
関数が表示されています。

この関数形式を覚えておけば
セルに直接入力する事も可能です。

[堂島家選別関数]
=IF(B2=”堂島”,”堂島家”,”その他”)
※引数はカンマ”,”で区切られる。

今回は詳しく説明しませんが
論理式記号をいくつかあげてみると
・等しい:=
・等しくない:<>
・より大きい:>
・より小さい:<
などがあります。

同様に”並樹尊氏”以降も設定していきますが
同じ関数を設定していくのでセル(G2)をコピーして
(G3~G9)に貼り付けましょう。

EXCELは行が違っていても自動で
セル情報を自動変換して貼り付けてくれます。
想定どおりの結果が表示され
関数式のセルの部分が(B3~B9)に
自動変換されているのが確認できます。

スポンサードリンク

複数条件の[IF]関数

さて堂島姓は設定されましたが、
並樹姓は”その他”グループに
配属されてしまいました。
主役級の並樹姓がその他グループでは
失礼だと怒られそうなので並樹家
一緒に設定してあげましょう。

さきほどの[堂島家選別関数]を眺めてみると、
並樹姓は堂島姓ではないので
“偽の場合”の部分を
更新してあげればよさそうです。

条件が複数になる場合は
[IF]を入れ子にして括弧で管理します。
では実際に
“堂島旺太郎”の家族名を再設定してみましょう。

家族名(セルG2)を選択し
・カーソルを”偽の場合”(“その他”の前)にセット
“その他”は変更となるのでエラー回避のため、削除しておく。
・[ファイル][ホーム]……[チーム]のタブから
[数式]タブを選択
・一番左の[関数の挿入]を選択し、プルダウンより[IF]を選択

堂島姓を設定した時と同じように入力していきます。
1.論理式:[セル=”並樹”]
※セル:役名_姓列名(B)+行(2)
–>B2=”並樹”
2.真の場合:”並樹家”
3.偽の場合:”その他”

OKボタンをクリックして
列上部のfx欄を確認してみると
下記のように表示されています。

[堂島家/並樹家選別関数]
=IF(B2=”堂島”,”堂島家”,IF(B2=”並樹”,”並樹家”,”その他”))

2個の条件が入れ子になって
記載されている事がわかります。

同様に”並樹尊氏”以降もセル(G2)をコピーして
(G3~G9)に貼り付けましょう。

表示結果を眺めてみると
“堂島家”,”並樹家”,”その他”の
3種類に選別されました。

“偽の場合”を更新していけば、
さらに条件を増やす事ができます。

スポンサードリンク

ワイルドカードを使った応用編

ここで役名から探す場合を考えてみましょう。

名前がそれぞれ違うので、
“堂島”のキーワードで拾うとよさそうです。

論理式を[セル=”堂島*”]と
ワイルドカード”*”を使ってみましたが
結果は”堂島*”という文字列が
存在しないので”その他”とな表示されました。
※”堂島*”は文字列先頭2文字が”堂島”で
“*”がワイルドカード(後ろの文字列は何でもOK)という意味です。

IF関数は、ワイルドカードは使えない事が
わかったので別の関数を使う必要があります。

セル範囲内の文字列を検索し存在した場合
セル数を返すCOUNTIF関数を使ってみましょう。

まずIF関数と比較するための列を追加し
それぞれにタイトル名を入力します。
・列_H:役名に”堂島”を含む?
・列_I:役名に”並樹”を含む?
・列_J:家族名(役名)

次に役名に”堂島”を含む?(セルH2)選択し
以下の手順で入力します。
・[ファイル][ホーム]……[チーム]のタブから
[数式]タブを選択
・[その他の関数▼]を選択
・[統計]を選択し、プルダウンより[COUNTIF]を選択

さらに関数の値を入力していきます。
1.範囲:検索するセルの範囲
–>A2
※”堂島旺太郎”~”堂島光代”など
複数セルで設定したい場合は
セル範囲を[A2:A8]のように
コロン”:”ではさんで指定します。
2.検索条件:検索する選択文字列
–>”堂島*”
※ワイルドカード”*”使用可能

OKボタンをクリックして
列上部のfx欄を確認してみると
下記のように表示されています。

範囲は単独セルで”堂島”を含むので
“1”が表示されています。

[堂島姓検索関数]
=COUNTIF(A2,”堂島*”)
※引数はカンマ”,”で区切られる。

同様に”並樹尊氏”以降もセル(H2)をコピーして
(H3~H9)に貼り付けましょう。

先頭が”堂島”ではないセルには
“0”が表示されています。

同様に、セルI2も関数を設定します。
・役名に”並樹”を含む?(セルI2)選択
・[ファイル][ホーム]……[チーム]のタブから
[数式]タブを選択
・[その他の関数▼]を選択
・[統計]を選択し、プルダウンより[COUNTIF]を選択

堂島家同様に関数の値を入力していきます。
1.範囲:A2
2.検索条件:”並樹*”

OKボタンをクリックして結果表示後
“並樹尊氏”以降もセル(I2)をコピーして
(I3~I9)に貼り付けましょう。

[並樹姓検索関数]
=COUNTIF(A2,”並樹*”)
※引数はカンマ”,”で区切られる。

最後にIF関数に組み込めば完成です。
1.論理式:[堂島姓検索関数]=1
–>=COUNTIF(A2,”堂島*”)=1
2.真の場合:”堂島家”
3.偽の場合:IF(COUNTIF(A2,”並樹*”)=1,”並樹家”,”その他”)
※入力右の図形をクリックして[関数の引数]ダイアログに
IF関数を入力すれば1回で済みます。


OKボタンをクリックして結果表示後
“並樹尊氏”以降もセル(J2)をコピーして
(J3~J9)に貼り付けて完成です。

[堂島家/並樹家選別関数_その2]
=IF(COUNTIF(A2,”堂島*”)=1,”堂島家”,
IF(COUNTIF(A2,”並樹*”)=1,”並樹家”,”その他”))

如何でしたか。
他にもたくさんの機能や関数があります。
また別の機会で紹介したいと思います。

最後までお付き合い下さりありがとうございました。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする