E∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
★ あなたの技術をほんのちょっとだけ高めるマガジン ★
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞L
クイズで学ぼう!『エクセル』の小技 126
∞∞∞∞∞∞∞\(^o^)\∞∞∞(*_*);∞∞∞§^。^§∞∞∞∞∞∞∞∞∞∞
◆ 今日の問題 「チェックをつけたものだけ集計するには」
三重:先生、表の中で、チェックをつけたものだけ集計したいんですけど
どうしたらいいのですか?
藤原:チェックをつけたもの?
三重:ハイ、それができると便利かなと思って。
佳代:チェックボックスをつけたいの?
三重:チェックボックス?ああ、あの四角にクリックするやつね。
藤原:チェックボックスを作ってもいいけど、エクセルの場合、セルを使
った方が応用範囲が広くていいよ。
佳代:どういう意味ですか?
藤原:チェックボックスだと、オンかオフということになるけど、セルを
チェック代わりに使うと、いろいろなチェックができる、極端な話、
何十個でもチェックマークをつけることができる。
佳代:ああ、わかりました。チェックマークを1とか2とかにすれば、す
べて対応できるということですね。
藤原:そう、見映えを考えれば、チェックボックスの方がいいけど、まず
は、セルをうまく使ってチェックする方法を覚えよう。
三重:わかりました。問題を出してください。
藤原:それじゃあ、簡単なやつを出すよ。下の表で、1が入っているとこ
ろを集計する問題だ。E2に集計結果を出そう。
┏━┳━━━━┯━━━━┯━━━━┯━━━━┯━━━━┓
┃ ┃A │B │C │D │E ┃
┣━╋━━━━┿━━━━┿━━━━┿━━━━┿━━━━┫
┃1┃チェック│数値 │ │ │ ┃
┠─╂────┼────┼────┼────┼────┨
┃2┃ 1 │ 1240│ │集計 │ ┃
┠─╂────┼────┼────┼────┼────┨
┃3┃ 1 │ 1580│ │ │ ┃
┠─╂────┼────┼────┼────┼────┨
┃4┃ │ 152344│ │ │ ┃
┠─╂────┼────┼────┼────┼────┨
┃5┃ │ 354│ │ │ ┃
┠─╂────┼────┼────┼────┼────┨
┃6┃ │ 212│ │ │ ┃
┠─╂────┼────┼────┼────┼────┨
┃7┃ 1 │ 1478│ │ │ ┃
┠─╂────┼────┼────┼────┼────┨
┃8┃ │ 15800│ │ │ ┃
┠─╂────┼────┼────┼────┼────┨
┃9┃ 1 │ 1230│ │ │ ┃
┗━┻━━━━┷━━━━┷━━━━┷━━━━┷━━━━┛
佳代:わかりました。それでは問題です。上の表のチェック欄で、1が
入力されているところだけを集計するにはどうしたらいいでしょ
う?みなさんも一緒に考えてくださいね。
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
★ 解答を見る前に,少しだけ考えてね!
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
○ 登場人物紹介
・藤原清盛:塾の先生で,このマガジンの指導役。パソコン暦10年。
・大場佳代:藤原先生の生徒で,パソコン暦1年。
・山形三重:佳代の同級生で,パソコン暦6ヶ月。藤原先生のいとこ。
※ このマガジンは,マイクロソフトのエクセル97,2000のWindows版
のみを扱っています。
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
◆ 解 説 <難易度・・・中級>
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
藤原:これは簡単だけど、応用範囲が広いよ。
佳代:そうですね。
三重:どうしたらいいのですか?
藤原:昔、勉強した関数を使うんだ。
三重:えっ、そんな関数やりましたっけ?
藤原:やったよ。SUMIF関数。覚えているかな。
三重:あっ、やったような気がします。種類別に集計するやつですね。
藤原:そう。それでいい。この関数をチェック欄の数字に応用すればいい。
佳代:なるほど、確かにそうですねぇ。
藤原:SUMIF関数の公式は覚えているかな?
三重:えーっと、忘れました。
藤原:佳代ちゃんは?
佳代:う〜ん、確か =SUMIF(範囲・・・・ えーっと・・・。
藤原:では、もう一度復習しよう。=SUMIF(範囲,検索条件,合計範囲)だ。
佳代:あっ、思い出しました。最初の範囲は、品目の書いてあったところ
でしたね。つまり、ここで言えば、チェック欄。そして、検索条件
は、当然、ここでは、「1」ということになります。そして、合計範
囲は、数値のあるところでしたね。
藤原:そのとおり。すると、こんな風になるよね。
┏━┳━━━━┯━━━━┯━━━━┯━━━━┯━━━━┓
┃ ┃A │B │C │D │E ┃
┣━╋━━━━┿━━━━┿━━━━┿━━━━┿━━━━┫
┃1┃チェック│数値 │ │ │ ┃
┠─╂────┼────┼────┼────┼────┨
┃2┃ 1│ 1240│ │集計 │=SUMIF(A2:A9,1,B2:B9)
┠─╂────┼────┼────┼────┼────┨
┃3┃ 1│ 1580│ │ │ ┃
┠─╂────┼────┼────┼────┼────┨
┃4┃ │ 152300│ │ │ ┃
┠─╂────┼────┼────┼────┼────┨
┃5┃ │ 350│ │ │ ┃
┠─╂────┼────┼────┼────┼────┨
┃6┃ │ 210│ │ │ ┃
┠─╂────┼────┼────┼────┼────┨
┃7┃ 1 │ 1470│ │ │ ┃
┠─╂────┼────┼────┼────┼────┨
┃8┃ │ 15800│ │ │ ┃
┠─╂────┼────┼────┼────┼────┨
┃9┃ 1 │ 1230│ │ │ ┃
┗━┻━━━━┷━━━━┷━━━━┷━━━━┷━━━━┛
三重:ハイ、確かに。「1」でチェックしたところだけが集計されています。
藤原:これを使うと、チェックする場所を変えるだけで、自動的に再計算
される。結構便利な機能だろ。
佳代:そうですね。しかも、数値ですから、「""」で囲む必要がありませ
ん。
藤原:そうだね。文字列ならば、「""」で囲まなければならないけど、数
値なら、そのままでいいから簡単だ。
三重:わかりました。いろいろ応用してみます。
藤原:うん、それがいい。今回の例は簡単だったけど、かなり複雑なもの
でも、これを知っていれば対応できる。各自工夫して利用してほし
いものだね。
佳代:ホントですね。技としては簡単ですが、結構、いろいろなところに
応用できそうです。みなさんも是非アイデアを出して使ってみてく
ださい。それでは、今日はこの辺で。
E∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
★ あなたの技術をぐ〜んと高めるマガジン ★
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞L
クイズで学ぼう!『エクセル』の小技 127
∞∞∞∞∞∞∞\(^o^)\∞∞∞(*_*);∞∞∞§^。^§∞∞∞∞∞∞∞∞∞∞
★ 読者のみなさんへ
こんにちは、作者のyosshyです。ご愛読ありがとうございます。
このメルマガも、100 号を超え、当初の目的である「あなたの技術を
ほんのちょっとだけ高める」という段階を超えています。今後は、看
板を「あなたの技術をぐ〜んと高めるマガジン」に変えさせていただ
きます。
そこで、最近、メルマガを登録された方や、初心者の方は、是非、バ
ックナンバーを読んでください。最初の方には、簡単で役に立つ技が
満載されています。現在は、応用技が多いので、バックナンバーを読
むことをオススメします。バックナンバーは、こちらです ↓↓↓↓
http://www.pat.hi-ho.ne.jp/hirosilk/excel.htm
また、今後、関連する技は、できるだけ(参考:○○号)のように、
示しますので、そちらを参考にしてください。
今後ともよろしくお願いいたします。
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
◆ 今日の問題 「重複入力ができないようにするには」
三重:先生、前に重複のないリストを作るというのをやりましたよね。
藤原:ああ、フィルタオプションを使うやつね。(参考:105号)
三重:あれは、よくわかったのですが、あらかじめ、同じデータを入力で
きないようにしたいんです。
佳代:ああ、それ!わたしもやりたです!
藤原:もちろんできるよ。それじゃあ、今日は、それを問題にしようか。
三重:ハイ、お願いします!
藤原:それじゃあ、簡単な表で考えてみよう。下の表で、A列に同じ名前
が入ったら警告を出して入力できないようにしてみよう。
┏━┳━━━━━━┯━━━━━━┯━━━━━━┯━━━━━━┓
┃ ┃A │B │C │D ┃
┣━╋━━━━━━┿━━━━━━┿━━━━━━┿━━━━━━┫
┃1┃氏名 │ │ │ ┃
┠─╂──────┼──────┼──────┼──────┨
┃2┃ │ │ │ ┃
┠─╂──────┼──────┼──────┼──────┨
┃3┃ │ │ │ ┃
┠─╂──────┼──────┼──────┼──────┨
┃4┃ │ │ │ ┃
┠─╂──────┼──────┼──────┼──────┨
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
┃50┃ │ │ │ ┃
┗━┻━━━━━━┷━━━━━━┷━━━━━━┷━━━━━━┛
佳代:わかりました。それでは問題です。上の表で、氏名を入力するとき
同じデータを入れると、警告を出して入力できないようにするには
どうしたらいいでしょう?みなさんも一緒に考えてくださいね。
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
★ 解答を見る前に,少しだけ考えてね!
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
○ 登場人物紹介
・藤原清盛:塾の先生で,このマガジンの指導役。パソコン暦10年。
・大場佳代:藤原先生の生徒で,パソコン暦1年。
・山形三重:佳代の同級生で,パソコン暦6ヶ月。藤原先生のいとこ。
※ このマガジンは,マイクロソフトのエクセル97,2000のWindows版
のみを扱っています。
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
◆ 解 説 <難易度・・・中級>
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
藤原:何を使うかは、だいたいわかっているよね。
三重:ハイ、たぶん入力規則だと思います。
藤原:そう、前にも勉強した入力規則だ。(参考:19号、20号)
佳代:警告を出すといえば、入力規則ですよね。わたしも何回か挑戦した
のですが、この技は、わかりませんでした。
藤原:そうだね。前にやったのは、初級の技だったけど、今回は、ちょっ
と難しくなる。でも、挑戦してみよう。
三重:お願いします。
藤原:まずは、A2のセルを選択する。そして、[データ]から[入力規則]を
選ぶ。
三重:ここまでは大丈夫です。何回もやりました。
藤原:そして、開いたときに出てくる画面は「設定」になっていると思う
けど、万一、なっていない人は「設定」のタブを押して「設定」の
画面にしてほしい。
三重:ハイ、ちゃんと「設定」が開かれています。
藤原:そして、「入力値の種類」のリストを開いて、「ユーザー設定」を
クリックしよう。
佳代:ユーザー設定を開くのですか!
藤原:そうなんだ。ここに関数を入れることによって、重複入力を阻止す
ることができる。
三重:なるほど。そういうことですか。
藤原:そして、式は、ちょっと難しいかもしれないけど、COUNTIF
関数を
使う。
佳代:COUNTIF 関数ですね。これまでに何回かやりました。(14号、65号)
藤原:ここでは、数式って書いてあるボックスに =COUNTIF(A:A,A2)<2
と入れてみよう。
三重:ハイ。でも、A:A ってどういう意味ですか?
藤原:うん、A:A に限らず、列全体を範囲として選択したい場合は、中に
コロンをつければいいんだ。これは、普通の関数にも応用できるか
ら覚えておいてね。
佳代:すると、A列の中から、A2と同じものを数えて、それが、2より小
さいときに入力ができるという意味ですね。
藤原:そう、つまり、同じものを2つ入力すると、COUNTIF
関数の働きで、
2とカウントされる。すると、2になってしまうから、規則違反に
なってエラーになる。
三重:後は、例のように、警告を出す設定をすればいいのですね。
藤原:そのとおり。覚えているかな?
三重:大丈夫です。今度は、同じダイアログボックスの「エラーメッセー
ジ」のタブを開きます。そして、スタイルを「停止」にすればいい
わけですね。
藤原:正解だ。停止にすれば、入力できない。もし、警告だけなら「注意」
を選べばいい。ここでは、「停止」を選ぼう。
佳代:後は、任せてください。タイトルの欄には、「重複エラー」と入れ
ます。
藤原:うん、これは、自由に名前を付ければいい。エラーメッセージのタ
イトルバーに記される言葉だったね。
佳代:ハイ。後は、エラーメッセージに「すでに入力されています」って
感じで、警告を書いておけば完了です。
藤原:そうだね。OKを押して、規則の設定は完了だ。後は、フィルハン
ドルでコピーしておこう。
三重:ハイ、とりあえず、A50 までコピーしました。
藤原:それじゃあ、ちょっとやってみよう。
┏━┳━━━━━━┯━━━━━━┯━━━━━━┯━━━━━━┓
┃ ┃A │B │C │D ┃
┣━╋━━━━━━┿━━━━━━┿━━━━━━┿━━━━━━┫
┃1┃氏名 │ │ │ ┃
┠─╂──────┼──────┼──────┼──────┨
┃2┃山形三重 │ │ │ ┃
┠─╂──────┼──────┼──────┼──────┨
┃3┃大場佳代 │ │ │ ┃
┠─╂──────┼──────┼──────┼──────┨
┃4┃ │ │ │ ┃
┠─╂──────┼──────┼──────┼──────┨
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
┃50┃ │ │ │ ┃
┗━┻━━━━━━┷━━━━━━┷━━━━━━┷━━━━━━┛
藤原:ここまでは、何も起こらないよね。
佳代:もちろんです。重複がありませんから。
藤原:そこで、A4に、山形三重と入れてみよう。
三重:ハイ、あっ、出ました!
┏━━━━━━━━━━━━━━━━━━━━━━━━┓
┃重複エラー ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ × すでに入力されています ┃
┃ ┃
┃ [再試行] [キャンセル] ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━┛
藤原:このように、同じデータを入れると、警告が出て、尚且つ、入力が
できないので、絶対、重複してはいけないデータを作るときは便利
だね。
三重:そうですね。やり直しするときは、[再試行]のボタンを押せばいい
わけですね。
藤原:そう、そして、やめる場合は、キャンセルを押せばいい。簡単だよ。
佳代:わかりました。重複を許さないデータを作っている人には便利な技
だと思います。みなさんも、是非、応用して、試してみてください。
それでは、今日は、この辺で。
E∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
★ あなたの技術をぐ〜んと高めるマガジン ★
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞L
クイズで学ぼう!『エクセル』の小技 128
∞∞∞∞∞∞∞\(^o^)\∞∞∞(*_*);∞∞∞§^。^§∞∞∞∞∞∞∞∞∞∞
◆ 今日の問題 「入力した数字より大きいものの個数を調べるには」
佳代:先生、今回は、読者からの質問を問題にしてください。
藤原:わかったよ。どんな問題だい?
佳代:ハイ、読みます。「いつも参考にさせていただいています。さて、
65号で、n点以上の個数を求めるにはというのがありましたが、わ
たしは、それを応用して、セルに数字をいれて、それよりも大きい
数字の個数を求めようとしたのですができません。どうしたらいい
のでしょうか?」
藤原:なるほどね。
三重:えーっと、あの80点以上を求めたやつね。
藤原:そうだったね。もう一度出してみよう。
┏━┳━━━━━━┯━━━━┯━━━━┯━━━━┯━━━━┓
┃ ┃A │B │C │D │E ┃
┣━╋━━━━━━┿━━━━┿━━━━┿━━━━┿━━━━┫
┃1┃テスト名 │国語 │英語 │ │ ┃
┠─╂──────┼────┼────┼────┼────┨
┃2┃1学期中間 │ 76 │ 82 │80点以上│ ┃
┠─╂──────┼────┼────┼────┼ ↑ ┨
┃3┃1学期期末 │ 72 │ 54 │COUNTIF(B2:C6,">=80")
┠─╂──────┼────┼────┼────┼────┨
┃4┃2学期中間 │ 84 │ 64 │ │ ┃
┠─╂──────┼────┼────┼────┼────┨
┃5┃2学期期末 │ 80 │ 82 │ │ ┃
┠─╂──────┼────┼────┼────┼────┨
┃6┃学年末 │ 70 │ 75 │ │ ┃
┗━┻━━━━━━┷━━━━┷━━━━┷━━━━┷━━━━┛
三重:思い出しました。COUNTIF関数を使うのでしたね。
藤原:そう、すると、こんな感じの問題にすればいいのかな?
┏━┳━━━━━━┯━━━━┯━━━━┯━━━━┯━━━━┓
┃ ┃A │B │C │D │E ┃
┣━╋━━━━━━┿━━━━┿━━━━┿━━━━┿━━━━┫
┃1┃テスト名 │国語 │英語 │点数 │ ┃
┠─╂──────┼────┼────┼────┼────┨
┃2┃1学期中間 │ 76 │ 82 │個数 │ ┃
┠─╂──────┼────┼────┼────┼────┨
┃3┃1学期期末 │ 72 │ 54 │ │ ┃
┠─╂──────┼────┼────┼────┼────┨
┃4┃2学期中間 │ 84 │ 64 │ │ ┃
┠─╂──────┼────┼────┼────┼────┨
┃5┃2学期期末 │ 80 │ 82 │ │ ┃
┠─╂──────┼────┼────┼────┼────┨
┃6┃学年末 │ 70 │ 75 │ │ ┃
┗━┻━━━━━━┷━━━━┷━━━━┷━━━━┷━━━━┛
三重:E1に点数を入れると、E2に、その個数が出るようにするわけですね。
藤原:そういうこと。
佳代:わかりました。それでは、問題です。上にある2番目の表を使って
E1に点数を入れると、E2に、それ以上の点の個数が出るようにする
にはどうしたらいいでしょう?みなさんも一緒に考えてくださいね。
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
★ 解答を見る前に,少しだけ考えてね!
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
○ 登場人物紹介
・藤原清盛:塾の先生で,このマガジンの指導役。パソコン暦10年。
・大場佳代:藤原先生の生徒で,パソコン暦1年。
・山形三重:佳代の同級生で,パソコン暦6ヶ月。藤原先生のいとこ。
※ このマガジンは,マイクロソフトのエクセル97,2000のWindows版
のみを扱っています。
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
◆ 解 説 <難易度・・・中級>
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
三重:これは、単純にできないのですか?
藤原:単純に?
三重:ハイ、65号でやったように、COUNTIF(B2:C6,">=80")をそのまま応
用して、COUNTIF(B2:C6,">=E1")って具合に。
藤原:やってごらん。
三重:ハイ。えーっと、あれっ?ゼロになっちゃった。
佳代:たぶん、質問者も、そのようにやったのだと思います。
藤原:そうだね。でも、これだとできない。そこで、今回は、その技を覚
えよう。
三重:ハイ、どうやったらいいのですか?
藤原:これはね、以上という条件をつけるために、">="
を入れる。
佳代:えっ、文字列みたいにですか?
藤原:そう。そして、つなぐために、& をつける。
三重:よくわかりません。
藤原:そうだね。わかりにくいねぇ。そこで、">="&
をセットで覚えてお
こう。これなら以上だけど、中が「>」だったり「<」だったりして
もいい。つまり、""で、大きいとか小さいとか以上とか以下とかを
記号で表して、& をつけて完了。
佳代:すると、COUNTIF(B2:C6,">="&E1)ということですか?
藤原:そのとおり。これならば、E1のセルに、好きな数字をいれて、それ
以上の点数を数えることができるから、便利だね。
┏━┳━━━━━━┯━━━━┯━━━━┯━━━━┯━━━━┓
┃ ┃A │B │C │D │E ┃
┣━╋━━━━━━┿━━━━┿━━━━┿━━━━┿━━━━┫
┃1┃テスト名 │国語 │英語 │点数 │ ┃
┠─╂──────┼────┼────┼ COUNTIF(B2:C6,">="&E1)
┃2┃1学期中間 │ 76 │ 82 │個数 │ ↓ ┃
┠─╂──────┼────┼────┼────┼────┨
┃3┃1学期期末 │ 72 │ 54 │ │ ┃
┠─╂──────┼────┼────┼────┼────┨
┃4┃2学期中間 │ 84 │ 64 │ │ ┃
┠─╂──────┼────┼────┼────┼────┨
┃5┃2学期期末 │ 80 │ 82 │ │ ┃
┠─╂──────┼────┼────┼────┼────┨
┃6┃学年末 │ 70 │ 75 │ │ ┃
┗━┻━━━━━━┷━━━━┷━━━━┷━━━━┷━━━━┛
佳代:わかりました。COUNTIF 関数は、いろいろ役に立ちますね。尚、読
者の方にお知らせします。この関数については、14号、65号でも取
り上げています。是非、参考にしてください。それでは、今日はこ
の辺で。
E∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
★ あなたの技術をぐ〜んと高めるマガジン ★
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞L
クイズで学ぼう!『エクセル』の小技 129
∞∞∞∞∞∞∞\(^o^)\∞∞∞(*_*);∞∞∞§^。^§∞∞∞∞∞∞∞∞∞∞
◆ 今日の問題 「数字を入れて、男・女の別を表すには」
三重:先生、超簡単なことなのですけど。
藤原:何だい?三重ちゃん。
三重:ハイ、例えば、1と入れたら男、2と入れたら女というような簡単な
区別を数字でしたいのです。
藤原:なるほど。
佳代:でも、三重、これまでに、VLOOKUP 関数とか、リストから選択とか、
入力規則のリストからとか、いろいろやったじゃない。
三重:そうだけど。たった、2つや3つのリストを作るのも面倒だし、余
計な表を作りたくないのよ。
藤原:それじゃあ、今回は、関数で行こうか。
三重:お願いします。
藤原:関数を覚えるだけだから、簡単な表で行くよ。
┏━┳━━━━┯━━━━┯━━━━┯━━━━┯━━━━┓
┃ ┃A │B │C │D │E ┃
┣━╋━━━━┿━━━━┿━━━━┿━━━━┿━━━━┫
┃1┃氏名 │性別 │番号 │ │ ┃
┠─╂────┼────┼────┼────┼────┨
┃2┃大場佳代│ │ │ │ ┃
┠─╂────┼────┼────┼────┼────┨
┃3┃山形三重│ │ │ │ ┃
┠─╂────┼────┼────┼────┼────┨
┃4┃藤原清盛│ │ │ │ ┃
┗━┻━━━━┷━━━━┷━━━━┷━━━━┷━━━━┛
佳代:わかりました。それでは問題です。上の表の番号の欄に、1と入れた
ら「男」、2と入れたら「女」になるようにB列に関数を入れるには
どうしたらいいでしょう。みなさんも一緒に考えてくださいね。
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
★ 解答を見る前に,少しだけ考えてね!
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
○ 登場人物紹介
・藤原清盛:塾の先生で,このマガジンの指導役。パソコン暦10年。
・大場佳代:藤原先生の生徒で,パソコン暦1年。
・山形三重:佳代の同級生で,パソコン暦6ヶ月。藤原先生のいとこ。
※ このマガジンは,マイクロソフトのエクセル97,2000のWindows版
のみを扱っています。
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
◆ 解 説 <難易度・・・中級>
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
藤原:この問題は、一つ関数を覚えてもらえばいい。
三重:VLOOKUP 関数のように、参照にする表はなくてもいいのですね。
藤原:うん、実戦的には、VLOOKUP 関数などと組み合わせて、複雑な表を
作るときによく使うのだけど、今回は、ダイレクトだ。
佳代:何という関数ですか?
藤原:CHOOSE関数だ。
三重:チューズ?つまり、選ぶということですか?
藤原:そのとおり。公式は、=CHOOSE(セル番地,値1,値2・・・・)という
感じで、値は文字列でもいい。全部で、29個まで可能だ。
佳代:なるほど、値のところはセル番地でもいいし、セル範囲でもいいわ
けですね。
藤原:そう。つまり、この関数は、単独で使うよりも、組み合わせで使う
ことが多いけど、まずは、きちんとできるようにしてもらいたい。
三重:すると、この問題では、文字列を入れるわけですから、""でくくっ
て式を作ればいいのですね。
藤原:そのとおり。やってごらん。
三重:ここまでわかれば簡単です。
┏━┳━━━━┯━━━━┯━━━━┯━━━━┯━━━━┓
┃ ┃A │B │C │D │E ┃
┣━╋━━━━┿━━━━┿━━━━┿━━━━┿━━━━┫
┃1┃氏名 │性別 │番号 │ │ ┃
┠─╂────┼────┼────┼────┼────┨
┃2┃大場佳代│=CHOOSE(C2,"男","女")
│ ┃
┠─╂────┼────┼────┼────┼────┨
┃3┃山形三重│ │ │ │ ┃
┠─╂────┼────┼────┼────┼────┨
┃4┃藤原清盛│ │ │ │ ┃
┗━┻━━━━┷━━━━┷━━━━┷━━━━┷━━━━┛
藤原:よろしい。これで、C2のセルに、1を入れると男が、2を入れると女
が返される。
佳代:つまり、1とか、2とかいうのは、値1、値2のことですね。
藤原:そのとおり。いちいち番号は振らなくていい。引数の部分に並んで
いる順番が、番号なんだ。
三重:それじゃあ、関数をフィルハンドルでコピーして、実際に数字を入
れて見ます。
┏━┳━━━━┯━━━━┯━━━━┯━━━━┯━━━━┓
┃ ┃A │B │C │D │E ┃
┣━╋━━━━┿━━━━┿━━━━┿━━━━┿━━━━┫
┃1┃氏名 │性別 │番号 │ │ ┃
┠─╂────┼────┼────┼────┼────┨
┃2┃大場佳代│女 │ 2│ │ ┃
┠─╂────┼────┼────┼────┼────┨
┃3┃山形三重│女 │ 2│ │ ┃
┠─╂────┼────┼────┼────┼────┨
┃4┃藤原清盛│男 │ 1│ │ ┃
┗━┻━━━━┷━━━━┷━━━━┷━━━━┷━━━━┛
藤原:大丈夫だよね。このように、この関数は、ちょっとしたものにダイ
レクトに使うこともできるし、値の部分にセル番地を入れて、ちょ
っとしたことに使うこともできる。だから、案外使えるかもしれな
いよ。
佳代:そうですね。結構、面白そうです。みなさんも、アイデアを出して、
うまく応用してください。それでは、今日はこの辺で。
E∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
★ あなたの技術をぐ〜んと高めるマガジン ★
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞L
クイズで学ぼう!『エクセル』の小技 130
∞∞∞∞∞∞∞\(^o^)\∞∞∞(*_*);∞∞∞§^。^§∞∞∞∞∞∞∞∞∞∞
◆ 今日の問題 「時刻に午前や午後をつけて表すには」
三重:先生、どうしてもうまくいかないことがあるんです。
藤原:どんなことだい?
三重:ハイ、すでに、24時間形式で表示されているものを午前何時とか、
午後何時という具合にしたいのですが、なかなかうまくいきません。
藤原:なるほど、例えば、15:30なら、午後
3:30にしたいということか
な?
三重:ハイ、できれば、午後3時30分とい具合に漢字にも直したいのです。
佳代:う〜ん、何となくできそうだけどね。
三重:そうなのよ。わたしも最初は簡単だと思ったんだけどうまくいかな
くて。
藤原:わかったよ。それじゃあ、それを問題にしよう。例によって、簡単
な表でやるよ。
┏━┳━━━━━━┯━━━━━━┯━━━━━━┯━━━━━━┓
┃ ┃A │B │C │D ┃
┣━╋━━━━━━┿━━━━━━┿━━━━━━┿━━━━━━┫
┃1┃24時間表示 │12時間表示 │ │ ┃
┠─╂──────┼──────┼──────┼──────┨
┃2┃15:30 │午後15時30分│ │ ┃
┠─╂──────┼──────┼──────┼──────┨
┃3┃10:20 │午前10時20分│ │ ┃
┗━┻━━━━━━┷━━━━━━┷━━━━━━┷━━━━━━┛
佳代:わかりました。それでは問題です。上の表A列のように、24時間表
示された時刻を、B列に、午前、午後をつけて、時、分が漢字にな
るようにするには、どうしたらいいでしょう?みなさんも一緒に考
えてくださいね。
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
★ 解答を見る前に,少しだけ考えてね!
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
○ 登場人物紹介
・藤原清盛:塾の先生で,このマガジンの指導役。パソコン暦10年。
・大場佳代:藤原先生の生徒で,パソコン暦1年。
・山形三重:佳代の同級生で,パソコン暦6ヶ月。藤原先生のいとこ。
※ このマガジンは,マイクロソフトのエクセル97,2000のWindows版
のみを扱っています。
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
◆ 解 説 <難易度・・・中級>
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
三重:表示形式やら何やらやってみましたが、今ひとつできませんでした。
佳代:文字を付けるのは、& で結合すればいいのですよね。
藤原:うん、問題は、午前と午後の区別だね。ここをうまく条件分岐して
やればいい。
三重:やはり、IF関数を使うのですか。
藤原:もちろんだよ。
三重:それでも、なかなかできませんでした。
藤原:前に、日付を分解する技をやったよね。(参考:27号)
佳代:ハイ、やりました。MONTH関数とか、DAY関数とか。
藤原:それと同じように、時刻を分解する関数もあるんだ。
三重:あっ!それって、少しだけ聞いたことがあります。
藤原:うん、どこかでちょっとしゃべっているよ。
佳代:そう言えば、そんな気もします。でも、だいたいわかります。
藤原:おう、それはすごいね。言ってごらん。
佳代:ハイ、たぶん、時間は、HOUR、分は、MINUTEだと思います。
藤原:そのとおり。英語、そのままだね。HOUR関数とMINUTE関数でOK。
三重:すると、=HOUR(セル番地)で、時間を取り出し、=MINUTE(セル番地)
で分を取り出せるのですね。
藤原:そのとおり。それがわかれば、とりあえず解答に一歩近づく。後は、
午前と午後の条件をどうやってつけるかということだね。
三重:それが意外と難しいです。
藤原:まず、午後1時って、24時間方式で言うと何時?
三重:13時です。
藤原:うん、ということは、午後の数字は、全体の数字から12を引いたも
のだとわかるだろう。
佳代:なるほど、すると、午後を表すためには、IFを使って、HOUR関数か
ら取り出した数字から12を引けばいいのですね。
藤原:そういうこと。ちょっと面倒だけど、少しずつやってみよう。
三重:ハイ、挑戦してみます。まず、B2のセルを選択して、そこに入れて
みます。=IF(HOUR(A2)>=12,・・・
藤原:そうそう、その調子。もし、A2のセルの時間の部分の数字が12以上
だったらって条件をつけたわけだね。
三重:ハイ、そして、頭に午後を付けるわけですから、"午後"とダブルコ
ーテーションで囲みます。そして、&
をつけてつなぎます。
藤原:うんうん、いいよ。
三重:そして、午後は、12を引くのですから、えーっと、あれっ?
佳代:もう一度、HOUR関数を使わなくちゃできないんじゃない?
三重:あっ、そうか、すると、=IF(HOUR(A2)>=12,"午後"&HOUR(A2)-12
っ
て感じですか?
藤原:いいよ、そこまではあっている。
三重:ここで、MINUTE関数をつけていいのですか?
藤原:そうだね。悪くはないけど、分の方は、午前、午後に関係なく同じ
だから条件式に含めない方がいいね。最後に付け足す感じで。
三重:すると、こんな感じですか?
=IF(HOUR(A2)>=12,"午後"&HOUR(A2)-12,"午前"&HOUR(A2))
藤原:うん、それでいい。まだ完成はしていないけど、午前、午後の分岐
は、これで大丈夫だ。後は、その後ろに
&"時"&MINUTE(A2)&"分"と
つければ完成だ。
三重:う〜ん、頭が痛くなってきました。
藤原:ちょっと面倒なだけで、難しくはないからね。よく頭を整理して、
考えてみよう。
佳代:つまり、もし、A2のセルに入力されている時間の部分が、12以上な
らば「午後」という文字を頭に付けて、12を引いた数を示しなさい。
そうでなければ「午前」という文字を頭に付けて、そのままの数字
を示しなさいということですね。
藤原:そう、そして、その後ろに「時」をつけて、分の部分の数字を取り
出し、後ろに「分」の文字をつけなさいということだ。
三重:何となくわかったような・・・。
藤原:こういう長い式は、落ち着いてやらないと間違えるよ。括弧を抜か
したりするとダメだからね。正解は、こちら
=IF(HOUR(A2)>=12,"午後"&HOUR(A2)-12,"午前"&HOUR(A2))&"時"&
MINUTE(A2)&"分"
これを、B2のセルに入れて、後は、フィルハンドルでコピーすれば
いい。スペースの関係で、2行になっているけど、実際は、続けて
1行で書いてね。
佳代:何か、根気が試されるような問題でしたね。
藤原:そうだね。難易度は、それほどでないけど、粘り強さが必要。どち
らにしても、& を使って文字列と数字を結びつける方法は、これま
でも何回かやったけど、使う機会は多いからね。
佳代:そうですね。みなさんも、是非、応用して使ってみてください。そ
れでは今日はこの辺で。
★ エクセルの小技へ ★ ★ TOPのページへ ★ ★ 次(131〜135)へ ★