かけ算九九

18.3. かけ算九九

表作成の練習としてかけ算九九の表を作ってみます.

セルへの入力 #

セルをダブルクリックしたり入力を始めると,そのセルの編集モードになります. 編集後に,タブキー keyboard_tab やエンターキーで確定します.タブ keyboard_tab は右に,エンターは下にフォーカスが移動します.

エスケープキー ESC で編集を破棄して元に戻します.

編集モードの間は,マウスを動かさないことをお勧めします.

数と文字列を区別します.

  • 数 123, 3.14 など. 007 は 7 になります
  • 文字列 abc, a01 など. ‘007 は文字列の 007 になります. 他に日付,時刻,通貨などもありますが,現段階では割愛します.

行・列の入力 #

縦横に1から9のガイドを書きましょう.

左上のセル A1 を空のままにして,つづく 最上段の 行1 と 一番左の 列A に1から9まで数を埋めます セル B1 で 1を入力後に,タブキー keyboard_tab を押すとフォーカスが C1 に映ります

その状態で 2 を押すと2が入った状態で編集モードになるので,もう一度タブを押します.

すると,フォーカスが D1 に映ります. この繰り返しでました.セル J1 の9まで入力しましょう.

横の入力が終わったら縦を入力します.セル A2 に入力後に, エンターキーを押すと,フォーカスが A3 に移ります.

同様に,セル A10 の 9まで埋めましょう.

九九表のひな形が完成しました.しばらくは見た目の良さは考えないことにします.

#

メインの81 マス入力を続けることもできますが,乗算の計算をコンピュータに指せましょう. 九九表は,縦かける横という綺麗な構造を持っていますから,その性質を利用します.

まず,セル B2 の 1かける1 の計算として,

= 1 * 1

と入力します.先頭の = を示す新しい文法です.1 * 1* は乗算の演算子で,全体で 1 と 1 の積を意味します.

セル B2 には 1 と表示されていますが,数式バーには入力した,= 1 * 1 が残っていることに注目してください.

その下の,セル B3 は 1かける2 なので,次のように入力しましょう.

= 1 * 2

セル B3 には 2 と表示されていますが,数式バーには入力した,= 1 * 2 が残っていることに注目してください.

このように,表計算では,計算結果と元の式を区別します.必要に応じてセルと数式バーの両方を確認しましょう.

ところで,かけ算の性質から 列B の式は,積の左の数は 1 のままで,右の数だけ変化します. 右の数は,セルB2ならA2, セルB3ならA3 と隣のAのセルが対応しますね. この性質を利用して,書き換えてみます.

まず,セル B2 の 1かける1 の計算として,= 1 * 1 とかいていましたが,これを = 1 * A2 とします

= 1 * A2

A2 の部分が新しい文法で,式の中でセルIDを使うと,そのセルの値が使われます.このことをセルの 参照 と呼びます. 同様に,セル B3 の 1かける2 の計算として,= 1 * A3 と書き換えます

似たような式を書いていると,コンピュータに意図が伝わって,自動補完 autofill を提案されることがあります. 今回は正しいので accept check しましょう.セル B2 から B10 まで 1から9でそれぞれ埋まっていること,B10 の式 (数式バーを見ます) が = 1 * A10 であることなど,意図通りかどうかを確認してください.

何らかの事情で,autofill の提案がなかった場合も問題ありません.次で書き換えますので,進んでください.

参照と複製 #

先ほど1と何かの乗算を縦に見たことと対象に,横方向に 何かと1との乗算を考えることもできます. 積の最初の数は,それぞれ セル B1, C1, …, J1 と,つまり 行1 にあります.

総合して,初めの 1 かける 1 は,B1 かける A2 と抽象化できます. セル B2 を修正して

= B$1 * $A2

数式バーを確認してください.

この B2 = B$1 * $A2 の数式の意味は,以下のように解釈されます.

\( \underbrace{\texttt{セルの式}}_{\texttt{B2}} = \underbrace{\underbrace{\texttt{同じ列}}_{\texttt{B}}\texttt{の$\underbrace{\texttt{行1}}_{\texttt{\$1}}$のセル}}_{\texttt{B\$1}} \times \underbrace{\underbrace{\texttt{A列}}_{\text{\$A}}\texttt{で}\underbrace{\texttt{同じ行}}_{2}\texttt{のセル}}_{\texttt{\$A2}} \)

セル B2 をコピーして,セル D3 に貼り付けてみましょう.

数式バーで,ペーストされた式を確認しましょう

= D$1 * $A3	

コピー元とコピー先の式で同じ解釈になっていることを確認しましょう.

\( \underbrace{\texttt{セルの式}}_{\texttt{D3}} = \underbrace{\underbrace{\texttt{同じ列}}_{\texttt{D}}\texttt{の$\underbrace{\texttt{行1}}_{\texttt{\$1}}$のセル}}_{\texttt{D\$1}} \times \underbrace{\underbrace{\texttt{A列}}_{\text{\$A}}\texttt{で}\underbrace{\texttt{同じ行}}_{3}\texttt{のセル}}_{\texttt{\$A3}} \)

参照について,コピー元とコピー先で変わらない $ のついた $A$1絶対参照,コピー先に応じて変化する $ なしの B2相対参照 と呼びます.

アクティブなセルの右下の記号 (水色の円 ⬤). をうまくドラッグすると,ドラッグで覆った長方形の範囲のセルに,一括でペーストすることができます.九表を完成させてください.

参考のために,失敗例を示します.

セル B2 の式を = B1 * A2 とするとどうなるでしょうか? これでも B2 は 1かける1になるので,良さそうです. これをコピーペーストしてみるとどうなるでしょうか.

右図のように巨大な数が登場しました.

理由は B2 = B1 * A2 の数式がすべて相対参照で,以下のように解釈されるためです.

\( \underbrace{\texttt{セルの式}}_{\texttt{B2}} = \underbrace{\texttt{1つ上のセル}}_{\texttt{B1}} \times \underbrace{\texttt{1つ左のセル}}_{\texttt{A2}} \)

整形 #

最後に少し整形しましょう.列間が開いているので,スペースを詰めてみます.

列A から 列J を選択します. どこかの列ラベルのうえで右クリックして,Resize columns A-J を選んでください.

ダイアログボックスから,Fit to data を選択します

列間が調整されました

列A行1 は,他と違い九九表の結果ではなく,かけ (られ) る数を表します. そのような行は,Freeze しておくとわかりやすいです. そこで,列1のラベルを右クリックしたメニューで,Freeze up to row 1 を選択します

同様に,列Aのラベルを右クリックしたメニューで,Freeze up to cal A を選択します

別案として罫線を使っても構いません.

これで一旦完成としましょう. 次はテストと採点機能を作ってみます.

Freeze の本来の機能は,1画面に表示しきれないような大きな表があってスクロールして読む必要がある時に,固定して表示しておくことです.
基本用語 previous page 18.3. かけ算九九 next page シェルの活用
このサイトは開発版の はいぱーワークブック です.