E∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
     ★ あなたの技術をぐ〜んと高めるマガジン ★
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞L

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

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

◆ 今日の問題 「日曜日の日付部分だけ赤くするには」

佳代:先生、今回は、読者の質問からお願いします。
藤原:うん、いいよ。
佳代:それでは読みます。「カレンダーを作りたいのですが、なるべくコ
   ンパクトに作りたいので『曜日』は入れたくありません。しかし、
   日曜日だけは知りたいので、日付の部分を赤くしたいのですが、ど
   うしたらいいでしょうか?」
三重:えーっと、曜日は入れないけど、日曜日の日付部分だけを赤くして、
   わかるようにしたいというわけね。
佳代:そうよ。
藤原:わかったよ。それじゃあ、今日は、それを問題にしよう。
佳代:わかりました。それでは問題です。日曜日の日付の部分だけ赤くす
   るにはどうしたらいいでしょう?ただし、曜日の欄はありません。
三重:みなさんも一緒に考えてくださいね。

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

○ 登場人物紹介

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

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

・山形三重:佳代の同級生で,パソコン歴2年半。藤原先生のいとこ。

※ このマガジンは,Microsoftのエクセル2000,2002 の Windows版
  のみを扱っています。(たいていの場合、97でも使えます)

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
◆ 解 説 <難易度・・・中級>
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞

藤原:まず、何を使ったらいいかわかるよね。
三重:ハイ、条件によってフォントを赤くするわけですから、条件付書式
   です。
藤原:そのとおり。
佳代:どのように作るかが問題ですね。
藤原:そうだね。とりあえず、最初から作る場合は、まず日付を一つ作る。

   ┏━┳━━━━┯━━━━┯━━━━┯━━━━┯━━━━┓
   ┃ ┃A   │B   │C   │D   │E   ┃
   ┣━╋━━━━┿━━━━┿━━━━┿━━━━┿━━━━┫
   ┃1┃日付  │    │    │    │    ┃
   ┠─╂────┼────┼────┼────┼────┨
   ┃2┃ 10月1日│    │    │    │    ┃
   ┠─╂────┼────┼────┼────┼────┨
  〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

三重:ハイ。
藤原:そして、A2のセルを選択した状態で、[書式]−[条件付書式]を
   クリックする。
三重:ここまでは楽勝です \(^o^)/
佳代:問題は、次ね。
藤原:そうなんだ。どのように条件を設定するかだね。
佳代:えーっと、WEEKDAY 関数を使うのですか?
藤原:そう、正解だ。前にも勉強したことがある WEEKDAY関数を使う。
三重:WEEKDAY 関数って、確か、日付から曜日を求める関数でしたね。
藤原:そういうこと。例えば、B2のセルに、=WEEKDAY(A2)と入力すると、
   4 という数字が返される。これは、水曜日という意味だ。詳しくは、
   54号を参考にしてほしい。
佳代:思い出しました。表示形式を「aaa」にして曜日を表すのでしたね。
藤原:そう。でも、これは、今回のメインテーマじゃないから、こちらを
   勉強したい人は、54号を見てもらうことにするよ。今回は、この性
   質を利用して、条件を作る。
三重:あっ、何となくわかってきました。つまり、この関数が、日曜日に
   相当する数字と同じならばいいわけですね。
藤原:そのとおり。実は、WEEKDAY関数は、=WEEKDAY(セル番地,種類)が公
   式なんだ。つまり、種類を変えると、曜日の数え方も変わる。でも、
   面倒だから、種類を省略した場合の番号をいうと、日曜は、1 で、
   月曜が、2 ・・・土曜日が、7 になる。
佳代:つまり、日曜日を示す数字は、1 ということですね。
藤原:うん。それじゃあ、条件を付けてもらおうかな。
三重:ハイ。やってみます。条件付書式の画面で、一番左の「セルの値が」
   の部分を▼をクリックして「数式が」に変えます。
藤原:うん、うん。
三重:そして、右側のボックスに、=WEEKDAY(A2)=1 と入れて、すぐ下に
   ある[書式]のボタンをクリックします。
藤原:そうそう。
三重:そこで、「フォント」のタブにある「色」を「赤」にして、順次、
   OK、OKとクリックして終了です。
藤原:よろしい。後は、フィルハンドルでコピーすればいい。
三重:やってみます。あっ、10月5日、10月12日などが赤になりました。

   ┏━┳━━━━┯━━━━┯━━━━┯━━━━┯━━━━┓
   ┃ ┃A   │B   │C   │D   │E   ┃
   ┣━╋━━━━┿━━━━┿━━━━┿━━━━┿━━━━┫
   ┃1┃日付  │    │    │    │    ┃
   ┠─╂────┼────┼────┼────┼────┨
   ┃2┃ 10月1日│←条件付書式を設定する   │    ┃
   ┠─╂────╋←フィルハンドルで下方向にコピー───┨
   ┃3┃ 10月2日│↓   │    │    │    ┃
   ┠─╂────┼↓───┼────┼────┼────┨
   ┃4┃ 10月3日│↓   │    │    │    ┃
   ┠─╂────┼────┼────┼────┼────┨
   ┃5┃ 10月4日│    │    │    │    ┃
   ┠─╂────┼────┼────┼────┼────┨
   ┃6┃ 10月5日│←赤字になっている│    │    ┃
   ┠─╂────┼────┼────┼────┼────┨
   ┃7┃ 10月6日│    │    │    │    ┃
   ┠─╂────┼────┼────┼────┼────┨
   ┃8┃ 10月7日│    │    │    │    ┃
   ┠─╂────┼────┼────┼────┼────┨
   ┃9┃ 10月8日│    │    │    │    ┃
   ┠─╂────┼────┼────┼────┼────┨
   ┃10┃ 10月9日│    │    │    │    ┃
   ┠─╂────┼────┼────┼────┼────┨
   ┃11┃10月10日│    │    │    │    ┃
   ┠─╂────┼────┼────┼────┼────┨
   ┃12┃10月11日│    │    │    │    ┃
   ┠─╂────┼────┼────┼────┼────┨
   ┃13┃10月12日│←赤字になっている│    │    ┃
   ┠─╂────┼────┼────┼────┼────┨
   ┃14┃10月13日│    │    │    │    ┃
  〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

佳代:これが日曜日ということですね。
藤原:そういうこと。その日付が持つ曜日データが 「1」に等しいとき、
   条件付書式が働く。もちろん、後から付けたい場合は、範囲を指定
   して、同じ操作をすればできる。シンプルなものを作りたいときに
   は有効な技だよ。
佳代:わかりました。みなさんも是非試してみてください。それでは、今
   日は、この辺で。

 -----------------------------------------------------------------
 <まとめ> 今回の問題に対する手順のみを示します
 -----------------------------------------------------------------

  セルA1に「日付」セルA2に「10月1日」と入力
  
  セルA2が選択された状態で[書式]−[条件付書式]をクリック
  
  条件付書式の画面の一番左のボックスを「数式が」に変更
  
  右のボックスに「=WEEKDAY(A2)=1」と入力
  
  下にある[書式]ボタンをクリック
  
  「フォント」のタブを開き、「色」の▼をクリックして「赤」を選ぶ
 
  順次、OK、OKをクリック
  
  セルA2からフィルハンドルで、必要な分をドラッグ

 -----------------------------------------------------------------
 <補足> 
 -----------------------------------------------------------------

  もし、先に日付ができていたら、範囲を選択して、同じように条件付
  書式を付けてください。その場合、アクティブセル(選択範囲の中で
  白くなっているセル;通常、範囲を指定した一番上)のセル番地を関
  数の中に入れてください。
  
  例えば、列全体を選択した場合は、A1がアクティブセルになってい
  ます。そういう時は、=WEEKDAY(A1)=1 というように、( )の中の
  引数をアクティブセルに合わせてください。

 -----------------------------------------------------------------
 <参考> 今回出てきた技に関連したものを示します
 -----------------------------------------------------------------
 
 【WEEKDAY関数関係】

   http://www.pat.hi-ho.ne.jp/hirosilk/exb051.htm#54
 
 【条件付書式関係】

   http://www.pat.hi-ho.ne.jp/hirosilk/exb011.htm#12
   http://www.pat.hi-ho.ne.jp/hirosilk/exb086.htm#88
   http://www.pat.hi-ho.ne.jp/hirosilk/exb111.htm#113
   http://www.pat.hi-ho.ne.jp/hirosilk/exb136.htm#138
   http://www.pat.hi-ho.ne.jp/hirosilk/exb196.htm#200
   http://www.pat.hi-ho.ne.jp/hirosilk/exb241.htm


E∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
     ★ あなたの技術をぐ〜んと高めるマガジン ★
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞L

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

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

◆ 今日の問題 「バラバラに入力された数値を時刻データにするには」

三重:先生、時刻がバラバラに入力したものがあるのですけど。
藤原:時刻をバラバラに?
三重:ハイ、その方が計算しやすいと思って・・・。でも、それを時刻デ
   ータに変換することはできないのですか?
佳代:ああ、バラバラの日付を日付データにしたときのようにね。
三重:そうよ。
藤原:もちろんできるよ。それじゃあ、今回は、それを問題にしよう。
三重:わかりました。それでは、今日は、わたしが出題します。下の図の
   ように、「時」「分」が分かれて入力されているとき、時刻データ
   にするにはどうしたらいいでしょう?

   ┏━┳━━━━┯━━━━┯━━━━━┯━━━━┯━━━━┓
   ┃ ┃A   │B   │C    │D   │E   ┃
   ┣━╋━━━━┿━━━━┿━━━━━┿━━━━┿━━━━┫
   ┃1┃時   │分   │時刻データ│    │    ┃
   ┠─╂────┼────┼─────┼────┼────┨
   ┃2┃   12│   20│   12:20│    │    ┃
  〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

佳代:みなさんも一緒に考えてくださいね。

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

○ 登場人物紹介

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

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

・山形三重:佳代の同級生で,パソコン歴2年半。藤原先生のいとこ。

※ このマガジンは,Microsoftのエクセル2000,2002 の Windows版
  のみを扱っています。(たいていの場合、97でも使えます)

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
◆ 解 説 <難易度・・・中級>
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞

藤原:日付のときは、DATE関数を使ったよね。
三重:ハイ、覚えています。公式は、「=DATE(年,月,日)」です。
藤原:同じように、時刻の場合は、TIME関数を使う。
佳代:そうですね。実は、これも知っていました。
三重:えー、佳代、やっぱり、知っていたの。
佳代:まあね。公式は、「=TIME(時,分,秒)」です。
藤原:よろしい。
三重:つまり、DATE関数と同じようなイメージでできるということですね。
藤原:そのとおり。
三重:すると、C2のセルに、=TIME(A2,B2・・・ 、あれれ、秒はどうすれ
   ばいいのですか?
藤原:この場合、秒は関係ないよね。そういう時は、カンマだけ入れれば
   いい。
三重:つまり、「=TIME(A2,B2,)」でいいのですか?
藤原:そのとおり。入れてごらん。
三重:ハイ。あっ!PMマーク入りで出ました。

   ┏━┳━━━━┯━━━━┯━━━━━┯━━━━┯━━━━┓
   ┃ ┃A   │B   │C    │D   │E   ┃
   ┣━╋━━━━┿━━━━┿━━━━━┿━━━━┿━━━━┫
   ┃1┃時   │分   │時刻データ│    │    ┃
   ┠─╂────┼────┼─────┼────┼────┨
   ┃2┃   12│   20│=TIME(A2,B2,) ←入力│    ┃
  〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
                 ↓     ←Enter
   ┏━┳━━━━┯━━━━┯━━━━━┯━━━━┯━━━━┓
   ┃ ┃A   │B   │C    │D   │E   ┃
   ┣━╋━━━━┿━━━━┿━━━━━┿━━━━┿━━━━┫
   ┃1┃時   │分   │時刻データ│    │    ┃
   ┠─╂────┼────┼─────┼────┼────┨
   ┃2┃   12│   20│ 12:20 PM│←午前・午後方式で┃
  〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜時刻が表示される

藤原:そうなんだ。この方法でやると、自動的に、AMPMのついた時刻形式
   なる。だから、表示形式を変えたい場合は、[書式]−[セル]で
   [セルの書式設定]を出して「表示形式」を変えればいい。
三重:それなら大丈夫です。この場合は、「分類」から「時刻」を選んで、
   「種類」から選べばいいのですね。
藤原:そういうこと。とにかく、大切なことは、カンマで、「時」「分」
   「秒」に区切るということ。必要のない部分は、カンマだけつける
   ということだ。
三重:つまり、「時」が必要ない場合は、=TIME(,B1,)って感じですね。
藤原:そう。とりあえず、知識として覚えておこう。時刻データを使って
   時間の計算をする方法は実に複雑だから、いろいろ覚えてうまく使
   っていかなければならない。その辺は、少しずつやるつもりだよ。
佳代:わかりました。本当に時刻ってやっかいですね。徐々に勉強してい
   きたいと思います。それでは、今日は、この辺で。

 -----------------------------------------------------------------
 <まとめ> 今回の問題に対する手順のみを示します
 -----------------------------------------------------------------

  セルC2を選択
  
  =TIME(A2,B2,)と入力して、Enter キーを押す
  
  セルC2を選択して、[書式]−[セル]をクリック
  
  [セルの書式設定]のダイアログボックスの「表示形式」のタブを
  開く
  
  「分類」から「時刻」を選び、「種類」から、13:30 を選ぶ
   (13:30の部分は、バージョンによって違います。要は、○○:○○
    の形になっているものを選べばよいのです)

 -----------------------------------------------------------------
 <補足> 
 -----------------------------------------------------------------

 ・この方式で作った時刻データは、時刻の計算などに使えます。ただ
  し、時刻の計算は、60進法ですので、非常にデリケートです。これ
  からもマガジンで取り上げますので、しっかり勉強してください。


E∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
     ★ あなたの技術をぐ〜んと高めるマガジン ★
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞L

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

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

◆ 今日の問題 「省入力で入力した文字列を時刻データにするには」

三重:先生、昔、数字だけ入れて、コロンを自動的に表す技がありました
   よね。
藤原:あったね。(89号「時刻を4桁で入れるには」参照)
佳代:表示形式をユーザー定義にして、「#0":"00」にするやつね。
三重:そうよ。でも、あれって計算できないじゃないですか。
藤原:もちろん。見た目だけしか変わらないよ。
三重:それを計算できるようにするにはどうしたらいいのですか?
藤原:なるほど、それじゃあ、今日は、それを問題にしよう。前回の技を
   うまく使えば、解答できるよ。
佳代:わかりました。それでは問題です。表示形式を使って、省入力で入
   力された文字列を時刻の計算ができるように時刻データにするには
   どうしたらいいでしょう?みなさんも一緒に考えてくださいね。

 ※ 表示形式は、ユーザー定義で、「#0":"00」になっています。
  「1230」と入力すると、見た目は「12:30」になりますが、保持して
   いるデータは、あくまでも「1230」ですので、時間の計算はできま
   せん。(下の図は、A1に「1230」と入力した例です)

           数式バーには、実際に入力した数値が入っている
   ┌────┬─┐   ┌↓──────────────┐
   │ A1  │▼│ fx │1230             │
   ├─┬──┴─┼───┴┬────┬────┬────┤
   │ │A   │B   │C   │D   │E   │
   ┣━╋━━━━┿━━━━┿━━━━┿━━━━┿━━━━┫
   ┃1┃12:30  │    │    │    │    ┃
   ┠─╂─↑──┼────┼────┼────┼────┨
  〜〜〜〜〜ユーザー定義で、表示形式が「#0":"00」になっている
       ため、見た目だけ、時刻の形をしている

   表示形式がよく分からない方は、先に、89号を読んでから解いてく
   ださい。 http://www.pat.hi-ho.ne.jp/hirosilk/exb086.htm#89

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

○ 登場人物紹介

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

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

・山形三重:佳代の同級生で,パソコン歴2年半。藤原先生のいとこ。

※ このマガジンは,Microsoftのエクセル2000,2002 の Windows版
  のみを扱っています。(たいていの場合、97でも使えます)

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
◆ 解 説 <難易度・・・中級>
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞

藤原:もちろん、前回やった、TIME関数を使う。
三重:それは、わかります。公式は、「=TIME(時,分,秒)」でしたね。
藤原:うん。でも、今回は、前回ほど単純に行かないよ。省入力している
   から、何通りかに分けなければならない。
佳代:そうですね。例えば、「1」と入力すれば、0:01 と表示されます。
藤原:そうだね。わかりにくいかもしれないから、ちょっと表に示してみ
   よう。
佳代:わかりました。4つのケースがあると思います。

   ┏━┳━━━━┯━━━━┯━━━━┯━━━━┯━━━━┓
   ┃ ┃A   │B   │C   │D   │E   ┃
   ┣━╋━━━━┿━━━━┿━━━━┿━━━━┿━━━━┫
   ┃1┃  0:05│←← 5と入力した場合(一桁入力)    ┃
   ┠─╂────┼────┼────┼────┼────┨
   ┃2┃  0:10│←←10と入力した場合(二桁入力)    ┃
   ┠─╂────┼────┼────┼────┼────┨
   ┃3┃  3:50│← 350と入力した場合(三桁入力)    ┃
   ┠─╂────┼────┼────┼────┼────┨
   ┃4┃  10:10│←1010と入力した場合(四桁入力)    ┃
   ┗━┻━━━━┷━━━━┷━━━━┷━━━━┷━━━━┛

藤原:そうだね。ただし、一桁入力と二桁入力は、いずれも「分」を表す
   わけだから、実際は、3つのケースに分ければいい。
三重:つまり、入力する桁数で場合わけするということですか?
藤原:そのとおり。文字数を調べて、4文字の場合、3文字の場合、2文
   字以下の場合に分けて値を取り出せばいい。
三重:なるほど、何となくわかってきました。しかし、どうやって文字数
   を調べるのですか?
藤原:それは、随分前になるけど勉強しただろ。
三重:えっ!そうでしたっけ?
佳代:三重、LEN関数よ。
三重:レン関数?
藤原:57号でやったよ。「=LEN(セル番地)」で、そのセルの文字数を調べ
   られる。
三重:ああ、思い出しました。あまりにも昔のことなので、すっかり忘れ
   ていました。
藤原:そうだよね。勉強しただけでは忘れるよ。使わなくちゃ。
佳代:ハイ。わたしは、結構使っています。
藤原:うん。それで、場合分けするわけだから、IF関数も使うね。
佳代:それに、前回やった、TIME関数を組み合わせるのですね。
藤原:そういうこと。すごく長くなるよ。
三重:本当ですね。でも、挑戦してみます。まずは、B2のセルに入れる
   ことを前提に考えてみます。
佳代:一気に行くの?
三重:一気に行くつもりよ。まずは、もし、A2のセルの文字数が4だっ
   たら「=IF(LEN(A2)=4,」左から2文字右から2文字をTIME関数の時
   分の部分に「TIME(LEFT(A2,2),RIGHT(A2,2),」そうでない場合、も
   し、文字数が3だったら「IF(LEN(A2)=3,」 左から1文字、右から
   2文字を「TIME(LEFT(A2,1),RIGHT(A2,2),」そうでなかったら、
   「TIME(,A2,)」をという感じかな。

   =IF(LEN(A2)=4,TIME(LEFT(A2,2),RIGHT(A2,2),),IF(LEN(A2)=3,
   TIME(LEFT(A2,1),RIGHT(A2,2),),TIME(,A2,)))

藤原:おう、随分長いのを言ってくれたね。それでいい。
佳代:一つ一つは難しくないですが、組み合わせると、かなり面倒ですね。
藤原:そうだね。括弧の数やカンマの位置など気を配らなければならない。
   ちなみに、どう違うか、6行目に合計を出してみよう。

   ┏━┳━━━━┯━━━━┯━━━━┯━━━━┯━━━━┓
   ┃ ┃A   │B   │C   │D   │E   ┃
   ┣━╋━━━━┿━━━━┿━━━━┿━━━━┿━━━━┫
   ┃1┃  0:05│  0:05│    │    │    ┃
   ┠─╂────┼────┼────┼────┼────┨
   ┃2┃  0:10│  0:10│    │    │    ┃
   ┠─╂────┼────┼────┼────┼────┨
   ┃3┃  3:50│  3:50│    │    │    ┃
   ┠─╂────┼────┼────┼────┼────┨
   ┃4┃  10:10│  10:10│    │    │    ┃
   ┠─╂────┼────┼────┼────┼────┨
   ┃5┃    │    │    │    │    ┃
   ┠─╂────┼────┼────┼────┼────┨
   ┃6┃  13:75│  14:15│    │    │    ┃
   ┗━┻━━━━┷━━━━┷━━━━┷━━━━┷━━━━┛

三重:あっ、違いますね。A列は、10進法の計算です。
藤原:うん。B列は、時刻の計算になっている。ただし、あくまでも、時
   刻の計算であって、時間の計算ではないから、24時を過ぎると、次
   の日として認識されてしまう。その辺は、また、別の機会にやるこ
   とにする。
佳代:わかりました。とりあえず、これで、省入力した文字列を時刻デー
   タに変えることができました。でも、まだまだ、これだけでは、自
   在に計算はできないようです。少しずつ勉強していきましょう。そ
   れでは、今日は、この辺で。

 -----------------------------------------------------------------
 <まとめ> 今回の問題に対する手順のみを示します
 -----------------------------------------------------------------

  A1にデータが入っている場合、
  
   =IF(LEN(A2)=4,TIME(LEFT(A2,2),RIGHT(A2,2),),IF(LEN(A2)=3,
   TIME(LEFT(A2,1),RIGHT(A2,2),),TIME(,A2,)))

  と入力。(メルマガの性格上、改行を入れていますが、実際は、改行
       なしで入れてください)

 -----------------------------------------------------------------
 <補足> 
 -----------------------------------------------------------------

  関数の意味を言葉で言うと、
  
  =IF もし
  (LEN(A2)=4, A2の文字数が4 ならば
  TIME 時刻形式の
  (LEFT(A2,2), 「時」の部分に、A2のセルの文字の左から2文字を
  RIGHT(A2,2)  「分」の部分に、A2のセルの文字の右から2文字を
  ,) 「秒」の部分には何も入れないのでカンマだけ入れる
  
  , そうでないとき
  
  IF もし
  (LEN(A2)=3, A2の文字数が3 ならば
  TIME 時刻形式の
  (LEFT(A2,1), 「時」の部分に、A2のセルの文字の左から1文字を
  RIGHT(A2,2)  「分」の部分に、A2のセルの文字の右から2文字を
  ,) 「秒」の部分には何も入れないのでカンマだけ入れる
  
  , そうでないとき
  
  TIME 時刻形式の
  (, 時の部分には何も入れないのでカンマだけ入れる
  A2 A2のセルの値をそのまま入れる
  ,) 秒の部分には何も入れないのでカンマだけ入れる
  
  )) 最初のIFの括弧と後のIFの括弧

 -----------------------------------------------------------------
 <参考> 今回出てきた技に関連したものを示します
 -----------------------------------------------------------------

  たくさん関数が出てきましたので、下で示されたバックナンバーで確
  認してください。一つ一つは、それほど難しいものではありません。

 【IF関数関係】
 
   http://www.pat.hi-ho.ne.jp/hirosilk/exb036.htm#38
   http://www.pat.hi-ho.ne.jp/hirosilk/exb091.htm
 
 【LEN関数関係】
 
   http://www.pat.hi-ho.ne.jp/hirosilk/exb056.htm#57

 【LEFT関数、RIGHT関数関係】

   http://www.pat.hi-ho.ne.jp/hirosilk/exb241.htm#245

 【TIME関数関係】
   http://www.pat.hi-ho.ne.jp/hirosilk/exb246.htm#247

 【時刻を4桁で入れる】

   http://www.pat.hi-ho.ne.jp/hirosilk/exb086.htm#89


E∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
     ★ あなたの技術をぐ〜んと高めるマガジン ★
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞L

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

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

◆ 今日の問題 「入力すると自動的に塗りつぶされるようにするには」

三重:先生、質問で〜す。
藤原:何だい、三重ちゃん。
三重:ハイ、セルに何か入力すると勝手に塗りつぶしてくれるようにした
   いのです。
佳代:勝手に?
三重:そうよ。とにかく、入力したらセルが塗りつぶされるようにしたい
   というわけ。
藤原:なるほど。簡単だよ。それじゃあ、今日は、それを問題にしよう。
佳代:わかりました。それでは問題です。どのセルでもかまいませんから、
   とにかく、入力すると自動的にセルが塗りつぶされるようにするに
   はどうしたらいいでしょう。みなさんも一緒に考えてくださいね。

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

○ 登場人物紹介

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

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

・山形三重:佳代の同級生で,パソコン歴2年半。藤原先生のいとこ。

※ このマガジンは,Microsoftのエクセル2000,2002 の Windows版
  のみを扱っています。(たいていの場合、97でも使えます)

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
◆ 解 説 <難易度・・・中級>
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞

藤原:これは、条件付書式を使うね。
三重:そうですね。でも、どうやるのかわかりません。
藤原:うん。とりあえず、すべてを選択して全セルを選択しよう。
三重:ハイ。Ctrl+Aでいいですね。
藤原:そうだね。でも、アクティブセルが、A1なるようにしたいから、
   まず、A1にカーソルを置いてから、Ctrl+Aを打つといいね。
佳代:ハイ。行番号の1の上と列番号のAの左のところをクリックすれば、
   自動的に、A1がアクティブセルになって全体を選択できます。

ここを ┏━┳━━━━┯━━━━┯━━━━┯━━━━┯━━━━┓
クリック→ ┃A   │B   │C   │D   │E   ┃
    ┣━╋━━━━┿━━━━┿━━━━┿━━━━┿━━━━┫
    ┃1┃    │    │    │    │    ┃
    ┠─╂────┼────┼────┼────┼────┨

藤原:そうだね。アクティブセルとは、選択範囲内の白くなっているセル
   のこと。佳代ちゃんがいった方式でやると、必ず、アクティブセル
   は、A1になるから便利。
三重:そうですね。カーソルがほかにあるときは、その方が便利です。
藤原:とにかく、A1がアクティブセルで、全セルが選択された状態で、
   [書式]−[条件付書式]を選ぶ。
三重:ハイ。これは、何度もやりました。
藤原:そこで、「セルの値が」の部分を「数式が」に変える。
三重:ハイ、これも得意です。▼をクリックして変更します。
藤原:うん。そして、右のボックスに、 =A1<>"" と入力する。
佳代:あっ、「<>」は、〜でないときという意味ですね。
藤原:そう。ずいぶん昔にやったような気がするけどね。
三重:覚えています。つまり、空白でないときという意味ですね。
藤原:そのとおり。空白のときは働かないけど、何か入力されたとき、つ
   まり、空白でないときに働くようにすればいい。
三重:わかりました。そして、ダイアログにある[書式]ボタンを押します。
藤原:うん、うん。
三重:そして、「パターン」のタブを開いて、塗りつぶしの色を指定しま
   す。後は、OK、OKでいいのですね。
藤原:そういうこと。それじゃあ、何か、入力してごらん。
三重:ハイ。それじゃあ、a と入れてみます。
佳代:色がついたわね。
三重:大成功です。
藤原:この技は、地味だけど、使い方によっては結構役立つよ。今回は、
   入力すると色がつくように設定したけど、逆に、色を付けておいて、
   入力するとなくなるように設定してもいい。
佳代:そうですね。やり方は同じですね。
藤原:まったく同じだよ。あらかじめ、塗りつぶしておいて、範囲を指定
   し、[書式]ボタンを押した後、「パターン」で「塗りつぶしなし」
   を選べばいい。
佳代:なるほど、一見、逆ですが、条件は同じでいいのですね。
藤原:そのとおり。いろいろ応用できるから研究してほしいね。
佳代:わかりました。使い方しだいでは、使えるようです。みなさんも、
   是非、試してみてください。それでは、今日は、この辺で。

 -----------------------------------------------------------------
 <まとめ> 今回の問題に対する手順のみを示します
 -----------------------------------------------------------------

  A1をアクティブセルにして全セルを選択

  [書式]−[条件付書式]をクリック
 
  「セルの値が」を「数式が」に変更
 
  右のボックスに「=A1<>""」と入力

  ダイアログボックス内の[書式]ボタンをクリック

  「パターン」のタブを選び、任意の色を選ぶ
 
  順次、[OK][OK]をクリックして終了

 -----------------------------------------------------------------
 <補足>
 -----------------------------------------------------------------

  例題では、全セルを選択しましたが、もちろん、必要な部分だけ範囲
  選択して設定してもかまいません。ただし、式は、アクティブセルの
  セル番地を入れて設定してください。

  例:アクティブセルが「B12」の場合 =B12<>""

 -----------------------------------------------------------------
 <参考> 今回出てきた技に関連したものを示します
 -----------------------------------------------------------------

 【比較演算記号について】意味は次のとおりです

  「=」 〜と等しい  「>」〜より小さい 「<」〜より大きい

  「<>」〜と等しくない「>=」〜以下    「<=」〜以上

  例 A1>B1 B1はA1より小さい(〜を左側と考えてください)

 【条件付書式関係】

   http://www.pat.hi-ho.ne.jp/hirosilk/exb011.htm#12
   http://www.pat.hi-ho.ne.jp/hirosilk/exb086.htm#88
   http://www.pat.hi-ho.ne.jp/hirosilk/exb111.htm#113
   http://www.pat.hi-ho.ne.jp/hirosilk/exb136.htm#138
   http://www.pat.hi-ho.ne.jp/hirosilk/exb196.htm#200
   http://www.pat.hi-ho.ne.jp/hirosilk/exb241.htm
   http://www.pat.hi-ho.ne.jp/hirosilk/exb246.htm


E∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
     ★ あなたの技術をぐ〜んと高めるマガジン ★
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞L

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

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

◆ 今日の問題 「便利なショートカット4」

三重:先生、いよいよ節目の250号です。
藤原:そうだね。随分勉強したね。
三重:そこで、今回は、久々にショートカットの問題をお願いします。
藤原:わかったよ。それじゃあ、いくつか出すよ。
佳代:お願いします。
藤原:それでは、問題です。次の操作をキーボードでするにはどうしたら
   いいでしょう。

   1.セル内で改行する

   2.セルを削除する

   3.一画面右に移動する

   4.選択行を非表示にする

   5.非表示の行を表示する

   6.選択列を非表示にする

   7.非表示の列を表示する

佳代:みなさんも一緒に考えてくださいね。

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

○ 登場人物紹介

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

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

・山形三重:佳代の同級生で,パソコン歴2年半。藤原先生のいとこ。

※ このマガジンは,Microsoftのエクセル2000,2002 の Windows版
  のみを扱っています。(たいていの場合、97でも使えます)

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
◆ 解 答
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞

   1.セル内で改行する・・・・・Alt+Enter

   2.セルを削除する・・・・・・Ctrl+ −

   3.一画面右に移動する・・・・Alt+PageDown

   4.選択行を非表示にする・・・Ctrl+9(テンキー不可)

   5.非表示の行を表示する・・・Ctrl+Shift+9(テンキー不可)

   6.選択列を非表示にする・・・Ctrl+0(テンキー不可)

   7.非表示の列を表示する・・・Ctrl+Shift+0(テンキー不可)

∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
◆ 解 説
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞

藤原:できたかな?
三重:ハイ、大丈夫です。
藤原:1番のセル内での改行は必須だね。
佳代:これは、マガジンでもやりました。
藤原:そうだったね。最初の方だったかな。
佳代:そうですね。とにかく、相当前です。それに、セル内改行だけ削除
   する方法も勉強しました。(181号)
藤原:そうだったね。それから、一画面右へ動かす方法が、案外、盲点に
   なっているみたいだ。
三重:ハイ。右側に動かす機会は少ないですからね。左側に動かす場合は、
   Alt+PageUp です。
藤原:そのとおり。それから、行や列の表示、非表示も、よく使う人は覚
   えておくといいだろう。
佳代:ハイ。キーボードの、9と0と覚えておけばいいわけですね。
藤原:そういうこと。どちらにしても、よく使うものから覚えていけばい
   い。めったに使わないものは、無理して覚えないほうがいいよ。
佳代:わかりました。みなさんも、必要に応じて覚えてください。それで
   は、今日は、この辺で。


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