ずいぶんと休んでしまいましたが、久しぶりに書いてみようかと思います。
そして久しぶりに書くものはレベルを初心者に毛が生えた程度に落としまして。

Excelで作った書類を印刷して、見せてもらうと、さすがに「綺麗だなー」と思うものがたくさんあるのですが、
さて実際の画面で見てみると、…いろいろ苦労されていらっさるのがよく分かるのがたくさん。
一つの升目として見せたかったのは分かるのですが、改行をしたいがためにセルが6,7個入っていたり…
涙ぐましい例 ←涙ぐましい作業の例

まあ、リストを作って、並べ替えて…というのであれば、これでいいのですが、
ときどき、文章を入れて、自分の思うところで改行したいばっかりに、一段下のセルを使って記述している例が多いように思います。

知らない人はね、「Wordでやればいいのに…」とか思うんですが、
表に仕立てたいときってWord、余計な労力が必要だったりするんですよね。
個人的に私は、みっちり2年半VBAからテンプレートからお付き合いしたこともあって、
複雑な表などを入れた制作物を作る場合は、Excelの方がはるかに好きです。
実のところ、変に複雑なレイアウトを組んで、テンプレートとして置いておきたい場合、Excelの方が使い勝手がよかったりしますが、それはまた別の話。

Excelのセル内で、改行はできるんですよ。
たとえば、こういう文章を入れるとします。

「遠き山に日は落ちて(改行)
星は空を散りばめぬ」

セルは横幅、20文字分取ることにしましょう。
セルを指定して「書式」>「列」>「列の幅」で「20」と入れれば、それで20文字分ですね。
あれ? ご存じない? じゃあ、またの機会に詳しく。

さて、20文字分の幅のセルでは、「セルの書式設定」でいくら、
「改行してセルの幅に収める」を指定していても、変なところで改行してしまいますね。

さて、ここで、文字を入力中に、(改行)の位置で
Altキーを押し続けながらEnterキーを押してみましょう。

あらびっくり。セルの中で改行されてしまいましたよ?

これ、簡易データベースなどに使いたいときにはちょっと邪魔になることもあるかもしれませんが、
レイアウト用にExcelを使いたいときにはとてもいい感じに使えます。お試しください。
あけましておめでとうございます。
「おいおい、1月もう終わりだよ」とお思いでしょうが、まあ旧正月ってことで(笑)。
「新春」て言うんだから、大晦日は新暦2月3日のはず(苦笑)。暦の上では冬ですよまだ。

えーと、2006年しょっぱなの記事がダメ押し記事になりそうですが…

Wordの書式設定の話です。

「ファイル」→「ページ設定」→「文字数と行数」で、「標準の文字数を使う(N)」になってますでしょうか?
10年前のワープロなら、一行字数40字とか決まってましたが、あれはディスプレイ表示の都合や印刷時のヘッドの都合もありますからね。
プロポーショナルフォントの場合、一行字数が決まっていると、めちゃめちゃカッコ悪いことになります。
まず、横書きなら右の揃、縦書きなら下の揃が合わなくなります。
これを合わそうと思って「両端揃い」を設定すると、今度は行内の文字間隔がのびのーびサロンシップ状態になって、これまたカッコ悪い。
というわけで、よほど何かの都合があるならともかく、「文字数と行数を指定する」には、間違ってもチェックを入れないようにしましょう。

あと、余白ですね。
天地左右の余白、デフォルトはかなり大きめです。
天地が35mm、左右が30mmですか。(A4縦使い)
本当にこれで印刷したら、懐石料理並のちんまり表示になります。
一行だけ、次のページに回ったりして。

現在のインクジェットプリンタは、普通に印刷すると、どんなに印刷できないスペースが大きくても、四方のうち地を除いた三方が4mm、地が10mm前後になるはずです。
書類を印刷するなら、10mm四方の余白にしておけば、通常の使い方では紙も無駄が出ずに宜しいかと。
VBAの話を持ち出すとやはり怖気づく方がいろいろと多いのですが(まあ腐ってもプログラミングだし)
「プログラミングができたらもっと便利に使えるんでしょーねー、でも私には無理だわ」と思っているあなた。

Officeには簡単にVBAプログラミングが書けちゃう方法があります。
しかもBASICの文法を知らんでも書ける(それもそれでどうかと思いますが)!

それが本日ご紹介するこの、「自動記録」でございます(テレフォンショッピング調)。
WordにもExcelにもありますが、どちらかといえばExcelで覚えた方が後々お得になるかと思います。
Wordの場合、Wordでやる「繰り返し処理」は「テンプレート」として保存しておいた方がいい事例が多いのではないかと。
(昔は手直しすらできませんでしたね…)

ともかく、「ツール」>「マクロ」と手繰っていくと、録音マークみたいなアイコンのついた「新しいマクロの記録(R)…」というのがありますね。
これをクリックすると、ダイアログボックスがひとつ出てきます。
マクロの名前をつけて(日本語でもかまいません)、マクロの保存先を決めます。
作業中のブックに保存すると、マクロは今開いているブックに保存されます。
「個人用マクロブック」というのに保存すると、Officeの「STARTUP」フォルダに「PERSONAL.xls」というブックが作成され、ここに保存されるようになります。
このSTARTUPに保存されたファイルは、次からそのソフトを起動すると、起動時に一緒に勝手に開いてくれるので、便利といえば便利。
記録させるマクロに合わせて、保存先のブックを変えましょう。

で、準備ができたら「OK」を押します。
さあ、ここからこのソフト上で起きたことは、全てコマンドとなって記録されます。
終了したいときは、記録開始と同時に現れた小さいウィンドウ内の、■ボタン(停止ボタンっぽいですね)を押せば、プロシージャ終了の文字を書き込んで終わりとなります。

ここで「あーやれやれ、これで次から自動でお手軽だな」と思うと、まだまだです。
今記録したマクロには、非常に無駄が多いのです。
たとえばExcel上で、開始時点で選択していたセルも、ばっちりコマンドとなって書き込まれていますので注意。
作業したい場所が見にくいからと、うっかり画面をスクロールさせても記録されるので注意。
まあ、自動記録なので無駄な書き込みが多いんですな。
このままマクロを実行すると、無駄に画面がスクロールしたり、妙なセルを選択したり、ウィンドウが無駄に最小化して元の大きさに戻ったりと、意味不明な動きをしながらということにもなりかねません。
こういう無駄な動きが入っていると、マクロの実行速度自体も落ち、ファイルサイズも大きくなっていいことがありません。

そこで、無駄な動きは消します。

「Visual Basic Editor」を開き、先程記録したマクロを読みます。
なに、初心者英語ですから、恐れることはありません。だいたい、さっきあなたがやった作業のトレースではありませんか。
自信が無いときは、マクロの記録時に、逐一何をやったかメモしておいたらよろしい。
普通、一行で一作業です。
無駄な「Scroll」とかの作業が入っているところを、一行丸ごと削除します。
こうすることによって、無駄な動きはなくなります。

できたら、保存してEditorを終了します。

もちろん、この方法でいつまでも記録していても、高度なプログラミングはできません。
変数を使ったプログラミングは自動記録では作れませんし、繰り返し処理や分岐処理も、自動記録では無理です(考えるまでも無く、当たり前のことですが)。
しかし、箸にも棒にもかからない初心者が、とりあえず動くプログラムを自分ひとりで作ってみることができるという点で、非常によいひとり学習の導入になると思います。
あとは必要に迫られれば、自分で何とかするでしょう。
私も住所録欲しさに年賀状作成ソフトを買いに行き、「8170円か…」とつぶやいて棚に戻し(笑)、家に帰ってExcelを使った簡易宛名打ち出しプログラムを組むことにいたしましたから(笑)。
「高いな…じゃあ自分で作ろう」なんて、2年前は考えもしませんでしたよ。
来年の私が出す年賀状は郵便番号が枠内に書いていませんが、それはプログラムが自作のせいです。レイアウトをきちんと組み上げるのが面倒だったから…
かく言う私も、必要上使えるようになったので、必要と思えば使えるようにはなるんですよ。
BASIC、簡単な方だし。

これ(VBA)を覚えると急に目の前が開けた感じがします。
実際のところはVisual Basic of Applicationで、アプリ用の言語ではあるんですが。(覚えた知識の転用は出来ます)

では、怖がらずに「ツール」>「マクロ」>「Visual Basic Editor」を選択。
051130_1

すると、別の画面が起動します。こんな感じ。
051130_2

もし、右のほうの白い大きなウィンドウが開いてなければ、左上のウィンドウ内で、「標準モジュール―Module1」をダブルクリックしていただくと、出てくるはずです。
051130_3
「そんなものはない!」という向きには、「挿入」>「標準モジュール」を選択してください。出現します。
051130_4

さて、ここからいよいよVBAプログラミングです。
「プログラミング」と聞いて怖じ気づいたあなた。これならどうですか。

ここから-------------------------------------

Public Sub パスワードを作る()
Dim intRand,Suuji,Ohmoji,Komoji,Nextnote,NewPassword As String
NewPassword=""
Randomize
For i = 1 to 8
intRand = Int(Rnd * 3 + 1)
Suuji = Int(Rnd * 10 + 48)
Ohmoji = Int(Rnd * 26 + 65)
Komoji = Int(Rnd * 26 + 97)
Select Case intRand
Case 1
Nextnote = Chr(Suuji)

Case 2
Nextnote = Chr(Ohmoji)

Case 3
Nextnote = Chr(Komoji)

End Select
NewPassword = NewPassword & Nextnote
Next
MsgBox (NewPassword & "なんていかがでしょう?")
End Sub
-----------------ここまで

これをコピーしてペーストすれば一丁上がりです。
ソースだけなら1つ下のセルと関数を使った方法より短い!
「なるほど」と思った方は、もう続きは要りません。あとは便利なようにExcelをカスタマイズして使ってください。
「え? 何が起こったの?!」とお思いの方は、次をご覧ください。
まず、

Public Sub(Subだけでも可) パスワードを作る()

ですが、「ここから1つの作業(プロシージャと言う)を始めるぞ」というオマジナイみたいなものです。
次に、

Dim intRand, Suuji, Ohmoji, (中略) As String

というのは、「この作業ではこういう名前の変数(xとかyとかみたいなもの)を使うぞ、そしてこの変数に代入するのはString(文字列)だぞ」という宣言です。
(変数宣言をしなくても動くことは動くんですが、覚えたいプログラム言語によっては、宣言する癖をつけておいたほうがいいでしょう)
変数の名前は、「これは使っちゃダメだよ」といういくつかの言葉(予約語といいます)を除き、どんな名前でもかまいません。但し、数字と記号で始まる名前はアウト。
露骨なネーミングですが、このぐらい露骨なほうが、後で見直しをするときに分かりやすくて助かります。
わざわざ英単語で名前つけなくてもよいので、分かりやすい名前をつけてください。

本当は、これの次に

Dim i As Integer(iという、代入値整数の変数を使うぞ宣言)

をしてなくては辻褄が合わないのですが(^_^;)

その次に、

NewPassword = ""

は、ダブルクォーテーションで囲った空文字列を変数NewPasswoedに代入し、完全に空にしております。
というのは、変数の宣言をしただけでは、完全に「何も代入されていない状態」という保証がないからです。

ネット上のどっかに、いい喩えをしている方がいらっしゃいました。
「レストランの、空きテーブルを考えればいい。完全に次のお客様を迎える準備が整っている場合もあるが、前に使っていたお客様が立ったばかりで、片付いていない場合もある」
的を射た、いい喩えだと思います。
で、この次の

Randomize

ですが、これは乱数を計算するに当たって、一旦元となる値を初期化するということです。
まあ、「頭をクリアにする」といった方が当たっているかもしれません。私も乱数発生の仕組みはよーわからん。

で、ここから実は、プログラミングのいいところであり、習得が奥深いところの一つ、「構文」になります。
はい、そこの人、英語の時間を思い出して引かないでください。

For i = 1 to 8

というのは、まずiという変数に1を代入し、Next(下の方にありますね)までの一連の処理が終わったら、またこの場所から繰り返し、処理を行うというもの。
しかし、戻ってきたときには、この1に1が加算されて、2になっております。
で、 to 8ということは、8回処理を繰り返したら、もうやめて次の処理に移るということ。

次の4行で、

intRand = Int(Rnd * 3 + 1)
Suuji = Int(Rnd * 10 + 48)
Ohmoji = Int(Rnd * 26 + 65)
Komoji = Int (Rnd * 26 + 97)

というのは、それぞれ、Rndで発生させた乱数を使って、ASCIIコードの番号を発生させています。
前にセルに入力したものと見比べて「あれ?」と思った人、あなたは鋭い。
実は、プログラム上で(セルに入力せずに)乱数を発生させる場合は、RANDではなくてRndなんですよ。紛らわしいですねえ。

次の行は、構文の入れ子構造なんですが、Select Caseという、VBA上で3つ以上の分岐をさせたいときに便利な構文を使っています。

Select Case intRand(今から分岐処理を変数intRandを使ってするぞというオマジナイ)
  Case 1
Nextnote = Chr(Suuji)(変数Suujiを使ってASCIIコードをNextnoteに代入)
Case 2
Nextnote = Chr(Ohmoji)
Case 3
Nextnote = Chr(Komoji)
End Select(分岐処理は終わったぞという勝ち鬨)

これも、前のと見比べると、CHARではなくChrになっています。Excelにおける関数と、VBA上での話とは、ちょっと違う場合もちょこちょこあります。
これで、でたらめに生成された文字(数字かもしれない)が一つ、できあがりました。
パスワードに代入しましょう。

NewPassword = NewPassword & Nextnote

このように書くと、元々NewPasswordに代入されていた文字の後ろに、今しがた生成された文字がくっつき、パスワード自体は一文字分長くなります。
しかも、変数の名前自体は同じNewPasswordを使えるというすばらしさ。

ここまでの作業を、あと7回繰り返させます。。

最後に、メッセージボックスを開き、その中にパスワードを書き込んでみましょう。

MsgBox (NewPassword & "なんていかがでしょう?")

前後に何か言葉をつけたい(「なんていかがでしょう?」みたいに)場合は、その文字列を""で囲み、変数と&でつないでください。

そして、最後に「この作業(プロシージャ)を終わるぞ」という宣言をして終わりです。

End Sub


プログラムとはかくも行儀がよろしいもので。
あと、見やすいようにインデントを適当につけてくださいね。
自分で見にくくすると、今度見たときにイヤになりますから。
ちょっと複雑なので、「脱・初級者!」と思ったときにやってみてください。
少なくとも、セル一つではなかなか難しい。
実はVBAマクロで書いちゃったら一発なんですが、余計にとっつきにくいかと思って。
どっちが複雑なのかな。明らかにこっちの方が手間なんですが。
では、まずスクリーンショットをご覧ください。
051125_1

(図は、RAND関数を外に出して参照させているので、下の説明ではA1の式が入っているところがA2になります)
引きましたか。「何させんねんな」とか思われましたか。
ちなみに、分かりやすくするためにA6-A7の結合セル(水色)にしているところ、この中のでたらめな8桁がパスワードです。
このセルを指定して、Enterキーを押すと、改めてパスワードが計算しなおされます。
使った数式は三種類なんですが。2行目のセルの数式内容がちょっと複雑。

こないだのパスワードの応用なのですが、数字だけでなく、英字が出現しているのは、ASCIIコードという、文字コードを使っているからです。
今日は、この文字コード変換について勉強しましょう。

ASCIIコードというのは、半角の英数字を表示するために、コンピュータでも分かる数字(コンピュータは、ある意味おバカさんなので、数字しか理解できない。プログラム言語も、最終的に機械でも分かる「機械語(数字で出来ている)に変換されて使われる)に、AとかBとかを当てはめて作られました。(1バイト(0~255まで)の数字に変換されるので、1バイト文字と呼ばれます。日本語のような全角文字は2バイト文字と呼ばれてますね。なんでこうなったかは、ネットで調べると出てきますよ)
ASCIIコードの一例を示しますと、たとえばASCIIコード33は、!(エクスクラメーションマーク)です。
ASCIIコードは、改行などの制御文字(0~31、127)や、よく使う括弧などの記号も含めて定められています。
これを使って、乱数発生で作り出した数字を、文字に変換しようというわけですね。
変換する関数が、存在するからです。

まず、1行目のセル(A1)に、
=INT(RAND()*3)+1
と入れます。つまり、RAND関数で発生させた、0以上1以下の乱数に3をかけて、小数点以下を切り捨てた数(0~2になります)に1を足すわけですね。
すると、必ず1~3のどれかになるはずです。

ここからが難しい。
2行目のセル(A2)に入れる数式ですが、2行目のセルで導き出した3つの解、1~3によって、計算式を変えたいのです。
こんなとき、便利なのがIFという論理関数。
「これを使うならVBAの勉強をしたほうが早い」とか何とか言う人も世の中にはいますが…

IF関数の構造を示します。
IF( 「条件式」 , 「条件式が真だった時の数値(数式)」 , 「条件式が偽だった時の数値(数式)」 )
まず、条件式を考えます。
この場合、2行目のセルの値が1~3のどれかなのか、これを考えるわけですから、とりあえず
A2=1
としておきましょうか。
IF関数の中身はこうなります。
IF(A1=1,「条件式が真だった時の数式」,「条件式が偽だった時の数式」)

では、A1=1だったとき(真)の数式を考えてみましょう。
ASCIIコードでは、48~57が半角数字0~9に当てはまります。そこで、とりあえず0~9の整数を、乱数で作ってみることにしましょう。
とすると、まずは
INT(RAND()*10)
ということになります。
しかし、これだけではASCIIコード上の数字を呼び出せませんので、この数値に48を足すことにします。
INT(RAND()*10)+48
すると、ランダムに48~57の数字が答えということになります。
これを、ASCIIコードに変換するための関数、CHAR()のカッコ内に入れれば、完成です。
CHAR(INT(RAND()*10)+48)
IF関数の中身は、
IF(A1=1,CHAR(INT(RAND()*10)+48), 「条件式が偽だったときの数式」 )
になります。

しかし、ここで問題になってくるのは、偽であるときが2通りあることです。
すなわち、A1=2のときと、A1=3のときですね。
実は、IF関数は、その中にIF関数を含めることが出来ます。(ネスト(入れ子)と言います)
では、A1=2が真(つまり、3のときが偽)であるIF関数を、「こうではないか」と考えて作ってみてください。






…できましたか?
IF(A1=2,CHAR(INT(RAND()*26)+65),CHAR(INT(RAND()*26)+97))
ということになります。
アルファベットは26文字あるので、発生した乱数に10ではなく、26をかけます。
さらに、英大文字のASCIIコードは65、小文字のASCIIコードは97から始まるので、それぞれの式に足します。
(ASCIIコードの割り当て表は、ネット上でのいろんなところに紹介されてます)
これを、先程作った、A1=1のときのIF関数の「条件式が偽だったときの数式」の中に入れます。

IF(A1=1,CHAR(INT(RAND()*10)+48),IF(A1=2,CHAR(INT(RAND()*26)+65),CHAR(INT(RAND()*26)+97)))
ちょーっと長くて、大変ですが、式のコピーを上手く利用してみてください。

ここまでの式を、7つ分、横にコピーすれば、8桁のパスワードが一桁ずつ導かれます。

さて、ここまでで出てきたのは、実は一桁の数字であったり、一文字のアルファベットだったりします。
では、これをどうひとつのセルにまとめるか。

で、水色のセルの中身です。
=A1&B1&C1&…&H1
「+」ではなく、「&」でつないでいけば、数字としてではなく、文字列を連結するという形で足せましたよね。

これで完成になります。

こんど、VBAでの「もっとスッキリできるやり方」を練習しましょう。書いててしんどくなった。
まあ、テンキーの話なんですが、よく
「あのっ! 数字が打てないんですが!」と言われます。
Wordなんか使ってると、「なんか数字が打てなくて、変なところにカーソルが動くんですがっ!」

まあ、こうなると、一発で原因判るんですが。

そのテンキーの左上に、「Num Lock」というキーがあります。
これを一回押してみましょう。
入力できるはずです。

テンキーは、よく見ると2、4、6、8の上に矢印も書いてます。
Num Lockが外れていると、カーソルキーの役目をするんです。
妙な動きをするのはそのため。
ですから、Num Lockを押すと、元のように数字が入力できるはず。
機種やログイン画面などでは、さらに「他のキーも効かない」という副作用が出ること有。
こんなときも、まずNum Lockを一回押ししてみてください。
あと、「Caps Lock」と「Scroll Lock」とゆーのがありますが、後者は滅多に押すようなところじゃないし、前者はWinだとShiftキー押しながらでないと効かないので、まあ普通原因はNum Lockでしょう。
覚えておくとパニックの原因が一つ減ります。
銀行の暗証番号に、いまだに番地とかマイカーのナンバーとか電話番号の下4桁とか息子の誕生日とか使ってませんか?
自分と関係あるナンバーは、盗まれたときに犯人も推測しやすいんですね(個人情報も一緒に盗むから)。
しかし、そんなてきとーな番号思いつかないよ、という方。
Excelの関数を使って、てきとーな暗証番号を作れます。
RAND関数と、INT関数を使います。

新しいExcelのファイルを作り、どこでもいいのでセルを指定し、このように入力してください。

=INT(10*RAND())&INT(10*RAND())&INT(10*RAND())&INT(10*RAND())

INT(10*RAND())で、1桁のランダムな数字を生成します。
&でこれらをつないでいくと、それぞれの桁が互いに関係なく、ランダムに生成された数字になる4桁の数字になります。

仕掛けは、まずRAND関数。
これは引数(後ろに()で囲まれた数字や式)を持たない特殊な関数で、0~1の間の数字で、テキトーに数字を生成します。
たとえば、0.348532892547…みたいなもの。

これじゃ整数じゃないし!

と思った人。そのために、RAND関数の前に10*が付いています。
*(アスタリスク)は乗算の算術演算子です。10をかけて、RAND関数で生成された数字を10倍しています。

え? じゃあ、残りの小数部分はどうなったの?

10*RAND()が、INT関数の引数として()で囲まれてますね。
INT関数は、小数部分を切り捨てる関数です。この引数にRAND関数を指定することによって、1桁の正の整数になります。

最後に、この一連の数式をつなぐ&という謎の記号。
これも実は演算子です。文字列を連結するための特殊な演算子で、つまり生成された数字を、足すのではなくくっつけていく(足したら足し算になってしまいますからね)ために使います。
つまり、生成された数字が7、5、4、9なら、

7&5&4&9 = 7549

になるのです。(ちなみに足してしまうと7+5+4+9=25ですかね)
作業を4回繰り返して、&でくっつけているので4桁の暗証番号。
長くしたいときはこの後ろに、ほしいだけ&INT(10*RAND())を繰り返せば、何桁にもなります。

入力できたらEnterキーを押せば、暗証番号のできあがり。
気に入らない場合は、関数を入力したセルをダブルクリックした後、Enterキーを押すと、再計算されますよ。

実はこれを応用して、パスワードもでたらめに生成できたりするんですが、半角英字が入るのでちょっと複雑になります。
アレルギーの人が蕁麻疹出るといけませんので、徐々に慣らしつつおいおい提案していきましょうか。
よく考えたら前回で「関数入力ウィザード」の使い方に触れていませんでしたね(汗)。
慣れるとSUMぐらいは手入力してしまうんでこんな話に。
まあ、だらだら長くなるし、ということで続編として記述。

方法1:「関数入力ウィザード」を使う
ってさっきから言ってんじゃん、という人もいると思いますが、まあできればこっちで慣れていただきたくこの記述でさせていただきます。(引っかかるものがありますね、引っかかっといてください)
ここに「fx」と書いたボタンがありますが、これを押すとこうなります。
051020_1051020_2

このウィンドウで、入れたい関数を選びます。関数リストの箱の下に、選択した関数で何ができるかが表示されます。
もちろん、「○○の計算」などと、やりたいことを上の「検索」の箱に書いて、検索してもいいですよ。
今回はSUMを使うので、この画像では上から三番目にある「SUM」を選びます。SUMをクリックして、反転したら「OK」を押します。
すると、「関数の引数」という名前の窓が開きます。
051020_3
ここに、数値であるとか、セルの名前だとかを入れていきます。セルの名前にしておくと、あとでそのセルの値を変更すればこの数式の結果も変わります。
セルを参照しましょう。「あらあら、一つずつ参照しないといけないのかしら」と心配する必要はありません。
計算させたいセルをいきなり選択します。隣り合うセルを指定したい場合は、そのままドラッグしていけば、このように勝手にセルの名前を入れてくれます。
051020
計算の答えのプレビューは、この窓の下の方に出ています。
指定できたら「OK」。これで完成です。

方法2:「オートSUM」を使う
家計簿程度ならこれでかまわないんですが…それ以上何かしようという人は、上の方法で慣れてください。
ツールバーに「Σ(シグマ)」の記号があるんで、それをクリックします。
051020_5
すると、いきなり「=SUM()」と入力してくれます。
あとは、計算したいセルをマウスで指定し、ドラッグしてEnterキーを押せば数式確定です。
051020_6
横の▼を押すと、他に「平均」「個数」「最大値」「最小値」が選べますが、「その他の機能」を選択すると、
上の関数入力ウィザードが開きます…

Excelの関数は数が多すぎて、全てを使いこなしている人などいません。(その必要が無いから)
ですから、まず関数でどんな計算がしたいのかを、紙に書いて整理し、当てはまる関数を調べてみるのがいいでしょう。
で、前回の続きです。
実際に関数を使ってみましょうか。
051019_1

「なんじゃこりゃ」とお思いの方も多いと思いますが。小難しい言い回しで、実は子供の小遣い帳というオチ(笑)。
まあそんなことはどうでもよろしい。

実は、関数が使われているのは、表の右下のマス目だけ。
この表でいくと、「=SUM(C2:C16)-SUM(D2:D16)」と記入されています。
つまり、当月の全収入-当月の全支出というわけですね。

逆に個別の項目を見ると、Eのセルの値=Cのセルの値-Dのセルの値となっています。
個別の項目、最後の行のEのセルの値が、次月繰越残高の値と一致すれば、計算は合ってる訳ですね。

でですね。
ここで、いちいちEのセルに、縦に似たような数式を入れるのもどうか。
ということで、数式をコピーしてみます。
E2のセルは前月からの繰越ということで、少し異なる式が入るため、E3のセルに先程の式を入れます。
半角で=を入れて、計算したいセルをクリックし、間に半角で+だの-だのを入れていけば、四則混合の式はできあがり。
051019_2

入力し終わったら、「Enter」キーを押しましょう。これで数式は確定。
この状態で、E3セルを選択し、いつかどこかで右下の■を下に向けて引っ張ったように、ドラッグしてみましょう。
051019_3
はい、数式が入りました。
心配な人は対象セルを、どこでもいいから選択して、中の数式を確認してみましょう。
051019_4
上のようになっているはずです。
数字のオートフィルという、前に紹介した技と同じ要領ですね。
最初から入れておけば、何かを入力するごとにいちいちコピーもしなくていいですね。
このシートを丸ごとコピーして、新しいワークシートに貼り付ければ、1から表を作り直す手間だって省けます(笑)。

これで家計簿ができるようになりましたよ奥さん。