- ベストアンサー
エクセル関数を使用した予定表作成
- エクセルの関数を使用して、指定された年月の予定表を作成します。
- 月末の日付は自動的に計算されます。
- 曜日は関数を使用して表示されます。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
tom04様は、A5セルのデータをシリアル値ではなく、文字列データにした事を忘れておられます。 ですから、B5セルの関数は次の様になります。 =IF(A5="","",TEXT(DATE($A$1,$A$2,A5),"aaa")) それから、28日までは毎月必ずあるのですから、A5~A32は、数値を直接入力するだけで良いと思います。 そして、A33セルの関数は、次の様になります。 =IF(MONTH(DATE($A$1,$A$2,ROW(A28)))=$A$2,ROW(A28),"") tom04様の関数では、ROW関数だけで既に数値が得られているにも関わらず、DATE関数で一旦シリアル値に変換してから、TEXT関数を使用して元の数値に再度変換していますが、それは、単なる三度手間です。 又、A33セル関数の別の例としては、次の様な関数を使用する事も出来ます。 =IF(ROW(A28)>DAY(DATE($A$1,$A$2+1,1)-1),"",ROW(A28))
その他の回答 (6)
- kmetu
- ベストアンサー率41% (562/1346)
ふたたび訂正 =IF(A2="","",IF(MONTH(DATE(YEAR(A2),MONTH(A2),DAY(A2)+1))=MONTH(A2),DATE(YEAR(A2),MONTH(A2),DAY(A2)+1),"")) は冗長で =IF(A2="","",IF(MONTH(A2+1)=MONTH(A2),A2+1,"")) で十分でした。 ちなみに A1に年 2011 等 B1に月 3 等 入力した場合 A2は =DATE(A1,B1,1) となります。
- tom04
- ベストアンサー率49% (2537/5117)
No.2です! たびたびごめんなさい。 前回のB列はA列がシリアル値ということが前提でした。 前回のA列の数式はシリアル値ではなく、単に1~31(月末)までの数値を表示する数式でしたので、 「1」は1900年1月1日となってしまい、「日」と表示されてしまいました。 検証せずに投稿してごめんなさい。 もう一度数式を載せておきます。 セル配置は前回同様とします。 A5セル(セルの表示形式はユーザー定義から d としておきます) =IF(MONTH(DATE($A$1,$A$2,ROW(A1)))=$A$2,DATE($A$1,$A$2,ROW(A1)),"") B5セル(セルの表示形式はユーザー定義から aaa としておきます) =IF(A5="","",A5) この両セルを範囲指定し、B5セルのフィルハンドルで下へコピーしてみてください。 何度も失礼しました。m(__)m
- kmetu
- ベストアンサー率41% (562/1346)
訂正 と入力して29行までフィル ↓ と入力して32行までフィル
- kmetu
- ベストアンサー率41% (562/1346)
例 A2に2011/3/1と入力(書式の設定でユーザー定義 種類を d にする) A3に =IF(A2="","",IF(MONTH(DATE(YEAR(A2),MONTH(A2),DAY(A2)+1))=MONTH(A2),DATE(YEAR(A2),MONTH(A2),DAY(A2)+1),"")) と入力して29行までフィル B2に =IF(A2<>"",TEXT(A2,"aaa"),"") と入力して29行までフィル A2の日付を変えると全て変わります
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 予定表は作成できませんが、とりあえず日付と曜日だけ・・・ 一例です。 ↓の画像でA5セルに =IF(MONTH(DATE($A$1,$A$2,ROW(A1)))=$A$2,TEXT(DATE($A$1,$A$2,ROW(A1)),"d"),"") B5セルに =IF(A5="","",TEXT(A5,"aaa")) として、A5・B5セルを範囲指定し、B5セルのフィルハンドルで35行目までコピーで 画像のような感じになります。m(__)m
補足
教えてくださり、ありがとうございます! 教えていただいたやり方でやってみたのですが、 日付と曜日が実際のカレンダー通りに対応しないのですが、 これをあわせるにはどうしたらよいでしょうか?
- edomin7777
- ベストアンサー率40% (711/1750)
何のために?
お礼
できました!ありがとうございます みなさん、ありがとうございました。 とても助かりました。