カテゴリ:エクセル一般( 55 )

テキストボックス内を任意の行間

テキストボックス内に文字を多数入力すると、通常は下図のように入って行く。
e0080122_1012481.gif

ピタッとした行間で文章が読みづらい場合は、テキストボックスの書式設定を使用してこれを任意の幅に変えてみる。
e0080122_10151170.gif

テキストボックスをダブルクリックなどして、テキストボックスの書式設定を表示させる。
配置タブ → 縦位置(均等割り付け) に変更する。
複数行の場合、両端揃えでもあまり結果は変わりないが。。。
e0080122_10211126.gif

このように、テキストボックス内での行間が広がる。
もちろん後でテキストボックスを縦方向にサイズ変更しても、その範囲内で行間が広がるので便利だ。
[PR]
by slayer0210 | 2006-03-20 10:23 | エクセル一般

テキストボックスのサイズ調整

文字を入力する際に、セルに入力するのではなく、テキストボックスに文字を入力して
それを自由にレイアウトする場合が多々ある。
テキストボックスボタンをクリックして、シート上でドラッグするとテキストボックスは作成されるが
その際のテキストボックスは、塗りつぶしの色が白、線の色は自動になってると思う。

しかし、シート上でドラッグするのではなく、クリックして作成したテキストボックスは、塗りつぶしの色がなし、線の色もなしになっている。(自分のPCだけだろうか・・・?)
オマケに文字列の長さに応じて自動でサイズも変更してくれるので非常に便利だ。
e0080122_821193.gif

[PR]
by slayer0210 | 2006-03-17 08:22 | エクセル一般

IndexとMatchを使用した表

Index関数、Match関数の組み合わせは意外と便利だったりする。
今回は、下図のような料金表を作ってみた。
e0080122_9593626.gif

C11に行の検索値である任意のメニューを入力し(この場合はカツカレー)
D11に列の検索値の"普通盛"や"大盛"などの文字を入力する。
これらの文字列を表から検索し、料金を表示させてみた。

E11に『=INDEX(C3:E9,MATCH(C11,B3:B9,0),MATCH(D11,C2:E2,0))』と入力すれば、料金が表示されてくる。
ちょっと地味だが、意外と便利だ。
[PR]
by slayer0210 | 2006-03-10 10:06 | エクセル一般

市外局番を括弧の中に

今現在、住所録をまとめているが、その時に「市外局番だけは括弧の中に表示させたいが・・・」と言われた。
今までは『×××-×××-××××』のような形式で表示されていて、それを『(×××)×××-××××』
に変更せねばいけないようだ。
e0080122_14523524.gif

こんなときはSUBSTITUTE関数を使うと便利だった。
上図で簡単に説明すると、任意のセル(この場合はD3)に
="(" & SUBSTITUTE(C3,"-",") ",1)』と数式を入れる。
すると、市外局番が見事に括弧の中に納まった。

ここでポイントなのは、この数式で指定している『1』だが、これは検索対象1番目の文字列だけを置き換える、という意味だ。
[PR]
by slayer0210 | 2006-03-09 15:00 | エクセル一般

5円単位で表示する

最近、お金のやり取り時に「1円玉があると面倒くさいから、最小単位を5円にしませんか?」との提案があった。
確かに今までは税込価格に直すと、かなりハンパな金額などが出てきてた。
e0080122_2351528.gif

こんな場合はMROUND関数を使うと便利だ。
式は、『=MROUND(数値,倍数)』 というような感じだ。
今回は5円単位にしたかったので、倍数に5を入れた。

ただ、この関数を使用する場合は、分析ツール アドインを組み込まなければならない。
e0080122_23132080.gif

メニューバー「ツール」 → 「アドイン」 で上図のダイアログが開くので分析ツールにチェックを入れる。
[PR]
by slayer0210 | 2006-03-07 23:15 | エクセル一般

関数でシート名を返す

ちょっと前の話だが、「任意のセルにシート名を表示させたいんだけど・・・」と頼まれたことがあった。
最近ではマクロ等を使って求めるケースが多かったが、初心に戻って関数で求めてみた。
シート名などを求める場合はCELL関数を使用すると便利だ。
=CELL("filename")』この式を求めたいセルに入力する。
すると少々長いがシート名が絶対パスの形で表示される。
e0080122_17463115.gif

ま、絶対パスのままでも構わないのだが、シート名だけって場合にはちょっと加工して
=MID(B2,FIND("]",B2)+1,LEN(B2)-FIND("]",B2))』という式を立ててみた。
これだとシート名だけが表示されてスッキリしている。
勿論、式一つでも大丈夫だが、あまりにも長々とした数式は自分的に興ざめするので、B2を作業セルに見立てた。
[PR]
by slayer0210 | 2006-03-04 17:50 | エクセル一般

セルの内容を横方向へ分割する

以前にある人から、「請求書などで使いたいので、1つのセルに入っている金額などを1個ずつ別のセルに分割してくれ」と言われたことがあった。
下図で説明すると(図が単純たが・・・)内容を横方向へ分割するためにはCOLUMN関数を使うと便利なので、
B2に『=MID($I$4,COLUMN()-1,1)』と入力しあとはコピーする。
しかし、このままでは左にそろった状態なので多少体裁が悪かった。

で、右揃えで表示させたかったのでB4セルに
=MID(REPT(" ",6-LEN($I$4)) & $I$4,COLUMN()-1,1)』と入力。
この式の説明で数字の「6」だが、自分の仕事内容では6桁以上の数字を入力することはないので
桁数を6桁に限定しただけだが。
必要に応じてここの桁数は変更してもいいと思う。
e0080122_9424922.gif

[PR]
by slayer0210 | 2006-02-22 09:45 | エクセル一般

REPT関数

REPT関数は指定した文字列を指定した数だけ返してくれる便利?な関数だ。
例えば下図のように、『=REPT("■",C3)』と入力すれば、その数だけ■を返す。
繰り返し回数に小数点などを指定すると、切り捨てられてしまう。指定できるのはあくまでも正の整数だ。
e0080122_15503558.gif

実際には、こんな形でグラフを作る人がいるとは思えないが、そっけない表が少し派手になってよかった。
[PR]
by slayer0210 | 2006-02-20 15:53 | エクセル一般

行数と列数を求める

以前にROW関数で行番号などを求めてみたが、今回は選択した範囲の行数と列数を。
個人的にはマイナーな関数だ。
下図の、グレーで塗りつぶされた範囲の行数列数を数えてみる。
行数を数えるときは、任意のセルに『=ROWS(B4:E15)』と入力する。
列数は『=COLUMNS(B4:E15)』だ。
e0080122_1838995.gif

やはりマイナーではあるが、何かの折には使えるかもしれない。
[PR]
by slayer0210 | 2006-02-17 18:40 | エクセル一般

郵便番号と住所の関係

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

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