[基本情報技術者試験]午後問題・表計算の対策法

2020年1月31日

基本情報技術者 表計算

基本情報技術者試験を受験する場合に、プログラミング言語が大きな壁となる方も多いかなと思います。

そんな時に思いつくのが表計算を選ぶと言った手段で、実際筆者の知り合いでもどうしてもプログラミングは分からないからと表計算を選んでいた方は数名います。

しかし表計算は取りやすいと言っても

カズ
カズ
マクロって普通に難しそう・・・
ラク
ラク
本当にこの問題簡単なのか?

と疑問に思う方も多いと思います。

答えから言ってしまうと、表計算は簡単ではないものの、しっかりと対策を立てることで十分に点が取れると断言できる科目です。

特にプログラミング特有の考え方をしなくて良い分、初心者向け、プログラミングを避けたい方向けである事には変わりないので、ここではその対策法について詳しく掘り下げて書いていこうと思います。

キュー
キュー
令和2年度から配点も少し多くなったから得点源にしていきたいな!

本記事のまとめ!

  1. 基本情報においてプログラミングは必須
  2. 表計算は他の言語より対策しやすくておすすめ!
  3. 表計算の対策ならスタディング!

表計算の特徴

最初に、これから対策を立てていく表計算の特徴について見ていきましょう。

表計算は他のプログラミングほど複雑ではない

基本情報で取り扱うC言語やJavaと言ったプログラミング言語は関数の定義から始まり数値の代入や配列の処理、Cだったらポインタ云々のJavaだったらオブジェクト指向が・・・と、複雑な考え方+それぞれの言語の特性を理解していないとなかなか問題が解けず、論理的思考に加え場合によってはある程度の前提知識が求められます。

そのためSEやプログラマと言った経験者ならまだしも、非IT系で興味がある人や学生などITの実務経験がない人にとって見ればかなりの時間と労力がかかります。

因みに筆者も以前Cで攻めましたが、学校でC言語を学んでいたにも関わらず太刀打ちできず、同期の優秀な方も1度失敗したのち2回目で合格されるほど難解な出題さがれることもあります。

一方、表計算で問われる内容としては独自の表計算ソフトを元に問題を解いていく形式で、内容が実務寄りではないため、IT系の経験者であろうとなかろうとスタートラインも平等、差が付きにくい分野と言えます。

しかし、一つだけ注意する点として、表計算の後半の問題で出題されるマクロに関しては若干プログラミングの知識が問われるので別途対策を立てる必要があります。

エクセルに慣れているかどうかは大きい

基本情報技術者試験では独自の表計算ソフトを元に~と書きましたが、細かい仕様は違うものの、ほぼエクセルです。

カズ
カズ
なら何でそのままエクセルを出題しないんだろ?
キュー
キュー
Micros●ftに怒られたんちゃう?知らんけど

実務寄りである内容は扱われないため、「エクセルで事務作業をしていた」くらいでは差は付きませんが、例えばエクセルで遊び倒していたり、使い方を徹底的に研究していたりと言ったくらい深くやりこんだ経験がある場合はかなりプラスに働くことでしょう。

スポンサーリンク

表計算問題で押さえて置くべきポイント

表計算を学習する上で、最低限押さえて置くポイントがいくつかあります。重要事項ごとにピックアップしておくので覚えておくようにしましょう。

演算子

演算子はC言語やJavaでも用いますが、表計算でも勿論取り扱います。

ラク
ラク
演算ってなんか難しそうだな
キュー
キュー
いうて小学生の知識があれば十分や

具体的な演算子は以下のようになります。

演算 演算子 意味 例の演算結果
加減演算 +,- 足し算・引き算 5+2-6 1
乗除演算 *,/ 掛け算・割り算 5*6/2 15
単項演算 +,- 正の値・負の値 -5 -5
べき乗演算 ^ 同じ値を累乗する 5^3 125
括弧 ( ) ( )内を優先して計算 (5-2)*(3-1) 6
比較演算 >,<,≧,≦,=,≠ 式を比較して真偽を判定する 5<4 FALSE

この7種類の演算子は頻出なので確実に覚えておきましょう

カズ
カズ
加減演算と単項演算って同じなの?

加減演算は普通の足し算引き算ですが、単項演算子は符号だととらえてください。例えば-5(マイナス5)を表す時には非演算子(数値)が1つしか登場していません。このような式における符号を表す-が単項演算子です。

次にべき乗演算では同じ数を何回書けるかを定義します。a^nとあらわされた場合、a×a×…×aと、aをn回かけることになります。例の場合では5×5×5=125となるわけですね。

比較演算に関してはその式が正しければTRUEを、正しくなければFALSEを返します。

例の様に5<4では5は4より小さいと言った意味になりますが、これは正しくありませんよね。よってFALSEを返します。

カズ
カズ
最後の比較演算子だけちょっと気を付けないといけないね!

参照

次に参照です。表計算には相対参照比較参照と呼ばれる2種類の参照方法があります。

セルの場所は住所になぞらえてセルの番地と言った呼び方をしますがこの番地の表し方が2種類あることになります。

相対参照

相対参照ではコピー元のセルに合わせて値が変わります。

例えば以下の表を考えてみましょう。

A B C D
1 氏名 国語の点数 算数の点数 合計
2 Aさん 65 80 B2+C2
3 Bさん 90 15 B3+C3
4 Cさん 40 40 B4+C4
5 Dさん 75 70 D4+C4

上の図ではD2のセルに「B2+C2」と入力されています。

これを今度D3にコピーすると「B3+C3」と表示され、同様にD4にコピーすると「B4+C4」と変化していきます。

キュー
キュー
数字だけがコピーの度にシフトしていく感じやな

これが相対参照と呼ばれるものになります。

絶対参照

絶対参照ではコピー元のセルにかかわらず、固定したセルを見ることになります。こちらも具体的な例を見てみましょう。

A B C D E F G H I
1 氏名 国語の点数 算数の点数 合計 合否判定 合格点 80
2 Aさん 65 80 B2+C2 D2≧I$1
3 Bさん 90 15 B3+C3 D3≧I$1
4 Cさん 40 40 B4+C4 D4≧I$1
5 Dさん 75 70 B5+C5 D5≧I$1

例えば国語のテストの点数と算数のテストの点数の合計点が80点以上なら合格とする場合を考えます。

それぞれの合計点をDの列で求めており、これと80点を比較していくことになりますが、Dに関してはD2、D3、D4・・・と推移させて行きたいものの、Iに関してはI1で固定させておかないとI1、I2、I3とこちらもずれて行ってしまいます。

ここでIと1の間を$で挟み「H$1」とすることでH1を固定して参照します。

この固定して参照することを絶対参照と言います。

ラク
ラク
$がついているかどうかで判断すればいいわけだな
キュー
キュー
職場でエクセルを使う人は前提知識として知ってる人もおおいやろうな

関数

エクセルには関数と呼ばれる処理もあり、こちらも数学を勉強したことがある人なら耳にタコができるほど聞いてきたかなと思います。

ラク
ラク
うえ~・・・あまり得意とは言い難い響きだぜ・・・

エクセルの関数はそこまで難解なものではなく、長々とした複雑な処理だったり、分かりづらい難解な処理だったりをシンプルな記述に変換してくれる式になります。

例えば一定範囲のセル(B1~B50)を足し合わせるときに、B1+B2+…+B50と書くのは非常に手間です。そこで合計 (B1:B50)と書くことによりたった8文字の記述で同じ意味を表すことができます。

具体的な関数については午後試験の問題冊子にも記載されていますが、ある程度覚えておくことで、本番において限られた時間を有効に使うことができます。

以下の関数は頻出でなじみ深く、前提として押さえて置いて損は無いので可能であれば暗記してしまいましょう。

関数 内容
合計 範囲内のセルの値を足し合わせる 合計(A1 : A10)の場合、A1~A10の範囲のセルを合計した値を返す
A=(A1,A2,A3,A4,A5,A6,A7,A8,A9,A10)とした場合に
A=(6,8,3,7,9,1,10,2,4,5)とすると
合計(A1 : A10)=55
平均 範囲内のセルの値の平均を求める 平均(A1 : A10)の場合、A1~A10の範囲のセルの平均の値を返す
A=(6,8,3,7,9,1,10,2,4,5)とすると
平均(A1 : A10)=5.5
最大 範囲内のセルの値の最大値を求める 最大(A1 : A10)の場合、A1~A10の範囲のセルの最大の値を返す
A=(6,8,3,7,9,1,10,2,4,5)とすると
最大(A1 : A10)=10
最小 範囲内のセルの値の最小値を求める 最小(A1 : A10)の場合、A1~A10の範囲のセルの最小の値を返す
A=(6,8,3,7,9,1,10,2,4,5)とすると
最大(A1 : A10)=1
IF 論理式の値が正の時、式1を、負の解き式2を返す IF(A1>10,〇,×)ならばA1が10より大きい時〇を、小さい時×を返す
A=(15)とすると
IF(A1>10,〇,×)=〇
A=(5)とすると
IF(A1>10,〇,×)=×
個数 範囲内のセルで値を持っている数を返す。 個数(A1 : B10)の場合、A1~A10の範囲のセルで値を持っている数を返す
A=(6, ,3, ,9,1,10, ,4, )とすると
個数(A1 : A10)=6
論理積 式の中身が全てTRUEの時、TRUEを返し、それ以外の時FALSEを返す。 論理積(A1>5,A2>10)の場合、A1とA2の値によって返る値が異なる。
A1=10,A2=20とすると論理積(A1>5,A2>10)=TRUE
A1=5,A2=20とすると論理積(A1>5,A2>10)=FALSE
論理和 式の中身のうち、少なくとも1つがTRUEの時、TRUEを返し、それ以外の時FALSEを返す。 論理和(A1>5,A2>10)の場合、A1とA2の値によって返る値が異なる。
A1=0,A2=20とすると論理和(A1>5,A2>10)=TRUE
A1=0,A2=10とすると論理和(A1>5,A2>10)=FALSE
否定 論理式の値がTRUEの時FALSEを、FALSEの時TRUEを返す。 否定(A1>5)の場合、A5の値によって返る値が異なる。
A1=10とすると否定(A1>5)=FALSE
A1=0とすると否定(A1>5)=TRUE
カズ
カズ
必修範囲の情報数学の知識があればある程度分かるはず!

マクロ

表計算ではマクロと呼ばれる分野もあり、こちらはプログラミングに近い考えを必要とします。

表計算の全体の3割くらいを占めており、得点に換算すると7~8点と言った具合ですね。

内容としてはインクリメントしてループを行うような処理だったり、変数に値を代入し条件分岐によって異なる処理を行ったりといった事をしていきます。

参照:https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2019h31_2/2019r01a_fe_pm_qs.pdf

エクセルとの違い

実際にエクセルを触ったことがある方が表計算の問題を解こうとした場合、エクセルとほぼ同じような感覚で問題が解けます。その為会社でエクセルを触ったことがある人も多くとっつきやすい分野と言えるでしょう。

しかし、厳密には数か所違うところがあるため、試験前に押さえて置くことで混乱を免れることができます。

関数名の違い

関数名がエクセルと基本情報の表計算では異なってきます。

具体的にはエクセルは英語表記、表計算では日本語表記となっています。

処理の例 エクセル 表計算
A1~10までの合計 SUM(A1:A10) 合計(A1:A10)
A1~A10までの合計 AVERAGE(A1:A10) 平均(A1:A10)
A1~A10までで数値が入力されているセルの個数 COUNT(A1:A10) 個数(A1:A10)
カズ
カズ
日本語で書かれてるからむしろ分かりやすいかも?

英語で覚えてしまっていた人にとっては違和感もあるかもしれませんが、わざわざ覚えるほどの物でも無いですね。

関数の前に=を入力しない

エクセルでは各セルに対して関数を入力する時、=SUM(A1:10)の様に「=」も同時に入力していました。

しかし基本情報技術者試験の問題においてはセルに「=」を入力する必要はありません

選択問題の為間違えることは無いと思いますが、一応押さえておきましょう。

表計算問題を解く手順

次に、表計算問題を本番で解いていく手順と気を付けるべきポイントに関して深堀していきます。

問題文を俯瞰する

最初に問題文を俯瞰してどのような処理を行うのか大まかに把握していきましょう。

表計算は一般的に対策しやすいと言われている分野ですが、回によっては難解でほとんど解けない可能性も考えられます。

他の言語は簡単なのに表計算に拘ったことが逆に点に結びつかなかったと言った可能性も十分に考えられますね。

ラク
ラク
毎回言語ごとにも難易度はまちまちだから、保険でいくつか解けるようにしておくのがベストだよな

都度分かったことは書き込む

表計算に関しても他の言語同様、その処理だけを見ても流れが抽象的でつかみどころがなく、問題文の処理と見比べながら理解していくことが重要となってきます。

例えばある処理を見てそこに[C3]と書かれていたら、C3のセルに対して何らかの処理を行った、という事が伺えます。

そこで、1つの処理毎にどのような動作をしているかをざっくりと把握するためにも分かったことを書き込むと良いです。

最初の段階で10×10程の表を作って置き、上にA~I、左に1~9と書き込み、残りの場所に都度、値を書き込むようにしましょう。

関数については引数に注目

選択肢の中に複数の関数が用意されている場合、引数によって正誤確認をすることで誤った問題を排除することも可能となります。

例えば以下の問題は先ほどの令和元年秋の問題の選択肢になります。

ア・・・照合一致(E2,単価表!$B2:$D2,0)

イ・・・照合一致(E2,単価表!B$2:D$2,0)

ウ・・・水平照合(E2,単価表!$B1:$D2,2,0)

エ・・・水平照合(E2,単価表!B$1:D$2,2,0)

オ・・・表引き(表単価!$B1:$D2,2,1)

カ・・・表引き(表単価!B$1:D$2,2,1)

これだけ見ても???となるかと思いますが、実はこの段階で引数を見ることで選択肢を半分まで絞ることができます。

ラク
ラク
引数ってなんだ?
キュー
キュー
関数の中に放り込む数字やな。数学で言うy=3xやったらxに入れる数字みたいなもんや。今回の場合アの照合一致(E2,単価表!$B2:$D2,0)やったらE2と単価表!$B2:$D2、0がそれぞれ引数や

この引数では$がついているので絶対参照という事が分かります。

ところで絶対参照のルールとして、D列の4行目を固定する場合はD$4の様にアルファベットと数字の間に記入するのでした。

そのため、記載の方法がおかしいア、ウ、オは必然的に消えます。このように必要な知識を押さえたうえで冷静に選択肢を見ると、問題の中身を知らなくてもある程度解答を絞れたり、得点できてしまったりすることも多いです。

カズ
カズ
最低限の知識は押さえて置こうね!

マクロに関しては拘らない

問題の後半ではマクロ問題が出題されます。

多くの方にとっては鬼門となる箇所でもありなかなか点が取れない、対策しても分からないと言う意見が多いですね。

確かに点を取ることでぐっと有利にはなりますが、無理に時間をかけてまで取らなければいけない!と言うほど必須ではありません。理由は以下の通りです。

対策に時間がかかる

まず一つ目に、対策に時間がかかる点が大きいです。

内容としても他のプログラミングと同じくらいの難解度合いで、0知識から学習するのに時間がかかり非効率、さらに本番でも多くの時間を食ってしまうと言ったデメリットがあります。

そのため限られた時間の中でより確実に合格を目指したい場合、やれば伸びる別の分野を優先して注力していくのが良いと言えますね。

キュー
キュー
もちろん、他のところを終えて時間的に余裕があるならかじってみても良いけどな~

配点が大きくない

基本情報技術者試験の表計算の問題のうち、マクロの問題は大体7~8点、どんなに多くても10点ほどとされています。

他のプログラミングの場合25点丸々なのでそれと比較すると非常に小さく、他に注力できる部分が増えているという事が分かりますね。

難しくても配点はそんなに高くない。そういった分野はあまり力を入れず、セキュリティやアルゴリズム等配点が多いところに注力するようにしましょう。

そもそも基本情報技術者試験が傾斜配点

基本情報技術者試験の午後問題は傾斜配点とされており、6割正答してもそのまま60点になるとは限りません。

傾斜配点は合格率を20%前後にするために問題ごとの配点を変える仕組みになっており、正答率が高い問題程配点も高くなるとされています。

ここで、IPAの毎回の表計算マクロ問題に関する講評も見てみましょう。

実施時期 講評
令和元年度・秋期 正答率は低く,あまり理解されていなかった。
平成31年度・春期 正答率は低く,あまり理解されていなかった。
平成30年度・秋期 正答率は低く,あまり理解されていなかった。
平成30年度・春期 正答率は低く,あまり理解されていなかった。
平成29年度・秋期 正答率は低く,あまり理解されていなかった。
平成29年度・春期 正答率は低く,あまり理解されていなかった。
平成28年度・秋期 正答率は低く,あまり理解されていなかった。
平成28年度・春期 正答率は低く,あまり理解されていなかった。
平成27年度・秋期 正答率は高く,よく理解されていた。

このように、平成27年度では1回正答率が高いですがそれ以外ではあまり理解されていなかったとなっています。

このように多くの人が間違う問題は配点も低く、飛ばしてしまった場合もそこまで痛みにならないので頭に入れておきましょう。

カズ
カズ
傾斜配点の場合はみんなが取れるところを手堅く取るのが大事!

基本情報技術者試験の表計算問題を手堅く取るために

ここまで、基本情報の表計算問題において対策しておくべきポイントや本番での解き方について触れてきました。

しかし、実際に問題を解いたり解説を読んで深く解きたいと言ったりした場合はこれだけでは不十分で、しっかりとアウトプットによる対策をする必要があります。

そこでこの後は、実際の試験に向けた対策のテキストやスクールを少し紹介させていただこうと思います。

表計算対策テキスト

基本情報の表計算の過去問だけを集めたテキストが何冊か出ているので、それらの特徴を踏まえながら紹介させていただこうと思います。

基本情報技術者 表計算 とっておきの解放

created by Rinker
¥1,890 (2024/04/16 04:14:01時点 Amazon調べ-詳細)

こちらのとっておきの解放では特に関数の理解に重点を置いており暗記にとどまらず理解を促そうとしているため安定的に点が取れるようになっており、マクロについても触れているので1冊で全体的に学習できるテキストです。

amazonでのレビュー評価も一番高いので、特別な理由がない限りこの1冊で間違いないでしょう。

カズ
カズ
過去問が盛りだくさん!

基本情報技術者 らくらく突破 表計算

こちらは関数だけでなくマクロにも重点的に対応しており、みんなが取りにくいところでがっつりと取って差を付けに行くと言った戦法を取る方におすすめの1冊です。

先ほど書いたように、他を徹底的に対策できればマクロは飛ばしてしまっても構わないと筆者は思っていますが、それでもマクロで差を付けたい!と言う方は手放せない1冊です。

ラク
ラク
演習量も多くなってるぜ

表計算を学べるスクール

次に、基本情報の表計算の対策ができるスクールについても見ていきましょう。

BizLearn

BizLearnでは、マンツーマンでの指導を受けられ、大手予備校と比較してもそん色ないサポートを受けられます。

さらには各プログラミング言語の対策講座が用意されており、表計算だけに限らず、さまざまな講義を受講可能です。

全科目を学ぼうとすると、大手スクールでは大抵10万円近くかかりますが、BizLearnでは4万円以内で受講することができます。

他にも午前免除を受けられるコースが用意してあったり、講師に直接徹底して質問できると言った充実したサポート制度も設けられていたりするので、非常におすすめです!

カズ
カズ
eラーニングアプリでの学習もできて、人気急上昇中だよ!

BizLearnの基本情報技術者試験コースについてさらに掘り下げた記事もあるので、興味がある方は合わせてご覧ください。

スタディング

STUDYing 可能性を実現に

最近受講者数急増中の通信講座としてスタディングがあります。

こちらは受講料が安く、午前午後全ての範囲を網羅しており4万円以下で受講できるので、大手スクールよりも非常に割安で内容も充実しています。

デフォルトで用意されているプログラミング科目が表計算のみなので他の言語を選ぶ場合はおすすめできませんが、この記事を読んでいる方は表計算で受験されることを考えていると思うので問題ないかなと思います。

Web上での問題集機能や他ユーザとのインタラクション機能等他には無い機能も充実しているので一度試してみてください。

カズ
カズ
無料体験コースもあるよ!

こちらもさらに詳しくまとめた記事があるので、あわせてご覧ください。

基本情報技術者試験の表計算対策まとめ

本記事のまとめ!

  1. 基本情報においてプログラミングは必須
  2. 表計算は他の言語より対策しやすくておすすめ!
  3. 表計算の対策ならスタディング!

今回は基本情報技術者試験の表計算問題の特徴や対策方法を紹介させていただきました。

簡単、初心者向けと言って挑むと痛い目を見るのでしっかりと対策をして挑んでみましょう。

カズ
カズ
特にエクセルは会社でも使うし、それに通じる知識を得られるから将来性もあるよ!

他の言語に関しても特徴や対策方法が知りたいと言う方は、以下の記事をあわせてご覧ください。

スポンサーリンク