• ベストアンサー

日付に関して

   A B C  D  E 1   5 / 3 2    / 5 3    / 8 4   6 / 12 5    / 25     ・     ・ 上記のように日付をかいています。すべてのセルが文字列です。 D列に曜日(火)、(木)と自動で表示させるにはどのようにすればよいでしょうか? D列にCONCATENATEでA1:C1を結合させ、E1でD1を参照してセルの書式設定で(aaa)と入力したのですが無理でした。 どなたかお願いします!

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! 色々方法はあると思いますが・・・ 一例として、 D1セルを =CHOOSE(WEEKDAY(DATEVALUE(A1&"/"&C1)),"(日)","(月)","(火)","(水)","(木)","(金)","(土)") としてオートフィルで下へコピーしてみてください。 希望に近い形になると思います。 尚、要らぬお世話かもしれませんが、出来ることであれば 一つのセルに 5/3 のように入力した方がもっと簡単な式になるかもしれませんね。 以上、参考になれば幸いです。m(__)m

motty7777
質問者

補足

5/3と日付入力したいのですが、見栄えを重視する報告書なんです。 5/3 5/14 だと日の位置がそろってませんよね? 3 14 みたいに揃えなければなりませんし、 月は省略する必要があります。私は会計事務所で働いていて、 組合法通りの決算書を作成しなくてはならないのですが、会計ソフトが対応していないため、Excelで作成しています。会計ソフトは高価なだけあって決算報告書の見栄えがバッチリなんです…。 とりあえず、今から試してみます!

その他の回答 (4)

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.5

No.1です。たびたびすいません。 No.2の補足を読みました。 もう既に入力済みの物を直すのは面倒でしょうが、次回からシートを次の様にすると入力も楽になるかと思います。 A1に、=IF(C1="","",MONTH(C1)) A2に、=IF((C2="")+(MONTH(C2)=MONTH(C1)),"",MONTH(C2)) A2を下までコピー C列は表示書式で d と設定し、日しか表示しないようにする。 D1に、=IF(C1="","",C1) 表示書式を(aaa)に設定し、D1を下までコピー 日付の入力はC列に 5/14 の様に入力(今年のデータでよい場合。今年以外の場合は2008/5/14の様に年も付けて入力)。これで月も曜日もお望みの状態になると思います。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.4

No.1です。 ちょっと補足。 DATEVALUE関数はDATEVALUE("5/14")の様に月日だけの文字列を渡すと今年の何月何日として扱ってしまいます。 つまり、今年中は問題ありませんが、翌年このファイルを開いた時は2009年のデータのつもりでも2010年の曜日が表示されてしまいますので、必ず年を付けましょう。

motty7777
質問者

お礼

最高です!! 年は必要ありませんが列の非表示でなんとかしてみます! ありがとうございました。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

たびたびごめんなさい! No.2です! 回答を投稿したあとでNo.1のmt2008様の回答を読ませてもらい 確かに「年」の情報がまったく入っていませんので 先ほどの回答では今年のシリアル値になってしまいます。 以上、補足ということで・・・失礼しました。m(__)m

motty7777
質問者

お礼

Excel便利だけど難しいというか奥が深いですね。 ありがとうございました。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

まず、年の情報が無ければ曜日はわかりません(今年の5/14と去年の5/14では曜日が違いますよね)。 また、セルの書式を(aaa)にしても、日付のシリアル値でなければ曜日になりません。 年の情報を含めた文字列(YYYY/MM/DD)を作り、DATEVALUE()で日付に対応したシリアル値にしてください。

motty7777
質問者

お礼

ありがとうございました。試してみます。

関連するQ&A

専門家に質問してみよう