情報処理演習 第9回
前回までの課題の提出(準備中)こちらの連絡事項を見て、前回課題の提出状況を確認してください。
前回の課題前回の課題は、説明に訂正箇所が数ヶ所ありました。すいませんでした。 あと1つ訂正がありましたので、連絡します。 前回の訂正「条件判定」のところで、成績をつけるときの条件を計算式で入力しますが、 次の説明が間違っていました。
この条件で、IF関数を使った計算式が、次のようになると説明しましたが、これは誤りです。 IF(O2>6, ROUND(M2*0.4+N2*0.4+O2*10*0.2,0), 0) 条件に合う、正しい計算式は次のとおりです。 IF(O2>=6, ROUND(M2*0.4+N2*0.4+O2*10*0.2,0), 0) ^^^^^ 前回の説明の内容は、すでに修正しました。 こちらの説明が間違えていましたので、 課題を修正しなくてもかまいませんが、余裕があるようであれば、正しい計算式を設定してください。 度数分布この計算式は難しかったようですので、解説をします。 度数分布とは、「0点以上、10点未満の人の数」「10点以上、20点未満の人の数」のように、度数(値の一定の範囲)にどのくらいデータが分布しているかを見るものです。 次のように、点数が分布している表を考えてみましょう(人数は10人です)。 これをCOUNTIF関数を使って計算します(範囲は「点数」としておきます)。
あと、「80点以上90点未満」まで、同じように計算をしていけばいいだけです。 今回の内容今回は、日付/時刻関数を使った、万年カレンダーを作ります。 年月を指定すると、自動的にカレンダーを作成するというものです。 #ref(): The style ref(filename,pagename) is ambiguous and become obsolete. Please try ref(pagename/filename) &ref(): The style ref(filename,pagename) is ambiguous and become obsolete. Please try ref(pagename/filename);を右クリックしてください。「リンクを名前を付けて保存」や「対象をファイルに保存」を選んで、「マイドキュメント」に保存してください。 保存できたら、ダウンロードしたファイルを開いてください。 日付のデータ日付のデータの表現Excelでは、日付のデータ(2003年11月26日など)を、「1900年1月1日からの日数」で管理しています。たとえば、2003年11月26日は「1900年1月1日から37951日後」というようにです。「37951」のような日付のデータのことを「日付のシリアル値」といいます。ほかに、時刻のシリアル値もあります。 日付のデータを、西暦や和暦などの表示形式で表示することができます。 「日付のデータ」というシートを表示してください。 「37951」とシリアル値が並んでいますので、表示形式を設定して、さまざまな日付の表示形式を設定してください。表示形式の設定は、次のようにします。
次に、日付をシリアル値に変換してみましょう。 C12セルに、自分の誕生日を入力してください。誕生日が1984年7月2日であれば、「1984/7/2」のように入力してください。 そして、次のように表示形式を設定すると、誕生日のシリアル値がわかります。
日付と日数の計算日付をシリアル値として扱うおかげで、「○月○日の何日後」や「○月○日から○月○日までの日数」のような日付の計算をすることができます。 たとえば、「2003年11月26日の100日後」を調べるには、次のようにします。
また、「2003年11月26日から2004年3月31日までの日数」を求めるには、どうすればよいでしょうか。2004年3月31日のシリアル値から2003年11月26日のシリアル値をひけばよいだけです。D18セルに計算式を入力してください。そのままだと「1900/5/5」のように表示されるので、表示形式を「標準」にして、シリアル値(日数)で表示するようにしてください。 カレンダーの作成では、「カレンダー」のワークシートを表示してください。 カレンダーの作成と日付/時刻関数の説明をします。 年と月を、C2セルとE2セルにそれぞれ、「2003」「11」と入力してください。 曜日の入力(オートフィル)まずカレンダーの曜日を入力します。 Excelのオートフィル機能を使えば、連番の数字だけではなく、曜日もマウスで簡単に入力できます。 次のように操作してください。
次に、B5〜H5セルまでに、1〜7までの数字を入力してください。ここでもオートフィルを使うとよいでしょう。 第1週の計算次に、第1週の日付の計算をします。 ここでは、「その年月の1日が何曜日になるか」がポイントになります。 ここで使う関数は、これまで登場したIF関数と、日付/時刻関数のDATE関数、WEEKDAY関数です。
これらの式を使って、第1週の計算をしてみましょう。 B5〜H5セルの値も利用します。 正解から紹介すると、B6セルの計算式は次のようになります。 =IF(B5>=WEEKDAY(DATE(C2,E2,1)), B5-WEEKDAY(DATE(C2,E2,1))+1, "") ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ 条件式(A) 真の場合(B) 偽の場合(C) つまり、次のような意味になります。
わかりにくいので、表にしてみましょう。 年月を少し変えて、「2003年10月」の場合を見てみます。 「2003年10月1日」は水曜日ですので、曜日の値は「4」となります。
つまり、まずセル(B6〜H6)の曜日の値と、その年月の1日の曜日の値を比較します。 もし、セルの曜日の値より1日の曜日の値が小さければ、そのセルには指定された年月の日付はあらわれないはずです(まだ前の月の日付)。 もし、セルの曜日の値より1日の曜日の値が同じか大きければ、そのセルには指定された年月の日付があわられます。セルの日付は、曜日の値を計算したものから求めることができるというわけです。 B6セルの計算式の「C2」と「E2」セルを指定している部分を、絶対参照の形式に変更してください。 変更できたら、B6セルの計算式をC6〜H6セルにコピーしましょう。 第2週〜第6週までの計算第1週目は難しい数式を使いましたが、第2週から第6週は簡単な計算式で求めることができます。 第2週の日曜日の日付は、第1週の土曜日の日付に1を足したものですから、 B7セルの次のような計算式になります。 = H6 + 1 また、第2週の月曜日の日付は、日曜の日付に1を足したものですから、 C7セルの次のような計算式になります。 = B7 + 1 あとは、月曜日の計算式を土曜日のセル(H7)までコピーし、そのあと第2週の計算式全体を第6週までコピーすれば、すべての枠に計算式を入力することができます。 コピーには、マウスを使えば簡単にできます。 #ref(): The style ref(filename,pagename) is ambiguous and become obsolete. Please try ref(pagename/filename) 月末の表示(条件付き書式)今のままでは、月末に「32」や「33」などの余計な数字が表示されてしまっています。 そこで、「条件付き書式」を使って、数値の表示をコントロールします。 条件付き書式とは、普通の書式設定とは違い、セルや計算の値がある条件がときに設定せる書式のことです。 ここで使う関数は、さっき登場したDATE関数と、日付/時刻関数のDAY関数です。
この式を使って、次のように条件付き書式を設定しましょう。 「その月の最終日より大きい数値は、背景と同じ文字色で表示する」という条件にします。
設定できると、月の最終日より大きい数字が見えなくなります。ただし、表示されていないわけではないので、セルの塗りつぶしを設定するときには気をつけてください。 見映えの設定カレンダーを見映えをよくするため、次のような設定をして下さい。
最後に、年月を自分の誕生日の年月にしてください。 ここまでできたら、課題の説明にすすんでください。 |