当サイトはWordとExcelの実力を鍛える最高水準の特訓問題集です。リンクを張るのは自由です。表計算に出題される関数の中に、「整数部」と「剰余」があります。Excel関数でいえば、INTとMODです。基本情報で出題されるのは年に一回の割合なので、検索関数と比べるとそんなに頻出とは言えません。最近では、どちらかと言えばITパスポート試験のほうがよく出題されます(参考:【Excel】INTやMOD関数を用いて数値の一部を取り出す整数問題と関数の過去問(ITパスポート表計算Part3))。Excelの教科書や逆引き辞典にはINTとMODの簡単な使い方は載っていますが、利用例があまり紹介されていません。問題に使用される関数の説明についての著作権はIPA情報処理推進機構にあります(IPA公式サイト:https://www.jitec.ipa.go.jp/)。カエレバ楽天市場AmazonYahooショッピング2.まずは仕様を確認しよう問題A列に、-6から6までの整数を入力した。B列に2で割ったときの答えの整数部、C列に2で割ったときの剰余を求めなさい。解説ExcelのINT関数・MOD関数の仕様と、情報処理試験の仕様はほぼ同じです。INT・・・整数部(算術式)算術式の値以下で最大の整数を返す。MOD・・・剰余(算術式1,算術式2)算術式1の値を被除数、算術式2の値を序数として除算を行ったときの剰余を返す。セルB2に「=INT(A2/2)」と入力します。5を2で割ると答えは2.5ですが、小数点以下を切り捨てると2になります。元の数がマイナスの場合、それより小さい整数を返すので切り捨てにはなりません。-5を2で割ると答えは-2.5ですが、それより小さい整数を求めるので-3になります。セルC2に「=MOD(A2,2)」と入力します。0と1だけになります。これによって、「元の数値=整数部*2+剰余」という関係式が成り立ちます。税抜価格7,325円に10%の消費税を加算し、小数点以下切り捨てで税込価格を求めなさい。この税込価格に対してランク別のポイントを付与したい。ポイント数を小数点以下切り捨てで求めなさい。税込価格は小数が発生するので原則としてINTで切り捨てます。10%増なのでパーセンテージは「1+E1」です。したがって「=INT(B1*(1+E1))」となります(参考:割合の計算が分からない原因は、かけ算による変化を理解していないこと)。この税込価格にポイントを付与します。パーセンテージはランクで決まるのでVLOOKUPで検索して「VLOOKUP(B3,D2:E4,2,0)」です。したがって「=INT(B2*VLOOKUP(B3,D2:E4,2,0))」となります。問題いま、500円の商品券30枚を持っている。8,057円を商品券で支払い、500円未満の端数を現金で支払う場合、現金でいくら支払えばよいか。商品券は残り何枚になるか。解説500円未満の端数は、500で割ったときの余りです。「=MOD(B2,B6)」と入力します。商品券が使える枚数は、支払額を500で割って切り捨てるので「INT(B2/B6)」です。したがって、残り枚数は、30枚から引けばよいです。「=B7-INT(B2/B6)」と入力します。4.INTとMODの重要パターン整数部や剰余は、掛け算や割り算だけではありません。基本情報やITパスポートを受ける人であれば当然知っておかなければならない問題をおさらいしましょう。問題A列に、1/7、2/7、3/7、・・・を入力した。B列に小数部分を求めなさい。小数点の左側の整数部分はINTを使いますが、小数部分は元の数から整数部分を引けばよいです。元の数xから整数部INTを引いたものになるので、小数部分を意味しています。いっぱんにMODの第2引数を1にすると小数部分を求めることができます。問題A列に連番を入力した。3の倍数を「年度末」、12の倍数を「年末」と表示しなさい。解説4年に一度、3か月に一度など定期的に行うイベントがあります。Nの倍数の判定をするときは剰余を使います。Nで割ったときに余りが0であれば、Nの倍数と言えます。「=IF(MOD(A1,3)=0,"年度末","")」となります。12の倍数を年末にする場合は、「=IF(MOD(A1,12)=0,"年末",IF(MOD(A1,3)=0,"年度末",""))」となります。(3)Nの倍数で切り捨て問題200円につき1ポイントを付与するとき、7523円の場合は何ポイントになるか。18時22分を15分単位で切り捨てる場合、何時何分になるか。「200円につき1ポイント」は次の2つに意味を持ちます。200円ごとに1ポイントを与える200円に満たない端数は切り捨ててポイントを付与しない「=INT(B1/200)」と入力します。15分単位で切り捨てる場合、時間は変わりません。「=A1」と入力すればよいです。15分単位で切り捨てると15の倍数になるはずですから、式は「整数*15」となるはずです。15で割って、それを15倍します。*補足*ちなみに、Excelには、Nの倍数の切り上げ/切り捨てをする関数として、FLOOR/CEILINGがありますが、情報処理試験の仕様に無いのでINTを使用します。(4)各桁を求める問題9桁の数値がある。これを上から1桁・3桁・5桁に分離しなさい。下4桁を0にしなさい。数値の左側(上の桁)を求めるにはINTを使います。「=INT(A1/100000000)」です。累乗を使うと「=INT(A1/10^8)」となります。数値の右側(下の桁)を求めるにはMODを使います。「=MOD(A1,100000)」です。累乗を使うと「=MOD(A1,10^5)」となります。数値の途中の部分を取り出すには、INTとMODを組み合わせます。上の4桁を取り出してから下3桁を取ると考えると「=MOD(INT(A1/10^5),1000)」となります。下8桁を取り出してから上3桁を取ると考えると「=INT(MOD(A1,10^8)/1000)」となります。ちなみに、Excelには文字列の一部を取り出す関数として、LEFT/MID/RIGHTがありますが、情報処理試験の仕様に無いのでINT/MODを使用します。数値の場合、LEFT/MID/RIGHTの代わりが、INT、INT(MOD)、MODです。上5桁は「INT(A1/10000)」なのでこれを1万倍すればいいです。切り捨て(ROUNDDOWN)を用いて「=ROUNDDOWN(A1,-4)」でもよいです。夏のオリンピックは西暦が4の倍数の年に開催される。セルB1に今年の西暦を入力した時に、次回のオリンピック開催年を求めなさい。解説オリンピック出場が期待される選手は次回のオリンピックまであと何年かが気になります。西暦が4の倍数の時は次回のオリンピックまでに4年待つということです。西暦を4で割ったときの余りが1の場合はオリンピックまであと3年、余りが2の場合はあと2年、余りが3の場合はあと1年です。次回のオリンピックまで待つ年数は「4-MOD(西暦,4)」です。したがって、「=B1+4-MOD(B1,4)」となります。(6)最大値を0にする問題さきほどの問題で、オリンピックが開催される年は4を加算しない場合はどうか。解説オリンピックをTVで観戦したい一般人の立場で考えると、通常は次回オリンピック開催まで待つことになりますが、オリンピック開催年にあたる年であれば4年待つ必要はありません。開催年にあたる年の場合に、その西暦をそのまま返すということは、4を加算せず0を加算するということです。1~4のうち、4を強制的に0にするには4で割った余りを求めます。このように、1から始まる連番の最大値を強制的に0にするにはMODを使います。「=MOD(~~~,4)」とします。したがって、「=B1+MOD(4-MOD(B1,4),4)」となります。*補足*この数式は、さらに「=B1+MOD(-B1,4)」と簡単にすることができますが、解説は省略します。(7)連番を繰り返しにする問題A列に連番を入力し、これらの連番をセルF3以降に4列に並べた。列と番号を求めなさい。解説4つずつで区切ると繰り返しになっていることが分かります。繰り返しになっている数列はINTかMODで求めることができます。4で割ったときのINTとMODを求めます。INTが1つずれています。=INT(A2/4)=MOD(A2,4)元の数から1を引けば、4個ずつになります。1)/4)さらに、499を引くことによって1から始まる数字になります。499Nの倍数をNで割ると余りが0になりますが、これをNにするには、元の数から1を引いて余りを出した後に1を足せばよいです。「1、2、3、0」を「1、2、3、4」にするには、MOD(~-1,4)+1とします。1これらを「~列」「~番」に変換すればよいです。表計算に出題される関数一覧とExcelを用いた簡単な練習方法)。日付を8桁の整数で入力した。年・月・日に分離しなさい。日付と時間・分を12桁の整数で入力した。時間と分を求めなさい。年は上4桁なので「=INT(A1/10^4)」です。日は下2桁なので「=MOD(A1,100)」です。月は「=MOD(INT(A1/100),1000)」または「=INT(MOD(A1,10000)/100)」となります。時間は「=INT(MOD(A3,10^4)/100)」、分は「=MOD(A3,100)」です。問題2つの日付の曜日が一致しているかを判定しなさい。日付は通常、シリアル値(1900/1/1からの経過日数)で表される整数値なので、INTやMODが使えます。7で割ったときの余りが同じであれば、曜日が等しいといえます。=MOD(A1,7)別解シリアル値の大きい日付(最近の日付)から小さい日付を引くとその間の日数になりますから、それが7の倍数であれば、曜日が一致しているといえます。7の倍数でなければ曜日が異なるということです。問題A列に、元日の午前0時からの経過時間を入力した。この数値の単位は「分」である。元日の午前0時から141分経過すると2時21分である。時間を分単位で管理する表が出題されることがあります。時刻に直すと「分」は0~59なので、60で割ったときの余りであることが分かります。逆に、「時間」はINTを使えばよいです。24時間を超えているものがあります。これは元日から1日以上が経過していることを表します。したがって、24で割って余りを求めます。=MOD(INT(A2/60),24)ちなみに、経過日数は「=INT(A5/1440)」です(1日=1440分)。(4)時刻のシリアル値から時間と分を求める問題A列に時刻のシリアル値(24時間=1とする小数)を入力した。時間と分を整数で求めなさい。解説Excelでは時間や分を取り出す関数(HOUR/MINUTE)がありますが、情報処理試験ではそれが無いので、INTとMODで求めます。時刻のシリアル値を時間に換算するには24倍します(参考:【Excel】時間の掛け算、シリアル値と時間の換算、時間の合計を求めるときの注意点)。小数点以下を切り捨てます。分に換算するには1440倍します。869分になりますが、さきほどの問題と同じように60で割った余りを求めます。わえなびチャンネルhttp://www.youtube.com/c/waenavijpチャンネル登録をすると最新の動画をチェックできます。初心者向けの動画も大量にあります。平成三十年八月]スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。