Deprecated : The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
条件の判定(IF関数・IFS関数など):エクセル練習問題
Home »
エクセル練習問題:目次 »
条件の判定(IF関数・IFS関数など)
更新:2025/9/22;作成: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
判定欄に得点が70以上は○、70未満は×としなさい。
解答
条件の判定にはIF関数が使えます。
構文:=IF(論理式,[真の場合],[偽の場合])
IF関数 に説明がありますので参照してください。
Excel for Microsoft365、Excel2021以降のバージョンでははSpill(スピル)が利用できます。
E3セルに数式 =IF( D3:D10>=70 ,"○","×") を入力するだけです。
Excel2019以前のバージョンでは
E3セルに =IF( D3>=70 ,"○","×") と入力して、フィルハンドルをドラッグ、またはダブルクリックして、下方向へ数式をコピーします。
【解説】
この問題を図示すると、下図のようになります。
D3セルが70以上は論理式で D3>=70 、真の場合 ○、偽の場合 × をIF関数の構文に当てはめると、
=IF(論理式,[真の場合],[偽の場合]) なので、
=IF(D3>=70,"○","×") となります。
なお、○や×は文字列なので、""でくくります。
関数の引数ダイアログボックスを使う場合は、論理式に D3>=70 、値が真の場合に "○" 、値が偽の場合に "×" と入力します。
ダイアログボックスでは "" を省略しても、Excelが自動的に補完してくれます。
Excel for Microsoft365、Excel2019以降のバージョンを使っている方は IFS関数を使うことができます。 IFS関数の構文:=IFS(論理式1,1が真の場合,[論理式2,2が真の場合],・・・)
IFS関数は論理式に対して真の場合を対で書くようになっています。
条件を満たさない場合を数式内に書く必要があるときは、最後の論理式に、TRUE を入れて、それ以前の条件を満たさない時に返す値を書きます。
よって、D3セルに、=IFS( D3>=70 ,"○",TRUE,"×" ) と入力します。
SWITCH関数はExcel2019で追加された関数です。
Excel for Microsoft365、Excel2019以降のバージョンを使っている方は SWITCH関数を使うことができます。
詳細は SWITCH関数の使い方 をご覧ください。 構文は =SWITCH(式,値1,結果1,[値2,結果2,・・・],規定値) です。
式(条件)の返す値と一致した値に対応した結果を返します。
=SWITCH( D3:D10>=70 , TRUE,"○" , FALSE,"×" ) としてみました。
Spillが使えない場合はE3セルに =SWITCH( D3>=70 , TRUE,"○" , FALSE,"×" ) と入力して、下方向へ数式をコピーします。
得点が80以上は「優」、70以上は「良」、50以上は「可」、50未満は「不」としなさい。
解答
問題を図示すると下図のようになります。
数式の例:複数の条件はIF関数をネストして書くことができます。
偽の場合の場所に、次のIF関数を入れていく感じです。
E3セルは =IF(D3>=80,"優", IF(D3>=70,"良", IF(D3>=50,"可","不") ) ) となります。
Spillが使えるバージョンなら、 =IF(D3:D10>=80,"優",
IF(D3:D10>=70,"良",
IF(D3:D10>=50,"可","不")))
とします。
Excel for Microsoft 365、Excel2019以降のバージョンを使っている方は IFS関数を使うことができます。 IFS関数の詳しい使い方は IFS関数(IFのネストが簡潔になります) をご覧ください。
Excel for Microsoft 365、Excel2021以降のバージョンを使っている方はSpillの機能を利用できます。
E3セルに
=IFS(D3:D10>=80,"優",
D3:D10>=70,"良",
D3:D10>=50,"可",
D3:D10>=0,"不")
と入力します。
Excel2019以前のバージョンでは
E3セルに、=IFS(D3>=80,"優", D3>=70,"良" , D3>=50,"可" , D3>=0,"不" )
と入力して、下方向へオートフィルなどで数式をコピーします。
CHOOSE関数 に説明がありますので参照してください。
満たした条件数で数値化して求めることもできます。
=(D3>0)+(D3>=50)+(D3>=70)+(D3>=80) と条件を満たしたら加算するようにします。
1のときは「不」、2のときは「可」、3のときは「良」、4のときは「優」となるようにします。
E3セルに
=CHOOSE( (D3>0)+(D3>=50)+(D3>=70)+(D3>=80) ,"不","可","良","優" )
と入力して、下方向へオートフィルなどで数式をコピーします。
Excel for Microsoft 365、Excel2021以降のバージョンを使っている方はSpillの機能を利用できます。
E3セルに =CHOOSE(
(D3:D10>0)+(D3:D10>=50)+(D3:D10>=70)+(D3:D10>=80),
"不","可","良","優")
と入力します。
数式で返す文字を順番につないで "不可良優" とし、条件を満たした分の文字を取り出しています。
=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関数 に説明がありますので参照してください。
7月は70以上、8月は80以上、9月は70以上に「合格」と表示しなさい。
解答
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
Excel2019以降のバージョンを使っている方は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 ) ,"合格" ),"-")
とします。
月数と得点の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) ) , "合格","" )
とまとめることができます。
スポンサードリンク
Home |エクセル練習問題:目次 |条件の判定(IF関数・IFS関数など)
PageViewCounter
Since2006/2/27