郵便番号と住所の関係

個人的に住所録を作る場合には、エクセル以外のソフトで作っているのであまり関係ないが、
以前に「エクセルで住所録を起こしてくれ」と頼まれたことがあった。
少しでも入力の手間を省こうと、郵便番号を入れたら住所が出るように・・・と。
郵便番号を変換すればたやすく住所が表示されることに着目した。
e0080122_8152474.gif

下図で説明すると、E2セルに『=ASC(PHONETIC(B2))』と入力しておく。
そして、住所1の列に住所を入力する際には、『247-0056』などのように郵便番号から変換して住所を入力するようにするのだ。
e0080122_8223334.gif
すると、住所1が確定したら自動的に郵便番号が表示される。
あまり使えないかもしれないが、ちょっとした手間は省けた。
[PR]
# by slayer0210 | 2006-02-15 08:25 | エクセル一般

任意のシートを必要分だけコピーする(12枚)

先日、ある人が明細書の雛形のようなものを見せ、こう言った。
「これを12か月分欲しいから、ケツに12枚コピーして、シートの名前も変更しといて」と。
ちょうど暇だったので、手作業でコピーしても良かったのだが。

Sub シートコピー()
 Dim i As Integer
   For i = 1 To 12
     ’雛形がシート1にあったのだ
     Sheets(1).Copy after:=Sheets(Sheets.Count)
     ActiveSheet.Name = i & "月明細書"
   Next
End Sub
e0080122_1725996.gif

やり方や構文的にはどうあれ、目的のものが出来たので良しとする。
[PR]
# by slayer0210 | 2006-02-12 17:04 | マクロ

オートナンバーのような感じで連番

昨日の続きだが、新しいデータを入力した時のみに番号を表示させたい場合がある。
下図で説明すると、名前を入力した時に番号が表示される、といった具合に。

B3セルに『=IF(ISBLANK(C3),"",ROW()-2)』と入力して必要分だけ下にコピー。
すると、名前の入力がされていない行には番号は表示されない。
e0080122_16181844.gif

ただ、数式にISBLANKをを使う必要性は余りない。単に『=IF(C3="","",ROW()-2)』でも全然構わないのだが、
自分的に" "を連続して使うのはどうも好みでないため、ISBLANKを使用してみた。
e0080122_1624481.gif

[PR]
# by slayer0210 | 2006-02-12 16:24 | エクセル一般

Row関数で連番を作る

何らかの通し場号をつける場合は普通はオートフィルなどで作ったりするのだが(手入力もあるが)
下図のように不必要な行を削除すると番号が崩れてしまう。
e0080122_2319311.gif

連番を崩したくない場合は、ROW関数を使用して作ると便利だ。
下図で説明すると、セルB3に『=ROW()-2』と入力して下方向へコピーする。
すると1から始まる連番がふれる・・・という感じだ。
e0080122_23272734.gif

ここでROW関数について少し触れると、この関数は=ROW()と入力することによって、この式が入力された行番号を返してくれる。
よってB3に入力しているのでまずは行番号の「3」が返る。そこから「-2」することによって連番の頭の「1」という数字が出るということだ。
もちろん、行の削除を行っても連番は崩れない。
e0080122_23323032.gif

[PR]
# by slayer0210 | 2006-02-11 23:33 | エクセル一般

簡単な行挿入と削除

行の挿入や削除を簡単に行うためにはShiftキーを押しながら任意の行数分ドラッグすればよい。
まず、あらかじめ表の中の行を選択しておく(このときに行全体を選択するとだめだが)
そしてShiftキーを押して、マウスを選択した行の右下に持ってくと、下図のような形に変化している。
そのときに任意の行数だけドラッグすれば簡単に挿入できる。
e0080122_83766.gif

また、行を削除する場合は、不必要な行を選択してからShiftキーを押しながらマウスを右下にあわせる。
e0080122_8413376.gif

上図のようにマウスポインタの形が変化したら、任意の行数文だけ上方向へドラッグ。
e0080122_84578.gif

[PR]
# by slayer0210 | 2006-02-10 08:45 | エクセル一般