• ベストアンサー

エクセルで日付印刷するには?

エクセルで日付印刷するには? 日誌の雛形に何らかの関数を入れておいて印刷の際に日付を1~31日まで入力した形で印字することは出来ますか? また、もし出来るなら営業日のみ(日曜以外)を印刷するということは出来ますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • tadagenji
  • ベストアンサー率23% (508/2193)
回答No.1

その日その日に印刷するならば、印刷範囲の日付を表示するセルに =today() という関数を入れておけば、印刷するときの日付で印刷される。 日付をどうのような形式で表示するかは、セルの書式形式で設定してください 印刷後も、その日付を固定したければ、そのセルをアクティブにして編集状態でF9を押すことで値のみになる。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

質問があいまい。 >日誌の雛形に (1)毎日1シートで日々シートが別になっているもののセルに日付を書き込むのか。 (2)1シートに日付けが順に入っているような内溶のものか。 シートの実例も質問に挙げないで、あいまいな言葉だけで質問しても答えようがない。 エクセルにはTODAY()関数はあるが、翌日には翌日のTodayになってしまう。 これでは日誌の場合都合が悪いだろう。固定の値にする方法もあるが、毎日面倒だろう。 ーー (2)のように シート上に営業日(土日祝を除く)だけを、列内にリストアップする。 2010年10月の例 下記で-のセルは実際は空白セルです。 A列ーD列 A列は、月中の日数字を連続データの作成で作る。 B列は B2に =IF(workday(DATE($A$1,$B$1,A2)-1,1,"2010/10/11")=DATE($A$1,$B$1,A2),DATE($A$1,$B$1,A2),"") ,2010/10/11の部分は祝日を指定したもの。 式の意味は前日の次のWORKDAYは本日なら、その日を残す。でなければ空白。 C列は参考までにB列をコピーして表示形式を曜日aaa 2010 10 1 2010/10/1 金 2010/10/1 2 - - 2010/10/4 3 - - 2010/10/5 4 2010/10/4 月 2010/10/6 5 2010/10/5 火 2010/10/7 6 2010/10/6 水 2010/10/8 7 2010/10/7 木 2010/10/12 8 2010/10/8 金 2010/10/13 9 - -    2010/10/14 10 - -     2010/10/15 11 - -     2010/10/18 12 2010/10/12 火 2010/10/19 13 2010/10/13 水 2010/10/20 14 2010/10/14 木 2010/10/21 15 2010/10/15 金 2010/10/22 16 - - 2010/10/25 17 - -    2010/10/26 18 2010/10/18 月 2010/10/27 19 2010/10/19 火 2010/10/28 20 2010/10/20 水 2010/10/29 21 2010/10/21 木 22 2010/10/22 金 23 - 24 - 25 2010/10/25 月 26 2010/10/26 火 27 2010/10/27 水 28 2010/10/28 木 29 2010/10/29 金 30 31 D列はB列を値のみ貼り付け(式を消し)D列だけで並べ替え。 このように面倒なことになる。 ーーーー まして各シートの決った位置のセルに、土日祝以外の日付を入れるのは、VBAで無いとむつかしいと思う

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

例えばシート1にデータがあるとして該当の月日のみのデータを印刷したいのでしたら印刷用のシートとしてシート2を用意します。シート2のA1セルには印刷したい月を入力するのですが、そこには今年の10月でしたら2010/10/1と入力します。その後セルの表示形式でユーザー定義を選び m"月分" としてOKします。これでシート2のA1セルには10月分と表示されます。 そこでシート2のA1セルで設定した月で日曜日を除いた営業日のみを表示させるために、シート1には作業列を設けて対応します。 シート1では例えばA1セルに日付とあり年月日を入力したデータが下方に入力されているとします。また、それらの日付における種々のデータが例えばG列まで入力されているとします。そこで作業列ですがH列に設け、H2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(OR(A2="",WEEKDAY(A2)=1),"",IF(AND(YEAR(A2)=YEAR(Sheet2!$A$1),MONTH(A2)=MONTH(Sheet2!$A$1)),MAX(H$1:H1)+1,"")) その後にシート2ではA2セルには次の式を入力してG2セルまでオートフィルドラッグします。 =IF(Sheet1!A1="","",Sheet1!A1) これでシート1の1行目にある項目名などが表示されます。 A3セルには次の式を入力してG3セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(ROW(A1)>MAX(Sheet1!$H:$H),"",IF(INDEX(Sheet1!$A:$G,MATCH(ROW(A1),Sheet1!$H:$H,0),COLUMN(A1))=0,"",INDEX(Sheet1!$A:$G,MATCH(ROW(A1),Sheet1!$H:$H,0),COLUMN(A1)))) なお、A3セルから下方のセルについてはセルの表示形式を日付から選んで表示するようにします。 これらの操作によってシート2のA1セルで設定した日付に応じた年月のデータとそれに日曜日を除いたデータがシート2に表示されることになります。一度お試しください。

関連するQ&A

専門家に質問してみよう