戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

ITパスポート 2026年 74


問題文

表計算ソフトを用いて、二つの2進数α, βの和を求める。α, βの桁数は2桁に限定し、2の位、1の位の順に各桁の値がセルB3、セルC3とセルB4、セルC4に入力されている。ワークシートは2進数α=10, β=11の例である。結果は、4の位、2の位、1の位の順にセルA5、セルB5、セルC5に表示したい。セルB2は1の位からの繰り上がりの情報を格納するために用いられ、式IF(C3+C4=2,1,0)が入力されている。セルB5に入力する式はどれか。
ITパスポート 2026年  問74の問題画像

選択肢

IF(合計(B2:B4)<2, 合計(B2:B4), IF(合計(B2:B4)=2, 0, 1))(正解)
IF(合計(B2:B4)<2, 合計(B2:B4), IF(合計(B2:B4)=2, 1, 0))
IF(合計(B2:B4)>2, 合計(B2:B4), IF(合計(B2:B4)=2, 0, 1))
IF(合計(B2:B4)>2, 合計(B2:B4), IF(合計(B2:B4)=2, 1, 0))

🔒 解説は解答すると表示されます

表計算で2桁の2進数α, βの和を求める【ITパスポート 解説】

正解の理由

セルB5には、1の位からの繰り上がり(セルB2)と各数の2の位(セルB3・B4)の3つのビットを足した結果の「2の位の値」を表示したいものです。2進数のビットは 0 か 1 しか取れません。したがって合計の取り扱いは次のようになります:
  • 合計が 0 → 表示は 0
  • 合計が 1 → 表示は 1
  • 合計が 2 → 表示は 0(そして上位へ繰り上がり)
  • 合計が 3 → 表示は 1(上位へ繰り上がり)
選択肢のうち、 の式
IF(合計(B2:B4)<2, 合計(B2:B4), IF(合計(B2:B4)=2, 0, 1))
は上のルールに一致します。つまり合計が0か1ならそのまま表示し、合計が2なら0、合計が3なら1を返します。これが「2の位の結果」を正しく表すための条件分岐になっているため正解です。
(例)問題の図の例では C3=0,C4=1 なので B2=0、B3=1、B4=1。合計は で、B5 は 0 になります。 の式はこれを正しく出力します。
補足説明(用語): IF関数は「条件式が真のときに第2引数を、偽のときに第3引数を返す関数」です。合計関数(SUMに相当)は「指定範囲の数値を合計する関数」です。

解法ステップ

  1. まず 1の位の足し算結果から繰り上がりを B2 に入れている(セルB2の式は IF(C3+C4=2,1,0))。ここで C3,C4 は 1の位のビット。
  2. B2(繰り上がり)と B3,B4(それぞれの2の位)を合計する。Excelの合計は 合計(B2:B4)(=SUM(B2:B4))で求める。
  3. 合計の値に応じて 2の位に表示するビットを決める:合計が0か1ならそのまま、合計が2なら0、合計が3なら1。
  4. この条件を IF を入れ子にして表現したものが の式である。
実際の式(セルB5):
IF(合計(B2:B4)<2, 合計(B2:B4), IF(合計(B2:B4)=2, 0, 1))

選択肢別の誤答解説

  • イ: IF(合計(B2:B4)<2, 合計(B2:B4), IF(合計(B2:B4)=2, 1, 0))
    → 合計が2のときに 1 を返してしまうため誤り。合計=2は 2進で "10" なので下位ビットは 0 が正しい。
  • ウ: IF(合計(B2:B4)>2, 合計(B2:B4), IF(合計(B2:B4)=2, 0, 1))
    → 合計が 3 のときに合計そのもの(3)を返してしまうため誤り。セルには 0 または 1 のビットを入れたいのに 3 が入ってしまう。
  • エ: IF(合計(B2:B4)>2, 合計(B2:B4), IF(合計(B2:B4)=2, 1, 0))
    → 合計が3のとき 3 を返し、合計が2のとき下位ビットを1にしてしまう。どちらも誤り。
ポイントは「返す値は必ず 0 か 1」であり、合計値そのものを返すべきでない場面(合計が2や3のとき)を正しく処理しているかです。

よくある誤解

  • 「合計をそのまま表示すればよい」と考える誤り:合計が2や3のときは1ビットで表せないため、そのまま表示すると誤りになります(例:3 をセルに入れるのは不適切)。
  • IF の条件順を逆にするミス:例えば最初に >2 を判定すると、合計が2の場合に誤った分岐に入ることがあります。判定は「小さいか(<2)」などシンプルな条件から考えると分かりやすいです。
  • B2(繰り上がり)を忘れて B3+B4 だけで考える:1の位からの繰り上がりを含めないと間違った答えになります。

補足コラム

もっと簡潔に書く別解(Excel関数を使う):
  • 下位ビット(セルB5)は合計の「2で割った余り」を取ればよいので、次の式で同じ結果が得られます。
    合計と剰余を求める関数の説明: MOD関数は「割ったあとの余り(剰余)」を返す関数です。
MOD(合計(B2:B4), 2)
  • 上位への繰り上がり(セルA5)を求めるには整数部分を取ればよいです。INT関数(小数点以下を切り捨てる)を使う例:
INT(合計(B2:B4)/2)
この二つを組み合わせると、IF のネストなしでビットと繰り上がりを求められ、よりシンプルでミスが少なくなります。

FAQ

Q1: なぜセルB2に IF(C3+C4=2,1,0) を入れているのですか?
A1: 1の位(C3,C4)を足すと最大で 1+1=2 になるため、合計が 2 の場合のみ「上位へ繰り上がり(1)」が発生します。合計が0か1なら繰り上がりは 0 です。
Q2: 合計が 3 になることはあるのですか?
A2: はい。B2(繰り上がり)=1、B3=1、B4=1 のとき合計は になります。下位ビットは 1、上位にさらに繰り上がり(1)となります。
Q3: ロケールによって関数の区切り文字は違いますか?
A3: はい。日本語Excelではカンマ(,)を使うことが多いですが、環境によってはセミコロン(;)を使う場合があります。問題文の表記(カンマ)に合わせてください。

関連キーワード: 表計算、二進数、2進法、繰り上がり、IF関数、合計関数、MOD関数、ビット演算、SUM関数
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

ITパスポート
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について