E∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
   ★ あなたの技術をほんのちょっとだけ高めるマガジン ★
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞L

       クイズで学ぼう!『エクセル』の小技 121

∞∞∞∞∞∞∞\(^o^)\∞∞∞(*_*);∞∞∞§^o^§∞∞∞∞∞∞∞∞∞∞

◆ 今日の問題 「自動的に年齢が更新されるようにするには」

三重:先生、また、父から質問を受けました。
藤原:おう、三重ちゃん、頼られているね。
三重:そうなんです。最近、会社で、使うようになったので、いろいろ質
   問してくるんです。
佳代:先生に聞けばわかるだろうって思っているのね。
三重:そうなのよ。おまえの勉強にもなるだろって言って。
藤原:ところで、今回はどんな質問なの?
三重:ハイ、社員名簿があるのですが、年齢の欄をいちいち直すのが面倒
   だといっています。そこで、誕生日がきたら自動的に年齢が更新さ
   れるようにできないかということです。
藤原:なるほど、そのぐらいなら三重ちゃんでもできるんじゃない。
三重:そうなんです。できそうな気もするのですが・・・。
藤原:それじゃあ、それを問題にしよう。わかりやすいように、あらかじ
   め表を提示しておくよ。
┏━┳━━━━━━┯━━━━━━━┯━━━━━━┯━━━━━━┓
┃ ┃A     │B      │C     │D     ┃
┣━╋━━━━━━┿━━━━━━━┿━━━━━━┿━━━━━━┫
┃1┃      │       │      │      ┃
┠─╂──────┼───────┼──────┼──────┨
┃2┃氏名    │生年月日   │年齢    │      ┃
┠─╂──────┼───────┼──────┼──────┨
┃3┃道田美智雄 │1957年10月15日│      │      ┃
┠─╂──────┼───────┼──────┼──────┨
┃4┃山田正男  │1966年8月6日 │      │      ┃
┠─╂──────┼───────┼──────┼──────┨
┃5┃柳田元雄  │1972年4月6日 │      │      ┃
┠─╂──────┼───────┼──────┼──────┨
┃6┃新発田光男 │1978年10月10日│      │      ┃
┗━┻━━━━━━┷━━━━━━━┷━━━━━━┷━━━━━━┛
佳代:わかりました。それでは問題です。上のような社員名簿で、誕生日
   が来ると自動的に年齢が更新されるようにするにはどうしたらいい
   でしょう?みなさんも一緒に考えてくださいね。

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
★ 解答を見る前に,少しだけ考えてね!
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞

○ 登場人物紹介

・藤原清盛:塾の先生で,このマガジンの指導役。パソコン暦10年。

・大場佳代:藤原先生の生徒で,パソコン暦1年。

・山形三重:佳代の同級生で,パソコン暦6ヶ月。藤原先生のいとこ。

※ このマガジンは,マイクロソフトのエクセル97,2000のWindows版
  のみを扱っています。

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
◆ 解 説 <難易度・・・中級>
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
藤原:勘のいい読者なら、一番上の行が何故空いているのかと考えるだろ
   うね。
佳代:もちろんです。ここに、今日の日付を入れます。
藤原:そう。もちろん、どのセルに入れてもいいのだけれども、わかりや
   すいように、一番上のセルに入れるよ。
┏━┳━━━━━━┯━━━━━━━┯━━━━━━┯━━━━━━┓
┃ ┃A     │B      │C     │D     ┃
┣━╋━━━━━━┿━━━━━━━┿━━━━━━┿━━━━━━┫
┃1┃      │       │今日の日付 │=TODAY()  ┃
┠─╂──────┼───────┼──────┼──────┨
┃2┃氏名    │生年月日   │年齢    │      ┃
┠─╂──────┼───────┼──────┼──────┨
┃3┃道田美智雄 │1957年10月15日│      │      ┃
┠─╂──────┼───────┼──────┼──────┨
┃4┃山田正男  │1966年8月6日 │      │      ┃
┠─╂──────┼───────┼──────┼──────┨
┃5┃柳田元雄  │1972年4月6日 │      │      ┃
┠─╂──────┼───────┼──────┼──────┨
┃6┃新発田光男 │1978年10月10日│      │      ┃
┗━┻━━━━━━┷━━━━━━━┷━━━━━━┷━━━━━━┛
佳代:ハイ、これで、D1のセルに、今日の日付が自動的に入ります。
藤原:そうだね。これまで、何度も勉強した、TODAY 関数だ。これで、準
   備はOKだ。
三重:その次がわからないのです。
藤原:でもね、三重ちゃん、実は、この技は、前にやったものの応用だよ。
三重:えっ!そんなのやりましたっけ?
藤原:実は、かなり昔のことになるけど、生まれてから何日経ったかを求
   めたことがあったよね。(注:第34号)
三重:あっ!そういえばありましたねぇ。
藤原:そのときは、期間内の日数を求めたわけだけれども、年数や月数も
   求められるよと言ったはずだけど覚えているかな?
三重:えーっと、すっかり忘れました。
藤原:それじゃあ、復習しよう。佳代ちゃんは覚えている?
佳代:ハイ、わたし、この関数を使っていますから。
藤原:それじゃあ、公式を言ってごらん。
佳代:ハイ、=DATEDIF(開始日,終了日,"単位")です。
藤原:そのとおり。さすがに使っているだけあって、覚えているね。
佳代:そうですね。やはり、使わないと忘れてしまいます。
藤原:今回も、当然、この DATEDIF関数を使う。しかし、前回とは違って
   少し注意しなければならないところもあるから、しっかりマスター
   しよう。
三重:わかりました。
藤原:まず、この関数は、関数ボックスにないから、手入力しなければな
   らない。
三重:ハイ。
藤原:そして、開始日は、生年月日のセルを選べばいいし、終了日は、今
   日の日付を選べばいい。
三重:すると、=DATEDIF(B3,D1,"Y")ってやればいいのですか?
藤原:おう、だいたいあっているよ。「Y」をよく覚えていたね。
三重:そのぐらいは覚えています。「Y」は「YEAR」ってことです。
藤原:そうだったね。前にやったのは、「D」つまり「DAY」だ。「M」だっ
   たら「MONTH」ということだったね。
三重:ハイ、それは大丈夫です。
藤原:しかし、今回は、たくさんの人間の年齢を求めるわけだから、三重
   ちゃんの式だとコピーするときずれてしまって不都合になる。
三重:あっ、わかりました。コピーしても、ずれないように、D1は、絶対
   参照にするのですね。
藤原:そう、だから、=DATEDIF(B3,D1,"Y" )ではなく、D1の部分を絶対参
   照にして=DATEDIF(B3,$D$1,"Y")とした方がいい。
三重:わかりました。そうすれば、後は、フィルハンドルでコピーすれば
   いいわけですね。
藤原:そういうこと。絶対参照にするときは、D1の上にカーソルを置いて、
   F4キーを押せば簡単だから覚えておいてね。
佳代:大丈夫です。いちいち $ を入力するのは面倒ですから。
┏━┳━━━━━━┯━━━━━━━┯━━━━━━┯━━━━━━┓
┃ ┃A     │B      │C     │D     ┃
┣━╋━━━━━━┿━━━━━━━┿━━━━━━┿━━━━━━┫
┃1┃      │       │今日の日付 │=TODAY()  ┃
┠─╂──────┼───────┼──────┼──────┨
┃2┃氏名    │生年月日   │年齢    │      ┃
┠─╂──────┼───────┼──────┼──────┨
┃3┃道田美智雄 │1957年10月15日│=DATEDIF(B3,$D$1,"Y")   ┃
┠─╂──────┼───────┼──────┼──────┨
┃4┃山田正男  │1966年8月6日 │      │      ┃
┠─╂──────┼───────┼──────┼──────┨
┃5┃柳田元雄  │1972年4月6日 │      │      ┃
┠─╂──────┼───────┼──────┼──────┨
┃6┃新発田光男 │1978年10月10日│      │      ┃
┗━┻━━━━━━┷━━━━━━━┷━━━━━━┷━━━━━━┛
藤原:これで、Enter を押すと、道田さんの年齢が、43と入る。後は、い
   つものとおり、左側にデータが入っている場合は、フィルハンドル
   でドラッグするのではなく、フィルハンドルの十字架が出たタイミ
   ングでダブルクリックすれば、一瞬で、データが入る。
┏━┳━━━━━━┯━━━━━━━┯━━━━━━┯━━━━━━┓
┃ ┃A     │B      │C     │D     ┃
┣━╋━━━━━━┿━━━━━━━┿━━━━━━┿━━━━━━┫
┃1┃      │       │今日の日付 │2001 9 15  ┃
┠─╂──────┼───────┼──────┼──────┨
┃2┃氏名    │生年月日   │年齢    │      ┃
┠─╂──────┼───────┼──────┼──────┨
┃3┃道田美智雄 │1957年10月15日│     43│      ┃
┠─╂──────┼───────┼──────┼──────┨
┃4┃山田正男  │1966年8月6日 │     35│      ┃
┠─╂──────┼───────┼──────┼──────┨
┃5┃柳田元雄  │1972年4月6日 │     29│      ┃
┠─╂──────┼───────┼──────┼──────┨
┃6┃新発田光男 │1978年10月10日│     22│      ┃
┗━┻━━━━━━┷━━━━━━━┷━━━━━━┷━━━━━━┛
佳代:こうしておけば、もし誕生日がきたら自動的に、年齢も更新される
   のですね。
藤原:そのとおり。年齢を入れる名簿を作っている人には便利だよね。
三重:ホントですね。これで、父も喜ぶと思います。
藤原:ただ、ときどき、年齢がうまく表示されないときがある。
三重:えっ、どんなときですか?
藤原:うん、例えば、セルの表示形式が日付などになっているときだ。
三重:どうしたら直るのですか?
藤原:もし、年齢の欄に、変な数字が出てきたら、そのセルを選択して、
   [書式]の[セル]から、表示形式を「標準」にしてみよう。そうすれ
   ば大丈夫。
佳代:わかりました。簡単な技ですが、使うことが多そうな技ですので、
   みなさんも是非試してみてください。それでは、今日はこの辺で。


E∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
   ★ あなたの技術をほんのちょっとだけ高めるマガジン ★
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞L

       クイズで学ぼう!『エクセル』の小技 122

∞∞∞∞∞∞∞\(^o^)\∞∞∞(*_*);∞∞∞§^o^§∞∞∞∞∞∞∞∞∞∞

◆ 今日の問題 「商品番号を入れると商品名が入るようにするには」

三重:先生、この前、佳代が言っていた、何とかルックアップ関数って何
   ですか?
藤原:ああ、VLOOKUP関数ね。
佳代:わたしが解説を間違えちゃったやつね。忘れたいわ。
藤原:まあ、そう言わずに。誰にも間違いはあるのだから。
佳代:ハイ・・・。
藤原:先生もうっかりしていたけど、このメルマガでは、この関数は、ま
   だ、ちゃんと勉強していなかったんだ。今回は、基本に戻って、簡
   単な問題を出すよ。
三重:お願いします。
藤原:それでは、こんなやつでいこう。A列に、D列の商品番号を入れる
   と自動的にB列に商品名が入るという単純なものを問題にするよ。
┏━┳━━━━┯━━━━┯━━━━┯━━━━┯━━━━┓
┃ ┃A   │B   │C   │D   │E   ┃
┣━╋━━━━┿━━━━┿━━━━┿━━━━┿━━━━┫
┃1┃商品番号│商品名 │    │商品番号│商品名 ┃
┠─╂────┼────┼────┼────┼────┨
┃2┃    │    │    │    1│みかん ┃
┠─╂────┼────┼────┼────┼────┨
┃3┃    │    │    │    2│りんご ┃
┠─╂────┼────┼────┼────┼────┨
┃4┃    │    │    │    3│バナナ ┃
┠─╂────┼────┼────┼────┼────┨
┃5┃    │    │    │    4│キウイ ┃
┠─╂────┼────┼────┼────┼────┨
┃6┃    │    │    │    5│いちご ┃
┗━┻━━━━┷━━━━┷━━━━┷━━━━┷━━━━┛
佳代:わかりました。上の表のA列に商品番号を入れると、自動的にB列
   にB列に商品名が入るようにするにはどうしたらいいでしょう。ヒ
   ントは、問題文にあります。みなさんも一緒に考えてくださいね。

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
★ 解答を見る前に,少しだけ考えてね!
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞

○ 登場人物紹介

・藤原清盛:塾の先生で,このマガジンの指導役。パソコン暦10年。

・大場佳代:藤原先生の生徒で,パソコン暦1年。

・山形三重:佳代の同級生で,パソコン暦6ヶ月。藤原先生のいとこ。

※ このマガジンは,マイクロソフトのエクセル97,2000のWindows版
  のみを扱っています。

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
◆ 解 説 <難易度・・・中級>
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
藤原:これは、VLOOKUP関数の基本問題だね。
佳代:ハイ。わたしもよく使います。
藤原:非常に便利な関数だし、応用範囲も広いから、是非覚えよう。
三重:わかりました。
藤原:まず、この関数は、指定された表の左端列と一致する値をそれを含
   む行から取り出す役目をする。
三重:つまり、表の一番左の数字と一致する同じ行にあるものを取り出せ
   るのですね。
藤原:そういうこと。今回の表は、2列だけど、何列あってもいい。指定
   した列のものを取り出すことができる。
佳代:この表なら、1を選ぶと、1と同じ行にある「みかん」を取り出せ
   るということですね。
藤原:そのとおり。
   そして、公式は、=VLOOKUP(検索値,表の範囲,列番号,検索の型)とい
   うことになる。
佳代:検索値は、通常、数字を入れるセル番地です。
藤原:うん。そして、表の範囲はわかるよね。参照する表の範囲を入れれ
   ばいい。そして、列番号は、左から何番目ということ。ここでは、
   2列しかないから、2でいいけど、何列もある場合は、場合に応じ
   て、列番号を入れる。
佳代:そして、検索の型ですが、これを前にうっかり間違ってしまいまし
   た。
藤原:そう、せっかくだから、よく覚えておこう。今回は、数字と完全一
   致するものを選ぶわけだけど、VLOOKUP 関数は、完全一致だけでな
   く、数値の範囲内のものを取り出すことができる。そこで、完全一
   致の場合は、検索の型に0を入れると覚えておこう。
佳代:すると、こんな風になります。
┏━┳━━━━┯━━━━┯━━━━┯━━━━┯━━━━┓
┃ ┃A   │B   │C   │D   │E   ┃
┣━╋━━━━┿━━━━┿━━━━┿━━━━┿━━━━┫
┃1┃商品番号│商品名 │    │商品番号│商品名 ┃
┠─╂────┼────┼────┼────┼────┨
┃2┃    │=VLOOKUP(A2,$D$2:$E$6,2,0) 1│みかん ┃
┠─╂────┼────┼────┼────┼────┨
┃3┃    │    │    │    2│りんご ┃
┠─╂────┼────┼────┼────┼────┨
┃4┃    │    │    │    3│バナナ ┃
┠─╂────┼────┼────┼────┼────┨
┃5┃    │    │    │    4│キウイ ┃
┠─╂────┼────┼────┼────┼────┨
┃6┃    │    │    │    5│いちご ┃
┗━┻━━━━┷━━━━┷━━━━┷━━━━┷━━━━┛
藤原:そうだね。後で、コピーする関係上、表は、$ マークのついた絶対
   参照を使った方がいいね。
三重:これで、1を入れると、みかん、2を入れると、りんごという感じ
   になるのですね。
藤原:そういうこと。これは、仕事などで使う人も多いと思うよ。
佳代:さらに、前にも説明したのですが、先に式を入れる場合、エラーが
   出ないように、=IF(ISBLANK(A2),"",VLOOKUP(A2,$D$2:$E$6,2,0))
   とやれば、何も入れなければ空白のままで、数値が入ったときに、
   この関数が働きます。
藤原:いいだろう。会社などで使う場合は、是非、そうしてほしいね。そ
   うすれば、エクセルをよく知らない人でも、数字さえ入れればいい
   わけだから。
佳代:そうですね。へんなエラーなどが出ると、普通の人は触りたくなく
   なりますから。
藤原:そんなわけで、これを機会にこの関数を使えるようにしてね。
佳代:わかりました。かなり実用的な関数ですから、みなさんも是非愛用
   してください。それでは今日はこの辺で。


E∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
   ★ あなたの技術をほんのちょっとだけ高めるマガジン ★
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞L

       クイズで学ぼう!『エクセル』の小技 123

∞∞∞∞∞∞∞\(^o^)\∞∞∞(*_*);∞∞∞§^o^§∞∞∞∞∞∞∞∞∞∞

◆ 今日の問題 「距離を入れると交通費が表示されるようにするには」

三重:先生、今度は、知り合いの方からの質問です。
佳代:三重って、よく質問を受けるのねぇ。
三重:そうなんです。何故かわからないけど、みんなわたしに頼るんです。
藤原:いいことじゃないか。ところで、どんな質問なの?
三重:ハイ。実は、その方は、会社で事務をやっているのですが、バイト
   に支払う交通費が複雑で悩んでいるんです。
藤原:どんな風に?
三重:ええ。何でも、車の走行距離が、20キロまでは、200円で、20キロか
   ら40キロまでが、500円。40キロから50キロが、600円で、50キロか
   ら70キロまでが、800円、70キロ以上が、1000円ということです。
佳代:何だかメチャクチャね。
三重:しかも、バイトが記入するのは、42キロとか、実際に走った距離を
   書くそうです。それで、何とか簡単にできないかと・・・。
藤原:そうか。それじゃあ、今回は、それを問題にしよう。下の表で考え
   てね。
┏━┳━━━━┯━━━━┯━━━━┯━━━━┯━━━━┯━━━━┓
┃ ┃A   │B   │C   │D   │E   │F   ┃
┣━╋━━━━┿━━━━┿━━━━┿━━━━┿━━━━┿━━━━┫
┃1┃日付  │走行距離│交通費 │    │交通費早見表   ┃
┠─╂────┼────┼────┼────┼────┼────┨
┃2┃9月22日 │   55│    │    │距離(km)│交通費 ┃
┠─╂────┼────┼────┼────┼────┼────┨
┃3┃9月23日 │   26│    │    │20km未満│   200┃
┠─╂────┼────┼────┼────┼────┼────┨
┃4┃9月24日 │   12│    │    │20〜40 │   500┃
┠─╂────┼────┼────┼────┼────┼────┨
┃5┃9月25日 │   76│    │    │40〜50 │   600┃
┠─╂────┼────┼────┼────┼────┼────┨
┃6┃    │    │    │    │50〜70 │    800┃
┠─╂────┼────┼────┼────┼────┼────┨
┃7┃    │    │    │    │70km以上│  1000┃
┗━┻━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┛
佳代:わかりました。それでは問題です。上のような表を使って、実際に
   走った距離を記入することによって自動的に交通費を出すにはどう
   したらいいでしょう。みなさんも一緒に考えてくださいね。尚、表
   中の、20〜40とは、20km以上40km未満を表しています。
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
★ 解答を見る前に,少しだけ考えてね!
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞

○ 登場人物紹介

・藤原清盛:塾の先生で,このマガジンの指導役。パソコン暦10年。

・大場佳代:藤原先生の生徒で,パソコン暦1年。

・山形三重:佳代の同級生で,パソコン暦6ヶ月。藤原先生のいとこ。

※ このマガジンは,マイクロソフトのエクセル97,2000のWindows版
  のみを扱っています。

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
◆ 解 説 <難易度・・・中級>
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
佳代:これは、前回もやった、VLOOKUP関数を使うのですね。
藤原:そういうこと。前回は、完全一致のものをやったよね。今回は、範
   囲のあるものをやる。
佳代:すると、この表では、C列に範囲を表す数値を入れるのですね。
藤原:そのとおり。まず、それを入れてみるよ。
┏━┳━━━━┯━━━━┯━━━━┯━━━━┯━━━━┯━━━━┓
┃ ┃A   │B   │C   │D   │E   │F   ┃
┣━╋━━━━┿━━━━┿━━━━┿━━━━┿━━━━┿━━━━┫
┃1┃日付  │走行距離│交通費 │    │交通費早見表   ┃
┠─╂────┼────┼────┼────┼────┼────┨
┃2┃9月22日 │   55│    │    │距離(km)│交通費 ┃
┠─╂────┼────┼────┼────┼────┼────┨
┃3┃9月23日 │   26│    │    1│20km未満│   200┃
┠─╂────┼────┼────┼────┼────┼────┨
┃4┃9月24日 │   12│    │   20│20〜40 │   500┃
┠─╂────┼────┼────┼────┼────┼────┨
┃5┃9月25日 │   76│    │   40│40〜50 │   600┃
┠─╂────┼────┼────┼────┼────┼────┨
┃6┃    │    │    │   50│50〜70 │    800┃
┠─╂────┼────┼────┼────┼────┼────┨
┃7┃    │    │    │   70│70km以上│  1000┃
┗━┻━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┛
佳代:わぁ〜、予想どおりです。
三重:どうして?
佳代:前に、間違えちゃったときに、答えは正しかったでしょ。だから、
   先頭の数字と同じものが一致するはずなのよ。
三重:あっ、そうか。完全一致にしていないのに答えが正しかったという
   ことは、その数字が必ず含まれるって証明ができるわけね。
藤原:そうだね。要するに、20以上40未満は、次の行にかけて、20、40っ
   て感じで見ればいいわけだ。
三重:一番最初は、1にしなければならないのですか?
藤原:いや、別に。ただ、ゼロだと、交通費が発生しないのに、200 が出
   てしまうから、1にしておいた方がいいだろうということ。
三重:後は、関数を入れるだけですね。
藤原:そう、前回と違うところは、完全一致でなく、範囲を表すという点
   だ。
佳代:そういう場合は、検索の型を変えるわけですね。
藤原:そのとおり。完全一致の場合は、検索の型は「0」を入れたよね。今
   回は、ゼロ以外の数字を入れる。何でもいいけど、一応「1」を入
   れてみようか。
佳代:すると、=VLOOKUP(B2,$D$3:$F$7,3,1)ということですか?
藤原:そのとおり。復習になるけれども、VLOOKUP関数の公式は、
   =VLOOKUP(検索値,表の範囲,列番号,検索の型) だったよね。
三重:ハイ、まだ覚えています。検索値は、該当するセル番地を入れれば
   いいし、表の範囲は、$ マークをつけた絶対参照にします。そして、
   列番号は、左から数えますから、3で合っています。
藤原:うん、そして、今回のように完全一致でない場合は、ゼロ以外の数
   字を入れればいい。
佳代:後は任せてください。C2のセルに入れればいいのですが、やはり、
   セルに何も入っていないときはエラーになります。そこで、いつも
   の手を使います。
三重:ISBLANK関数ね。
佳代:そうよ。つまり、IF(ISBLANK(B2),"",VLOOKUP(B2,$D$3:$F$7,3,1))
   として、後は、フィルハンドルでコピーしておけば、距離さえ入れ
   れば、自動的に交通費が入ることになるわけ。
藤原:そのとおりだね。
三重:ちょっとやってみます。
┏━┳━━━━┯━━━━┯━━━━┯━━━━┯━━━━┯━━━━┓
┃ ┃A   │B   │C   │D   │E   │F   ┃
┣━╋━━━━┿━━━━┿━━━━┿━━━━┿━━━━┿━━━━┫
┃1┃日付  │走行距離│交通費 │    │交通費早見表   ┃
┠─╂────┼────┼────┼────┼────┼────┨
┃2┃9月22日 │   55│   800│    │距離(km)│交通費 ┃
┠─╂────┼────┼────┼────┼────┼────┨
┃3┃9月23日 │   26│   500│    1│20km未満│   200┃
┠─╂────┼────┼────┼────┼────┼────┨
┃4┃9月24日 │   12│   200│   20│20〜40 │   500┃
┠─╂────┼────┼────┼────┼────┼────┨
┃5┃9月25日 │   76│  1000│   40│40〜50 │   600┃
┠─╂────┼────┼────┼────┼────┼────┨
┃6┃    │    │    │   50│50〜70 │    800┃
┠─╂────┼────┼────┼────┼────┼────┨
┃7┃    │    │    │   70│70km以上│  1000┃
┗━┻━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┛
佳代:大丈夫みたいね。
藤原:そうだね。こういう表を作るときは、必ず、試してみて、間違いが
   ないかどうかを確認することも大切。でないと、後で苦労すること
   になるからね。
佳代:そうですね。このような早見表を使うケースは結構あると思います。
   使われる方は、いろいろな数字を入力して、正しいことを確かめて
   から使用するようにしてください。それでは、今日はこの辺で。


E∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
   ★ あなたの技術をほんのちょっとだけ高めるマガジン ★
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞L

       クイズで学ぼう!『エクセル』の小技 124

∞∞∞∞∞∞∞\(^o^)\∞∞∞(*_*);∞∞∞§^o^§∞∞∞∞∞∞∞∞∞∞

◆ 今日の問題 「計算式のセルに文字列を入れる」

佳代:先生、今回は、読者の方からの質問を問題にしてください。
藤原:わかったよ。それじゃあ、佳代ちゃん、直接出題してね。
三重:先生、楽でいいですね。
藤原:まあね。たまにはね。
佳代:それでは、問題です。下のような表で、基本的には、金額から振込
   手数料を引いたものを振込金額とするのですが、振込手数料を当社
   負担とする場合は、金額そのものを振込金額とします。どのような
   式を入れたらいいでしょうか?みなさんも一緒に考えてくださいね。
┏━┳━━━━━━┯━━━━━━┯━━━━━━┯━━━━━━┓
┃ ┃A     │B     │C     │D     ┃
┣━╋━━━━━━┿━━━━━━┿━━━━━━┿━━━━━━┫
┃1┃会社名   │金額    │振込手数料 │振込金額  ┃
┠─╂──────┼──────┼──────┼──────┨
┃2┃(株)ヤマダ │   150,000│     735│      ┃
┠─╂──────┼──────┼──────┼──────┨
┃3┃(株)コジマ │   300,000│     735│      ┃
┠─╂──────┼──────┼──────┼──────┨
┃4┃(株)ホシノ │   80,000│  当社負担│      ┃
┠─╂──────┼──────┼──────┼──────┨
┃5┃(株)ノムラ │   20,000│     525│      ┃
┠─╂──────┼──────┼──────┼──────┨
┃6┃(株)モリ  │   150,000│  当社負担│      ┃
┗━┻━━━━━━┷━━━━━━┷━━━━━━┷━━━━━━┛

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
★ 解答を見る前に,少しだけ考えてね!
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞

○ 登場人物紹介

・藤原清盛:塾の先生で,このマガジンの指導役。パソコン暦10年。

・大場佳代:藤原先生の生徒で,パソコン暦1年。

・山形三重:佳代の同級生で,パソコン暦6ヶ月。藤原先生のいとこ。

※ このマガジンは,マイクロソフトのエクセル97,2000のWindows版
  のみを扱っています。

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
◆ 解 説 <難易度・・・中級>
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
藤原:こういう場合に便利な関数があるよ。
三重:やはり関数ですか?
藤原:うん、覚えておくと便利でいい。
佳代:えーっと、今回は数字と文字列が混じっていますよね。
藤原:そう。だから、セルの中身が数値かどうか判断する関数を使う。
三重:どんな関数ですか?
藤原:うん、最近さんざんやっている、ISBLANK 関数の親戚みたいなもの
   で、ISNUMBER関数を使う。
三重:イズナンバー関数ですか?
藤原:そう。
佳代:ああ、何となくわかりました。これを、IF関数と組み合わせて使う
   のですね。
藤原:そのとおり。ISBLANK 関数みたいにね。
佳代:わかりました。やらせてください。もし、C2のセルが、数値だった
   ら、B2−C2の計算をしなさい、もしそうでなかったら、B2を入れな
   さいって感じで式を作ればいいのですね。
藤原:正解。それじゃあ、やってみようか。D2のセルに
   =IF(ISNUMBER(C2),B2-C2,B2)って入れればいい。
佳代:やっぱり!本当に、ISBLANK 関数でやったときと考え方は、同じで
   すね。
藤原:そう。そして、Enter を押して、フィルハンドルでコピーする。
┏━┳━━━━━━┯━━━━━━┯━━━━━━┯━━━━━━┓
┃ ┃A     │B     │C     │D     ┃
┣━╋━━━━━━┿━━━━━━┿━━━━━━┿━━━━━━┫
┃1┃会社名   │金額    │振込手数料 │振込金額  ┃
┠─╂──────┼──────┼──────┼──────┨
┃2┃(株)ヤマダ │   150,000│     735│   149,265┃
┠─╂──────┼──────┼──────┼──────┨
┃3┃(株)コジマ │   300,000│     735│   299,265┃
┠─╂──────┼──────┼──────┼──────┨
┃4┃(株)ホシノ │   80,000│  当社負担│   80,000┃
┠─╂──────┼──────┼──────┼──────┨
┃5┃(株)ノムラ │   20,000│     525│   19,475┃
┠─╂──────┼──────┼──────┼──────┨
┃6┃(株)モリ  │   150,000│  当社負担│   150,000┃
┗━┻━━━━━━┷━━━━━━┷━━━━━━┷━━━━━━┛
佳代:ハイ、大丈夫です。きちんと計算されています。
藤原:このように、計算するセルに文字列が混じっている場合は、この関
   数を使うといいよ。
佳代:ホントですね。手軽で便利です。みなさんも是非使ってみてくださ
   い。それでは、今日はこの辺で。


E∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
   ★ あなたの技術をほんのちょっとだけ高めるマガジン ★
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞L

       クイズで学ぼう!『エクセル』の小技 125

∞∞∞∞∞∞∞\(^o^)\∞∞∞(*_*);∞∞∞§^o^§∞∞∞∞∞∞∞∞∞∞

◆ 今日の問題「セルをつなげたとき、日付の表示形式を維持するには」

佳代:先生、今回も、読者の方の質問からお願いします。
藤原:今回は、どんな質問なの?
佳代:ハイ、「下の図のようにC2のセルを表示したいのですが、できま
   せん。どうしたらいいでしょうか?C2のセルには、=A2&" "&B2 が
   入っています。」
┏━┳━━━━━━┯━━━━━━┯━━━━━━┯━━━━━━┓
┃ ┃A     │B     │C     │D     ┃
┣━╋━━━━━━┿━━━━━━┿━━━━━━┿━━━━━━┫
┃1┃ 項目   │  月 日 │      │      ┃
┠─╂──────┼──────┼──────┼──────┨
┃2┃ 遠足   │  5月3日 │遠足 5月3日│      ┃
┗━┻━━━━━━┷━━━━━━┷━━━━━━┷━━━━━━┛
藤原:なるほど、このままだと、「遠足 37014」って具合にシリアル値
   が入ってしまうわけだよね。
佳代:そうみたいです。
藤原:それでは、それを問題にしよう。
佳代:わかりました。上の表のように、C2のセルに「遠足 5月3日」と記
   されるようにするには、C2にどんな式を入れたらいいでしょう?み
   なさんも一緒に考えてくださいね。

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
★ 解答を見る前に,少しだけ考えてね!
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞

○ 登場人物紹介

・藤原清盛:塾の先生で,このマガジンの指導役。パソコン暦10年。

・大場佳代:藤原先生の生徒で,パソコン暦1年。

・山形三重:佳代の同級生で,パソコン暦6ヶ月。藤原先生のいとこ。

※ このマガジンは,マイクロソフトのエクセル97,2000のWindows版
  のみを扱っています。

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
◆ 解 説 <難易度・・・中級>
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
藤原:まず、B2のように、○月○日と入っているのは、表示形式が、日付
   になっているからだよね。
佳代:そうです。計算上は、シリアル値といって、1900年1月1日を1と
   して連番になっています。
藤原:そうなんだ。しかし、問題の表のように、& などをつけて、セルの
   文字列を結合すると、その表示形式は維持されない。だから、うま
   く表示されないわけだ。
三重:なるほど、あくまでも、セルの表示形式ですからね。
藤原:そう、違う表示形式が二つというわけには行かない。そこで、工夫
   する必要がある。
三重:どんな工夫ですか?
藤原:数値を表示形式で設定した文字列に変換する関数があるんだ。
佳代:えっ、そんな関数があるのですか?
藤原:うん。TEXT関数だ。
三重:テキスト関数?な〜んだ、そのものじゃないですか。
藤原:そのとおり。公式は、=TEXT(セル番地,"表示形式")だ。
佳代:なるほど、エクセルの表示形式を使うのではなく、関数の中に表示
   形式を入れてしまうのですね。
藤原:そういうこと。だから、使える書式記号さえ知っていれば、この関
   数で、自在に変化させることができる。
佳代:確か、月は、Monthだから「m」、日は、DAYだから「d」だったよう
   な気がしますが。
藤原:うん、それでいい。後で、簡単な書式は、まとめて記しておこう。
   ここでは、mとdを使う。
┏━┳━━━━━━┯━━━━━━┯━━━━━━┯━━━━━━┓
┃ ┃A     │B     │C     │D     ┃
┣━╋━━━━━━┿━━━━━━┿━━━━━━┿━━━━━━┫
┃1┃ 項目   │  月 日 │      │      ┃
┠─╂──────┼──────┼──────┼──────┨
┃2┃ 遠足   │  5月3日 │=A2&" "&TEXT(B2,"m月d日")┃
┗━┻━━━━━━┷━━━━━━┷━━━━━━┷━━━━━━┛
三重:やってみます。あっ、きちんと、「遠足 5月3日」になりました!
藤原:この付け方については、一気に説明できないけど、だいたいのやり
   方を覚えてほしいね。そうすれば、だんだんできるようになるよ。
佳代:わかりました。表示形式を使っているセルをつなげるときには役立
   ちそうですね。みなさんも、そんなときは、是非使ってみてくださ
   い。それでは、今日はこの辺で。

【日付の書式記号】

<西暦> yy → 01  yyyy → 2001 (yearのyでしょうね)

<元号>  g → H  gg → 平  ggg → 平成 (元号のgかな?)
  年   e → 13  ee → 09(一桁の場合、前に0がつく)

     つまり、「ggge年」とあったら「平成13年」になります。

<月>  m → 9、mm → 09、mmm → Sep、mmmm → September

<日>  d → 1、dd → 01

<曜日> ddd → Sun、dddd → Sunday、aaa → 日、aaaa →日曜日

 ee、mm、ddは、一桁の場合前にゼロをつけて二桁表示するときに使います。

 わかりにくいかもしれませんが、少しずつ覚えてください。


★ エクセルの小技へ ★   ★ TOPのページへ ★   ★ 次(126〜130)へ ★