E∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
★ あなたの技術をぐ〜んと高めるマガジン ★
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞L
クイズで学ぼう!『エクセル』の小技 241
∞∞∞∞∞∞∞\(^o^)\∞∞∞(*_*);∞∞∞§^O^§∞∞∞∞∞∞∞∞∞∞
◆ 今日の問題 「指定した区分に合致するものだけ色を変えるには」
三重:先生、例えば、下の表のように、男とか女と指定したら、名前の部
分の色が変わるようにはできないのですか?
┏━┳━━━━┯━━━━┯━━━━┯━━━━┯━━━━┓
┃ ┃A │B │C │D │E ┃
┣━╋━━━━┿━━━━┿━━━━┿━━━━┿━━━━┫
┃1┃氏名 │性別 │ │性別 │ ┃
┠─╂────┼────┼────┼────┼────┨
┃2┃大場佳代│女 │ │男 │ ┃
┠─╂────┼────┼────┼────┼────┨
┃3┃山田孝雄│男 │ │ │ ┃
┠─╂────┼────┼────┼────┼────┨
┃4┃山形三重│女 │ │ │ ┃
┠─╂────┼────┼────┼────┼────┨
┃5┃町田聖子│女 │ │ │ ┃
┠─╂────┼────┼────┼────┼────┨
┃6┃早久進 │男 │ │ │ ┃
┠─╂────┼────┼────┼────┼────┨
┃7┃岡誠人 │男 │ │ │ ┃
┠─╂────┼────┼────┼────┼────┨
┃8┃篠田玲子│女 │ │ │ ┃
┠─╂────┼────┼────┼────┼────┨
┃9┃西惰眠 │男 │ │ │ ┃
┗━┻━━━━┷━━━━┷━━━━┷━━━━┷━━━━┛
藤原:つまり、この表でいうと、D2のセルに、男とか女と入れることに
よって男性なり女性なりの名前の色を変えたいんだね。
三重:そうです。
佳代:なるほど、面白そうね。条件を指定して変化させるのね。
三重:そうよ。いろいろやってみたけど、うまくいかないの。
藤原:わかったよ。それじゃあ、今日は、それを問題にしよう。
佳代:わかりました。それでは問題です。上の表のD2に男と入れたら、
A列の氏名の欄の男性の名前に、女と入れたら女性の名前に色がつ
くようにするにはどうしたらいいでしょう?みなさんも、一緒に考
えてくださいね。
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
★ 解答を見る前に,少しだけ考えてね!
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
○ 登場人物紹介
・藤原清盛:塾の先生で,このマガジンの指導役。パソコン歴12年。
・大場佳代:藤原先生の生徒で,パソコン歴3年。
・山形三重:佳代の同級生で,パソコン歴2年半。藤原先生のいとこ。
※ このマガジンは,Microsoftのエクセル2000,2002 の Windows版
のみを扱っています。(たいていの場合、97でも使えます)
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
◆ 解 説 <難易度・・・中級>
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
藤原:これも、よくよく考えると似たようなやつをやったことがあるよ。
三重:そうでしたか?
藤原:もちろん、条件付書式を使う。
三重:それはわかっています。でも、どうやるのですか?
藤原:まずは、A列の名前の部分を範囲指定しよう。
三重:ハイ。A2からA9までを範囲指定しました。
藤原:その段階で、[書式]の[条件付書式]をクリックする。
佳代:この辺は、予想どおりです。
藤原:うん。基本どおりだね。そして、[セルの値が]を[数式が]に変
える。
三重:ハイ、変えました。
藤原:そして、右側のボックスに =B2=$D$2 と入れればいい。
佳代:つまり、B2のセルとD2のセルが等しい場合に書式が変わるというこ
とですね。
藤原:そういうこと。後は、[書式]ボタンをクリックして、色を変えれ
ばいい。
三重:ちょっとやってみます。あっ!女と入れたら、女性の名前だけ色が
つきました。
佳代:電気がついたって感じね。
三重:そうね。それじゃあ、男もやってみます。あっ、うまくいきました。
思ったより簡単ですね。
藤原:うん。前にもちょっとやった、[数式が]をうまく使えるようにな
ると、条件付書式は、応用範囲が広がるよね。いろいろ試して、使
えるようにしてね。
佳代:わかりました。本当に応用範囲が広そうです。みなさんも、是非、
試してみてください。それでは、今日は、この辺で。
-----------------------------------------------------------------
<まとめ> 今回の問題に対する手順のみを示します
-----------------------------------------------------------------
セルA2からA9までを範囲指定
[書式]メニューの[条件付書式]をクリック
[セルの値が]を[数式が]に変える(右側の▼をクリックして)
右側のボックスに =B2=$D$2 と入力
ダイアログボックス内の[書式]ボタンをクリック
「色」から好きな色を選ぶ
順次、OK、OKをクリックして完了
-----------------------------------------------------------------
<補足>
-----------------------------------------------------------------
D2のセルは、固定しますので、絶対参照で行います。
男女の欄は、直接入力してもいいのですが、面倒ですので、クリ
ックで選べるようにしましょう。
D2のセルを選択
[データ]−[入力規則]の「設定」を開く
「入力値の種類」を「リスト」にする
「元の値」のボックスに「男,女」と入力(区切りは半角のコンマ)
これで、D2のセルを選択すると、右側に▼が出ますので、これ
をクリックすることにより、男女が選べます。
E∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
★ あなたの技術をぐ〜んと高めるマガジン ★
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞L
クイズで学ぼう!『エクセル』の小技 242
∞∞∞∞∞∞∞\(^o^)\∞∞∞(*_*);∞∞∞§^O^§∞∞∞∞∞∞∞∞∞∞
◆ 今日の問題 「データ数の多いものから順に並べるには」
佳代:先生、今日は、読者の方の質問からお願いします。
藤原:わかったよ。どんな質問?
佳代:ハイ、ちょっと珍しい質問です。並べ替えの問題なのですが、とに
かくデータの多いものから順に並ぶようにしたいのことです。
三重:データの多いものから順に並ぶ?
佳代:そうよ。ちょっとわかりづらいけど、下の表みたいにするのよ。
【図1】 【図2】
┏━┳━━━━┯━━━━┯━ ┏━┳━━━━┯━━━━┯━
┃ ┃A │B │C ┃ ┃A │B │C
┣━╋━━━━┿━━━━┿━ ┣━╋━━━━┿━━━━┿━
┃1┃トマト │ │ ┃1┃りんご │ │
┠─╂────┼────┼─ ┠─╂────┼────┼─
┃2┃りんご │ │ ┃2┃りんご │ │
┠─╂────┼────┼─ ┠─╂────┼────┼─
┃3┃みかん │ │ ┃3┃りんご │ │
┠─╂────┼────┼─ ┠─╂────┼────┼─
┃4┃バナナ │ │ → ┃4┃りんご │ │
┠─╂────┼────┼─ ┠─╂────┼────┼─
┃5┃りんご │ │ ┃5┃バナナ │ │
┠─╂────┼────┼─ ┠─╂────┼────┼─
┃6┃バナナ │ │ ┃6┃バナナ │ │
┠─╂────┼────┼─ ┠─╂────┼────┼─
┃7┃りんご │ │ ┃7┃みかん │ │
┠─╂────┼────┼─ ┠─╂────┼────┼─
┃8┃みかん │ │ ┃8┃みかん │ │
┠─╂────┼────┼─ ┠─╂────┼────┼─
┃9┃りんご │ │ ┃9┃トマト │ │
┗━┻━━━━┷━━━━┷━ ┗━┻━━━━┷━━━━┷━
藤原:なるほど、データ数の多いものから順に並べるということだね。
佳代:そういうことです。
三重:図1を図2のようにすればいいのね。
佳代:そうよ。
三重:みなさんも一緒に考えてくださいね!
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
★ 解答を見る前に,少しだけ考えてね!
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
○ 登場人物紹介
・藤原清盛:塾の先生で,このマガジンの指導役。パソコン歴12年。
・大場佳代:藤原先生の生徒で,パソコン歴3年。
・山形三重:佳代の同級生で,パソコン歴2年半。藤原先生のいとこ。
※ このマガジンは,Microsoftのエクセル2000,2002 の Windows版
のみを扱っています。(たいていの場合、97でも使えます)
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
◆ 解 説 <難易度・・・中級>
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
藤原:確かに珍しい質問だね。
佳代:本当です。こういう並べ替えは、考えたことがありませんでした。
藤原:この表だけではわからないけど、他にもいろいろなデータが入って
いる場合、何か使い道もあるかもしれないので、勉強しておこう。
佳代:お願いします。
藤原:まず、データの数を数えなければならないよね。
三重:そうですね。数えないと並べ替えの基準がありません。
藤原:そこで、COUNTIF 関数を使ってデータ数を調べる。
佳代:すると、こんな感じですか?
【図3】
┏━┳━━━━┯━━━━┯━
┃ ┃A │B │C
┣━╋━━━━┿━━━━┿━
┃1┃トマト │=COUNTIF(A:A,A1)
┠─╂────┼────╋ ← フィルハンドルでコピー
┃2┃りんご │ ↓ (黒い十字架が出た時点でドラッグ。
┠─╂────┼────↓ この場合は左の列にデータがある
┃3┃みかん │ ↓ ので黒の十字架をダブルクリック
〜〜〜〜〜〜〜〜〜〜〜〜〜↓ すると一瞬でコピーされます)
〜〜〜〜〜〜〜〜〜〜〜〜〜
藤原:そのとおり。どの列でもいいけど、作業用のセルを作り、そこに、
COUNTIF 関数を入れて、データ数を表示させるんだ。
三重:やってみます。
【図4】
┏━┳━━━━┯━━━━┯━
┃ ┃A │B │C
┣━╋━━━━┿━━━━┿━
┃1┃トマト │ 1│
┠─╂────┼────┼─
┃2┃りんご │ 4│
┠─╂────┼────┼─
┃3┃みかん │ 2│
┠─╂────┼────┼─
┃4┃バナナ │ 2│
┠─╂────┼────┼─
┃5┃りんご │ 4│
┠─╂────┼────┼─
┃6┃バナナ │ 2│
┠─╂────┼────┼─
┃7┃りんご │ 4│
┠─╂────┼────┼─
┃8┃みかん │ 2│
┠─╂────┼────┼─
┃9┃りんご │ 4│
┗━┻━━━━┷━━━━┷━
藤原:後は、これを並べ替えればいい。ただし、単純な並べ替えではダメ。
三重:どうしてですか?
藤原:単に、ツールバーの[並べ替え]を使うと、この場合、みかんとバ
ナナは、同じ2個だから、うまく並べ替えられない。
佳代:そうですね。数だけに頼ると、4、2、1しか判断できません。
藤原:そこで、[データ]メニューの[並べ替え]を使う。
三重:ああ、あのごちゃごちゃしたやつですね。
藤原:そう。図4の段階で、データの入っている任意のセルを選択する。
そして、[データ]メニューの[並べ替え]をクリック。
三重:[並べ替え]のダイアログボックスが出ました。
藤原:「最優先されるキー」を「列B」として「降順」を選ぶ。
三重:ハイ。選びました。
藤原:「2番目に優先されるキー」を「列A」とする。これは、昇順、降
順、どちらでもいい。ここでは、「昇順」のままでやろう。
三重:ハイ、あっ!並べ替えられました。
【図5】
┏━┳━━━━┯━━━━┯━
┃ ┃A │B │C
┣━╋━━━━┿━━━━┿━
┃1┃りんご │ 4│
┠─╂────┼────┼─
┃2┃りんご │ 4│
┠─╂────┼────┼─
┃3┃りんご │ 4│
┠─╂────┼────┼─
┃4┃りんご │ 4│
┠─╂────┼────┼─
┃5┃バナナ │ 2│
┠─╂────┼────┼─
┃6┃バナナ │ 2│
┠─╂────┼────┼─
┃7┃みかん │ 2│
┠─╂────┼────┼─
┃8┃みかん │ 2│
┠─╂────┼────┼─
┃9┃トマト │ 1│
┗━┻━━━━┷━━━━┷━
藤原:このように、B列だけでなく、A列にも条件を入れてあげないと、
うまくいかない。並べ替えは、まだまだ奥が深いけど、とりあえず、
この程度までは、自在に使えるようにしてほしいものだね。
佳代:わかりました。みなさんも、是非、やってみてください。それでは、
今日は、この辺で。
-----------------------------------------------------------------
<まとめ> 今回の問題に対する手順のみを示します
-----------------------------------------------------------------
(図1の状態で)セルA2に =COUNTIF(A:A,A1) と入力
フィルハンドルでコピー(図3を参考にしてください)
(図4の状態で)B列のデータが入っている任意のセルにカーソル
を置き[データ]メニューの[並べ替え]をクリック
[並べ替え]のダイアログボックスで、「最優先されるキー」を
「列B」として「降順」を選ぶ
「2番目に優先されるキー」を「列A」とし、[OK]
-----------------------------------------------------------------
<補足>
-----------------------------------------------------------------
=COUNTIF(A:A,A1) の意味は、A列に入っているデータの中から、
A1のセルの内容と同じ物の数を数えるということです。列全体を範
囲としたいときには、「A:A」や「B:B」のように表します。
並べ替えをするときは、必ず、データの入っているセルを選択して
ください。その際、最優先される列のセルを選択しておけば、自動
的に、その列が最優先されるキーの候補として表示されます。
一番上の行がタイトル行のときは[並べ替え]ダイアログボックス
で、「範囲の先頭行」を「タイトル行」に設定してください。そう
すれば、列A、列Bという形ではなく、タイトル行のラベルで並べ
替えることができます。
-----------------------------------------------------------------
<参考> 今回出てきた技に関連したものを示します
-----------------------------------------------------------------
【COUNTIF関数関係】 =COUNTIF(範囲,検索条件)
実用的な関数ですのでいろいろなパターンをマスターしましょう。
http://www.pat.hi-ho.ne.jp/hirosilk/exb011.htm#14
http://www.pat.hi-ho.ne.jp/hirosilk/exb061.htm#65
http://www.pat.hi-ho.ne.jp/hirosilk/exb126.htm#127
http://www.pat.hi-ho.ne.jp/hirosilk/exb166.htm
http://www.pat.hi-ho.ne.jp/hirosilk/exb206.htm#207
http://www.pat.hi-ho.ne.jp/hirosilk/exb226.htm#229
http://www.pat.hi-ho.ne.jp/hirosilk/exb236.htm#238
http://www.pat.hi-ho.ne.jp/hirosilk/exb236.htm#240
E∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
★ あなたの技術をぐ〜んと高めるマガジン ★
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞L
クイズで学ぼう!『エクセル』の小技 243
∞∞∞∞∞∞∞\(^o^)\∞∞∞(*_*);∞∞∞§^O^§∞∞∞∞∞∞∞∞∞∞
◆ 今日の問題 「同じシートにある表を別々に印刷するには」
三重:先生、と、と、友達が・・・。
藤原:どうしたの? 三重ちゃん、そんなにあわてて。
三重:実は、友達に表作りを頼んでおいたのですが、一つのシートに全部
作っちゃったんです。別々に印刷する予定だったのに・・・。
佳代:ああ、郁代ちゃんに頼んだやつね。
三重:そうなのよ。あれほど、別のシートにって強調したのに・・・。
藤原:どのぐらい作ったの?
三重:10個です!
佳代:切り取って別シートに貼り付けるしかないわね。
三重:そうね。でも、何か方法がないかと思って。
藤原:なるほど、それなら、いい方法があるよ。
三重:えっ!あるのですか?
藤原:それじゃあ、今日は、それを問題にしよう。ただし、表と表の間に
区切りがあることが条件だ。
佳代:わかりました。それでは問題です。1つのシートに、作られた複数
の表を別々に印刷するにはどうしたらいいでしょう?ただし、表と
表の間には、空白があるものとします。
三重:みなさんも一緒に考えてくださいね!
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
★ 解答を見る前に,少しだけ考えてね!
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
○ 登場人物紹介
・藤原清盛:塾の先生で,このマガジンの指導役。パソコン歴12年。
・大場佳代:藤原先生の生徒で,パソコン歴3年。
・山形三重:佳代の同級生で,パソコン歴2年半。藤原先生のいとこ。
※ このマガジンは,Microsoftのエクセル2000,2002 の Windows版
のみを扱っています。(たいていの場合、97でも使えます)
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
◆ 解 説 <難易度・・・中級>
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
藤原:今回のケースのように、10個も作ることは少ないと思うけど、2つ
3つ作ることは多いと思う。
三重:そうですね。そのぐらいなら、わたしもあります。
藤原:そこで、例として、下のような表で考えてみよう。
┏━┳━━━━┯━━━━┯━━━━┯━━━━┯━━━━┓
┃ ┃A │B │C │D │E ┃
┣━╋━━━━┿━━━━┿━━━━┿━━━━┿━━━━┫
┃1┃種類 │単価 │数量 │合計 │ ┃
┠─╂────┼────┼────┼────┼────┨
┃2┃りんご │ 60│ 10│ 600│ ┃
┠─╂────┼────┼────┼────┼────┨
┃3┃みかん │ 80│ 20│ 1600│ ┃
┠─╂────┼────┼────┼────┼────┨
┃4┃トマト │ 40│ 30│ 1200│ ┃
┠─╂────┼────┼────┼────┼────┨
┃5┃ │ │ │ │ ┃
┠─╂────┼────┼────┼────┼────┨
┃6┃種目 │人数 │ │ │ ┃
┠─╂────┼────┼────┼────┼────┨
┃7┃サッカー│ 56│ │ │ ┃
┠─╂────┼────┼────┼────┼────┨
┃8┃野球 │ 44│ │ │ ┃
┠─╂────┼────┼────┼────┼────┨
┃9┃水泳 │ 21│ │ │ ┃
┗━┻━━━━┷━━━━┷━━━━┷━━━━┷━━━━┛
佳代:全然違う表ですね。
藤原:そうだね。現実にはありえないと思うけど、それはそれとして、こ
のように、1つのシートに複数の表がある場合、どうしたらいいか
わかればいいわけだよね。
三重:そのとおりです。
藤原:まず、上の表を選択しよう。
三重:ハイ、しました。
藤原:次に、下の表も選択する。
三重:ということは、Ctrlキーを押したまま選択するのですね。
藤原:そのとおり。まずは、普通に、A1からD4まで選択する。そして、
Ctrlキーを押しながら、A6からB9を選択すればいい。
三重:ハイ。基本ですね。離れた範囲を選択する場合の。
藤原:そうだね。そして、[ファイル]メニューの[印刷範囲]から[印
刷範囲の設定]をクリックする。
三重:ハイ。しました。
藤原:これでOK。この状態で、印刷プレビューを見てごらん。
三重:印刷プレビューですね。あっ!一つの表だけが表示されています。
藤原:それじゃあ、[次ページ]のボタンをクリックしてごらん。
三重:ハイ。あっ、もう一つの表が表示されています。
佳代:つまり、印刷範囲の部分が、別ページになったということですね。
藤原:そういうこと。このようなケースは、少なくないだろう。そんなと
きは、この技を使うといい。
佳代:よかったね、三重。この方法でやれば、いちいち、別シートに貼り
付けしなくてすむわね。
三重:ホント、助かりました。
佳代:ちょっとした技ですが、結構役に立ちそうです。みなさんも、是非、
使ってください。それでは、今日は、この辺で。
-----------------------------------------------------------------
<まとめ> 今回の問題に対する手順のみを示します
-----------------------------------------------------------------
1番目の表を選択
Ctrlを押しながら、2番目の表を選択(以後、繰り返す)
[ファイル]メニューの[印刷範囲]から[印刷範囲の設定]を
クリック
印刷プレビューで確認して、印刷する
-----------------------------------------------------------------
<補足>
-----------------------------------------------------------------
表に限らず、特定の列などを印刷したいときや、セル別でも可能で
す。要は、選択範囲別に考えればいいのです。いろいろ試してみて
ください。
E∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
★ あなたの技術をぐ〜んと高めるマガジン ★
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞L
クイズで学ぼう!『エクセル』の小技 244
∞∞∞∞∞∞∞\(^o^)\∞∞∞(*_*);∞∞∞§^O^§∞∞∞∞∞∞∞∞∞∞
◆ 今日の問題「バラバラに入力された生年月日を日付データにするには」
三重:先生、久しぶりに父からの質問です。
藤原:おう、久々だね。どんな質問?
三重:ハイ。下のように生年月日を別々に入力している名簿があります。
これを、きちんとつなげたいのです。
【図1】
┏━┳━━━━┯━━━━┯━━┯━━┯━━━━━━━━┯━━━━┓
┃ ┃A │B │C │D │E │F ┃
┣━╋━━━━┿━━━━┿━━┿━━┿━━━━━━━━┿━━━━┫
┃1┃氏名 │西暦 │月 │日 │ │ ┃
┠─╂────┼────┼──┼──┼────────┼────┨
┃2┃幸村雅彦│ 1940│ 10│ 20│ │ ┃
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
佳代:単に、B2&"年"&C2&"月"&D2&"日" って感じでつなげるだけじゃダメ
なの?
三重:それが、ダメなのよ。前に、自動的に年齢を表示させる方法を教え
ちゃったから、下のように、E列で生年月日を、F列で年齢を入れ
るようにしたいって。
【図2】
┏━┳━━━━┯━━━━┯━━┯━━┯━━━━━━━━┯━━━━┓
┃ ┃A │B │C │D │E │F ┃
┣━╋━━━━┿━━━━┿━━┿━━┿━━━━━━━━┿━━━━┫
┃1┃氏名 │西暦 │月 │日 │生年月日 │年齢 ┃
┠─╂────┼────┼──┼──┼────────┼────┨
┃2┃幸村雅彦│ 1940│ 10│ 20│1940年10月20日 │ 62┃
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
藤原:なるほど、前に(121号)やったものも使うわけだね。
三重:そういうことです。
藤原:それじゃあ、自動的に年齢が表示されるものも含めて問題にしよう。
復習にもなるから。
佳代:わかりました。それでは問題です。生年月日が、図1のようにすで
に、西暦、月、日に分けて入れられているとき、図2のように、E
列にまとめるにはどうしたらいいでしょう?尚、F列には、現在の
年齢が自動で表示されるようにしますので、文字列の連結ではなく、
日付データになるように設定してください。
三重:みなさんも一緒に考えてくださいね。
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
★ 解答を見る前に,少しだけ考えてね!
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
○ 登場人物紹介
・藤原清盛:塾の先生で,このマガジンの指導役。パソコン歴12年。
・大場佳代:藤原先生の生徒で,パソコン歴3年。
・山形三重:佳代の同級生で,パソコン歴2年半。藤原先生のいとこ。
※ このマガジンは,Microsoftのエクセル2000,2002 の Windows版
のみを扱っています。(たいていの場合、97でも使えます)
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
◆ 解 説 <難易度・・・中級>
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
藤原:やさしいけどややこしいという感じの問題かな?
三重:そうですねぇ。年齢の計算はバッチリなのですが・・・。
佳代:日付データにするには、DATE関数を使えばいいわけですよね。
藤原:そのとおり。
三重:DATE関数?年齢を計算するにはDATEDIF関数よね。
佳代:そうよ。
三重:やっぱり、少しややこしいです。
藤原:そうだね。そこで頭を整理してみよう。まずは、DATE関数から。こ
の関数は、数値を日付に変換する関数だ。
佳代:ハイ。このメルマガでははじめてですが、私は知っています。
三重:うっ!さすが、佳代・・・。
藤原:それじゃあ、佳代ちゃん。説明してごらん。
佳代:ハイ。この関数は、 =DATE(年,月,日)で、単なる数値が、日付デー
タに変わります。ですから、E1のセルに、下のように入力すれば、
日付データに変わります。
┏━┳━━━━┯━━━━┯━━┯━━┯━━━━━━━━┯━━━━┓
┃ ┃A │B │C │D │E │F ┃
┣━╋━━━━┿━━━━┿━━┿━━┿━━━━━━━━┿━━━━┫
┃1┃氏名 │西暦 │月 │日 │生年月日 │年齢 ┃
┠─╂────┼────┼──┼──┼────────┼────┨
┃2┃幸村雅彦│ 1940│ 10│ 20│=DATE(B2,C2,D2) │ ┃
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
↓
1940年10月20日
藤原:そうだね。日付の書式は、どのように出てくるかわからないけど、
とにかく日付データが出ることは確かだ。
佳代:そうですね。場合によっては、1940/10/20 と出るかもしれません。
三重:そういう時は、Ctrl+1を押して、セルの書式設定で、表示形式を
変えればいいよね。
藤原:そうだね。[書式]メニューの[セル]でも同じこと。そこの表示
形式を好みのものに変えればいい。どちらにしても、これで、年齢
の計算もできるね。
三重:ハイ。これは、わたしにやらせてください。こんな感じです。
┏━┳━━━━┯━━━━┯━━┯━━┯━━━━━━━━┯━━━━┓
┃ ┃A │B │C │D │E │F ┃
┣━╋━━━━┿━━━━┿━━┿━━┿━━━━━━━━┿━━━━┫
┃1┃氏名 │西暦 │月 │日 │生年月日 │年齢 ┃
┠─╂────┼────┼──┼──┼────────┼────┨
┃2┃幸村雅彦│ 1940│ 10│ 20│1940年10月20日 │ ┃
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜↑〜〜〜
=DATEDIF(E2,TODAY(),"Y")
藤原:よろしい。公式は、=DATEDIF("開始日","終了日","単位")だったよ
ね。
三重:ハイ。単位は、D が、DAYのことで「日」M が、MONTHのことで「月」
Y が、YEARのことで「年」です。今回は、年齢を入れたいのですか
ら、当然、単位は、Y です。
藤原:うん、いいね。復習だけど、よくできているよ。今回のメインは、
数値を日付データにすることだけど、うまく応用すると使えるかも
しれないよ。
佳代:わかりました。研究してみます。みなさんも、是非、うまく使って
くださいね。それでは、今日は、この辺で。
-----------------------------------------------------------------
<まとめ> 今回の問題に対する手順のみを示します
-----------------------------------------------------------------
図1で、セルE2を選択し、=DATE(B2,C2,D2)と入力
セルF2を選択して、=DATEDIF(E2,TODAY(),"Y")と入力
-----------------------------------------------------------------
<補足>
-----------------------------------------------------------------
DATEDIF関数は、関数貼り付け(挿入)ボックスにありませんので、手
入力してください。
単に、見た目だけつなげればいいのであれば、問題文で、佳代ちゃん
が言っているように、B2&"年"&C2&"月"&D2&"日" でもできます。
-----------------------------------------------------------------
<参考> 今回出てきた技に関連したものを示します
-----------------------------------------------------------------
【DATEDIF関数】関係
http://www.pat.hi-ho.ne.jp/hirosilk/exb031.htm#34
http://www.pat.hi-ho.ne.jp/hirosilk/exb121.htm
E∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
★ あなたの技術をぐ〜んと高めるマガジン ★
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞L
クイズで学ぼう!『エクセル』の小技 245
∞∞∞∞∞∞∞\(^o^)\∞∞∞(*_*);∞∞∞§^O^§∞∞∞∞∞∞∞∞∞∞
◆ 今日の問題「くっつけて入力された数値を日付データに変えるには」
三重:先生、前回は、別々に入力された生年月日のデータをくっつけて、
日付データにしましたね。
藤原:そうだったね。
三重:逆にくっつけて入力されたものを日付データにできませんか?
佳代:つまり、一つのセルに、「19870617」のように入力されているいう
ことね。
三重:そうよ。それを日付のデータにしたというわけ。
藤原:わかったよ。それじゃあ、今日は、それを問題にしよう。
佳代:それでは問題です。下の図のようにB列に、生年月日が、連続した
8桁の数字で入っているとします。その数字をC列に、日付データ
として表示させるにはどうしたらいいでしょう。
┏━┳━━━━┯━━━━┯━━━━━━━┯━━━━┓
┃ ┃A │B │C │E ┃
┣━╋━━━━┿━━━━┿━━━━━━━┿━━━━┫
┃1┃辻本望美│19870617│1987年6月17日 │ ┃
┠─╂────┼────┼───────┼────┨
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
三重:みなさんも一緒に考えてくださいね。
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
★ 解答を見る前に,少しだけ考えてね!
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
○ 登場人物紹介
・藤原清盛:塾の先生で,このマガジンの指導役。パソコン歴12年。
・大場佳代:藤原先生の生徒で,パソコン歴3年。
・山形三重:佳代の同級生で,パソコン歴2年半。藤原先生のいとこ。
※ このマガジンは,Microsoftのエクセル2000,2002 の Windows版
のみを扱っています。(たいていの場合、97でも使えます)
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
◆ 解 説 <難易度・・・中級>
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
藤原:今回は、文字列操作関数を使って、一つのセルの文字列を切り出す
形になるね。
三重:やっぱり、DATE関数は使うのですか?
藤原:もちろんだよ。そうしないと、日付データにならないから。
佳代:つまり、=DATE(年,月,日) の「年」「月」「日」の部分に該当する
数字を切り出していけばいいのですね。
藤原:そういうこと。方法は一つではないけど、今回は、せっかくだから
文字列を切り出す3つの関数をすべて使ってやることにするよ。
三重:えーっと、過去にやったことはありましたっけ?
藤原:たぶん、なかったと思う。だから、3つとも新鮮かも。
佳代:そうですね。それじゃあ、その3つを教えてください。
藤原:まずは、文字列の左端から切り出す関数だ。LEFT関数という。
三重:レフトって左ですよね。ということは、右から切り出す RIGHT関数
もあるのですか?
藤原:そのとおり。この二つは兄弟みたいなもので、切り出す方向が違う
だけだ。公式は、
=LEFT(セル番地,文字数) =RIGHT(セル番地,文字数) だ。
三重:なるほど、これを使うと、文字数の分が切り出されるのですね。
藤原:そういうこと。
佳代:すると、真ん中はどうするのですか?
藤原:こちらは、MID 関数を使う。
三重:ミッドですか?
藤原:うん。公式は、=MID(セル番地,開始位置,文字数)だ。
佳代:なるほど、確かに、LEFT や RIGHT と違って開始位置がわからない
と切り出せませんね。
藤原:そうなんだ。LEFT なら左端、RIGHTなら右端という基準があるけど
MID にはない。だから、開始位置を指定しなければならないんだ。
三重:それじゃあ、とりあえず、一つずつやってみます。LEFTとRIGHT で
やってみます。=LEFT(B1,4) =RIGHT(B1,2)でいいのですね。
藤原:そのとおり。
佳代:真ん中はわたしがやります。=MID(B1,5,2)でOKですか?
藤原:もちろん、OKだよ。これで、3つが出揃ったね。それじゃあ、そ
れをDATE関数に入れてみよう。
三重:ハイ、任せてください。C1のセルに下のように入力すればできあ
がりです。
┏━┳━━━━┯━━━━┯━━━━━━━┯━━━━┓
┃ ┃A │B │C │E ┃
┣━╋━━━━┿━━━━┿━━━━━━━┿━━━━┫
┃1┃辻本望美│19870617│ │ ┃
┠─╂────┼────┼───↑───┼────┨
=DATE(LEFT(B1,4),MID(B1,5,2),RIGHT(B1,2))
藤原:正解。言葉で言うと、B1のセルに入っている数値を左から4文字
切り出して、「年」に、5番目から2文字分を切り出して「月」に
右から2文字分切り出して「日」にするということ。これで、数値
が、日付データになった。
三重:セルの中の文字が自由に切り出せるなんて便利ですね。
藤原:そうだね。本来ならば、こんなことしなくてすむように作ってほし
いのだけど、すでにあるものを利用するときは、これらの関数を使
って効率よく処理してほしい。
佳代:わかりました。文字列操作関数は、人からもらったファイルなどを
直すときにも使えますね。いろいろ利用法があると思います。みな
さんも、是非、工夫して使ってください。それでは、今日は、この
辺で。
-----------------------------------------------------------------
<まとめ> 今回の問題に対する手順のみを示します
-----------------------------------------------------------------
セルC1を選択
=DATE(LEFT(B1,4),MID(B1,5,2),RIGHT(B1,2))と入力
-----------------------------------------------------------------
<補足>
-----------------------------------------------------------------
・LEFT関数、MID関数、RIGHT関数は、数字だけでなく文字列を切り出す
場合も使えます。今回は、DATE関数と複合して使いましたが、もちろ
ん、各々、単独でも使えます。
・C1に表示される日付は、1997/6/17 など、セルに設定してある表示
形式によって異なります。表示形式を変えたいときは、下の手順でど
うぞ。
[書式]−[セル]で、[セルの書式設定]のダイアログボッ
クスを出す(Ctrl+1でも出せます)
「表示形式」のタブを開き、「分類」を「日付」にして、好み
の書式を選ぶ
★ エクセルの小技へ ★ | ★ TOPのページへ ★ | ★ 次へ(246〜250) ★ |