こんにちは。木内です。
今日は引き続き、Excelについてお話ししましょう。
昨日も書いたとおり、Excelってちょっとしたテクニックで効率があがるんですよね。
特に難行にも渡って日付をドバーっと入れた横セルに、対応する曜日をいちいち調べて入れていたら…
まあ昨日のドロップダウンリストで月曜から日曜までを用意すれば、多少は入力が楽になりますが^^;
そんなわけで、今日は次の2点にトライしてみましょう!
- 8/23 と入力し確定したら、2018/08/23 と表示されるようにする。
- 更にその右のセルに、自動的に曜日が出るようにする。日付を入れない場合は曜日も表示させない。
やってみましょう!
まず「セルの書式」を整える
次の状態で始めます。

ます、B3セルに日付を入れる準備をします。
B3セルを右クリックし、出てきたコンテキストメニュー(こういうメニューの言い方)のやや下のほう、セルの書式設定をクリックします。

出てきたセルの書式設定ウィンドウの左側、分類の下「ユーザー定義」を選びます。
すると、「種類」と一行入力可能な項目が出てくるので…

半角小文字で yyyy/m/d と入力してOKしましょう。

セルに戻って、半角で 8/23 と入力します。

そしてエンターすると…
勝手に 2018/8/23 となりましたね!

日付の書式自動化はこれでおしまい。
実はこの書式、種類の選ぶところにあったような気がするのですが、今回はあえて手入力してみました。
入力した中身ですがy が 年(year) 、 m が 月(month) 、 d が 日(day) を、それぞれ表します。
またこの書式は微調整が可能で、
年は yyyy で4桁(2018) 、 yy で2桁(18) 。入力は年を省略すると今年になります。
月や日は1桁目が0の場合、mm や dd と 2文字入れると 01,02,03 …とゼロが表示され、 1文字だと 1,2,3 …とゼロが表示されません。
8/1と入力した場合
- yyyy/dd/mm 2018/08/01
- yyyy/d/m 2018/8/1
- yy/dd/m 18/08/1
- yy/d/mm 18/8/01
と、こんな感じになります。月日はゼロ表示か非表示、統一したほうがいいですね^^;
日付から曜日を計算させる
今度は曜日を計算させて、自動的に入力されるようにしましょう。
C3セルに
=TEXT(B3,”aaa”)
と入力しましょう。関数や計算の入力は、必ずイコール記号からですね。

これでエンターすると…

あら不思議、自動的に 木 と出てきました。
ここで使ったTEXT関数は、文字列を色々な表記に変換してくれる関数のようです。
B2はセルの指定ですし、2つめのパラメータにはとりあえず aaa って入れると曜日を一文字で出してくれます。また aaaa とaを4つにすると、 木曜日 と曜日表記までつきます。
応用編:日付が存在しない場合は曜日も表示しない
上記の方法は便利なのですが、一つ問題が。
それは、日付を空白にしておくと適当な曜日が表示されてしまうことです。
表に入力出来る項目を作っておいて、後で書き込んで行く場合もありますよね。
その時にいちいち関数をコピペしていたのでは手間です。
なので、日付セルに入力が無い場合は、TEXT関数を処理させないで空白にする。
これを関数に置き換えると、次のようになります。
=IF(COUNTA(B2),TEXT(C2,”aaa”),“”)
色別に役割を見ると、赤の
赤の IF で、緑の部分を判断し、それが成立するならピンクを実行、不成立なら青を実行します。
COUNTAは文字や数値が存在するか判断する関数。
つまり 文字(この場合日付)が存在すれば、TEXT関数で日付を表示し、存在しなければ、何もしない(ということを実行する)
こんな仕組みです。
さて、実際の画像で見てみましょう。

こうすると
こうなります。

B3,C3セルをそのまま下の行へコピーすれば

こうなりますね?
これはしっかり式もコピーされていますので、今度はB4の日付を消してみましょう。

ハイ、日付を消したとともに見事に曜日表示も消えました!
掘り起こせばいくらでも出てくるけれど
いかがだったでしょうか?
今日は「セルの書式設定」で設定を変えたりとか、TEXT , IF , COUNTA などの関数を使ってみました。
関数の代表と言えば、やっぱり合計をはじき出すのSUMかもしれません。
でもまだまだ色々あると思います。
僕もまだまだ勉強不足ですので、実際使いながら勉強していって、良さそうなのが見つかったらまたご紹介したいと思います。
それでは今日はこのへんで!
コメント