- Home »
- エクセル練習問題:目次 »
- 条件の判定(IF関数・IFS関数など)
更新:2024/8/27;作成:2012/9/6
- 問題1:判定欄に得点が70以上は○、70未満は×としなさい。 問題1の解答
|
B |
C |
D |
E |
2 |
名前 |
性別 |
得点 |
判定 |
3 |
相沢一郎 |
男 |
52 |
|
4 |
井上浩二 |
男 |
74 |
|
5 |
上野有紀 |
女 |
84 |
|
6 |
内野武 |
男 |
77 |
|
7 |
上田祥子 |
女 |
68 |
|
8 |
江田早苗 |
女 |
59 |
|
9 |
榎本高貴 |
男 |
77 |
|
10 |
小田和樹 |
男 |
47 |
|
- 問題2:得点が80以上は「優」、70以上は「良」、50以上は「可」、50未満は「不」としなさい。 問題2の解答
|
B |
C |
D |
E |
2 |
名前 |
性別 |
得点 |
判定 |
3 |
相沢一郎 |
男 |
52 |
|
4 |
井上浩二 |
男 |
74 |
|
5 |
上野有紀 |
女 |
84 |
|
6 |
内野武 |
男 |
77 |
|
7 |
上田祥子 |
女 |
68 |
|
8 |
江田早苗 |
女 |
59 |
|
9 |
榎本高貴 |
男 |
77 |
|
10 |
小田和樹 |
男 |
47 |
|
- 問題3:7月は70以上、8月は80以上、9月は70以上に「合格」と表示しなさい。 問題3の解答
|
B |
C |
D |
2 |
試験日 |
得点 |
判定 |
3 |
2011/7/1 |
66 |
|
4 |
2011/7/2 |
71 |
|
5 |
2011/8/4 |
78 |
|
6 |
2011/8/5 |
69 |
|
7 |
2011/8/6 |
84 |
|
8 |
2011/8/7 |
79 |
|
9 |
2011/9/1 |
72 |
|
10 |
2011/9/2 |
68 |
|
- 解答
- 条件の判定にはIF関数が使えます。
構文:=IF(論理式,[真の場合],[偽の場合])
IF関数 に説明がありますので参照してください。
- E3セルに =IF(D3>=70,"○","×") と入力して、フィルハンドルをドラッグ、またはダブルクリックして、下方向へ数式をコピーします。
- Excel for Microsoft365、Excel2021はSpill(スピル)が利用できます。
E3セルに数式 =IF(D3:D10>=70,"○","×") を入力するだけです。
- 【解説】
この問題を図示すると、下図のようになります。
D3セルが70以上は論理式で D3>=70 、真の場合 ○、偽の場合 × をIF関数の構文に当てはめると、
=IF(論理式,[真の場合],[偽の場合]) なので、
=IF(D3>=70,"○","×") となります。
なお、○や×は文字列なので、""でくくります。
- 関数の引数ダイアログボックスを使う場合は、論理式に D3>=70 、値が真の場合に "○" 、値が偽の場合に "×" と入力します。
ダイアログボックスでは "" を省略しても、Excelが自動的に補完してくれます。
- Excel for Microsoft365、Excel2019、Exce2021を使っている方は IFS関数を使うことができます。
- IFS関数の構文:=IFS(論理式1,1が真の場合,[論理式2,2が真の場合],・・・)
- IFS関数は論理式に対して真の場合を対で書くようになっています。
条件を満たさない場合を数式内に書く必要があるときは、最後の論理式に、TRUE を入れて、それ以前の条件を満たさない時に返す値を書きます。
よって、D3セルに、=IFS(D3>=70,"○",TRUE,"×") と入力します。
- SWITCH関数はExcel2019で追加された関数です。
Excel for Microsoft365、Excel2019、Exce2021を使っている方は IFS関数を使うことができます。
詳細は SWITCH関数の使い方 をご覧ください。 - 構文は =SWITCH(式,値1,結果1,[値2,結果2,・・・],規定値) です。
式(条件)の返す値と一致した値に対応した結果を返します。
=SWITCH(D3:D10>=70,TRUE,"○",FALSE,"×") としてみました。
Spillが使えない場合はE3セルに =SWITCH(D3>=70,TRUE,"○",FALSE,"×") と入力して、下方向へ数式をコピーします。
- 解答
- 問題を図示すると下図のようになります。
- 数式の例:複数の条件はIF関数をネストして書くことができます。
偽の場合の場所に、次のIF関数を入れていく感じです。
- E3セルは =IF(D3>=80,"優",IF(D3>=70,"良",IF(D3>=50,"可","不"))) となります。
- Excel2019,Excel for Microsoft 365 を使っている方は IFS関数を使うことができます。
IFS関数の詳しい使い方は IFS関数(IFのネストが簡潔になります) をご覧ください。 - E3セルに、=IFS(D3>=80,"優",D3>=70,"良",D3>=50,"可",D3>=0,"不") と入力します。
- 満たした条件数で数値化して求めることもできます。
=(D3>0)+(D3>=50)+(D3>=70)+(D3>=80) と条件を満たしたら加算するようにします。
1のときは「不」、2のときは「可」、3のときは「良」、4のときは「優」となるようにします。
- =CHOOSE((D3>0)+(D3>=50)+(D3>=70)+(D3>=80),"不","可","良","優")
CHOOSE関数 に説明がありますので参照してください。
- 数式で返す文字を順番につないで "不可良優" とし、条件を満たした分の文字を取り出しています。
=MID("不可良優",(D3>0)+(D3>=50)+(D3>=70)+(D3>=80),1)
MID関数 に説明がありますので参照してください。
- CHOOSE関数とMID関数と同じような考え方です。
{"不","可","良","優"}と配列にしているところがポイントです。
=INDEX({"不","可","良","優"},(D3>0)+(D3>=50)+(D3>=70)+(D3>=80))
INDEX関数 に説明がありますので参照してください。
- =VLOOKUP((D3>0)+(D3>=50)+(D3>=70)+(D3>=80),{1,"不";2,"可";3,"良";4,"優"},2)
VLOOKUP関数 に説明がありますので参照してください。
- 解答
|
B |
C |
D |
2 |
試験日 |
得点 |
判定 |
3 |
2024/7/1 |
66 |
|
4 |
2024/7/2 |
71 |
合格 |
5 |
2024/8/4 |
78 |
|
6 |
2024/8/5 |
69 |
|
7 |
2024/8/6 |
84 |
合格 |
8 |
2024/8/7 |
79 |
|
9 |
2024/9/1 |
72 |
合格 |
10 |
2024/9/2 |
68 |
|
- 月数と得点の2つがAND条件となりますので、AND(月数の条件,得点の条件)とします。
与えられた条件を問題文の通りに並べて書くと・・・
=IF(AND(MONTH(B3)=7,C3>=70),"合格",
IF(AND(MONTH(B3)=8,C3>=80),"合格",
IF(AND(MONTH(B3)=9,C3>=70),"合格","")))
となります。
- 「合格」とする条件に着目すると、各月の条件はOR条件なので
=IF(OR(AND(MONTH(B3)=7,C3>=70),
AND(MONTH(B3)=8,C3>=80),
AND(MONTH(B3)=9,C3>=70)),"合格","")
とまとめることができます。
- Excel2016(Office365)を使っている方はIFS関数を使うことができます。
IFS関数では真の場合に返す値を羅列できます。ただし、偽の場合の値は、最後に ,TRUE,"" を付け加えます。
D3セルの数式は
=IFS(AND(MONTH(B3)=7,C3>=70),"合格",
AND(MONTH(B3)=8,C3>=80),"合格",
AND(MONTH(B3)=9,C3>=70),"合格",TRUE,"")
としました。
- または、IFERROR関数を使って、エラーの場合に返す値 "-" を設定することもできます。
この場合は、
=IFERROR(
IFS(AND(MONTH(B3)=7,C3>=70),"合格",
AND(MONTH(B3)=8,C3>=80),"合格",
AND(MONTH(B3)=9,C3>=70),"合格"),"-")
とします。
スポンサードリンク
Home|エクセル練習問題:目次|条件の判定(IF関数・IFS関数など)
PageViewCounter
Since2006/2/27