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)と入力したのですが無理でした。

どなたかお願いします!

A 回答 (5件)

こんばんは!


色々方法はあると思いますが・・・
一例として、

D1セルを
=CHOOSE(WEEKDAY(DATEVALUE(A1&"/"&C1)),"(日)","(月)","(火)","(水)","(木)","(金)","(土)")
としてオートフィルで下へコピーしてみてください。
希望に近い形になると思います。

尚、要らぬお世話かもしれませんが、出来ることであれば
一つのセルに 5/3 のように入力した方がもっと簡単な式になるかもしれませんね。

以上、参考になれば幸いです。m(__)m

この回答への補足

5/3と日付入力したいのですが、見栄えを重視する報告書なんです。

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

とりあえず、今から試してみます!

補足日時:2009/05/14 20:57
    • good
    • 0

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の様に年も付けて入力)。これで月も曜日もお望みの状態になると思います。
    • good
    • 0

No.1です。


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

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

ありがとうございました。

お礼日時:2009/05/14 21:04

たびたびごめんなさい!


No.2です!

回答を投稿したあとでNo.1のmt2008様の回答を読ませてもらい
確かに「年」の情報がまったく入っていませんので
先ほどの回答では今年のシリアル値になってしまいます。

以上、補足ということで・・・失礼しました。m(__)m
    • good
    • 0
この回答へのお礼

Excel便利だけど難しいというか奥が深いですね。

ありがとうございました。

お礼日時:2009/05/14 21:04

まず、年の情報が無ければ曜日はわかりません(今年の5/14と去年の5/14では曜日が違いますよね)。


また、セルの書式を(aaa)にしても、日付のシリアル値でなければ曜日になりません。
年の情報を含めた文字列(YYYY/MM/DD)を作り、DATEVALUE()で日付に対応したシリアル値にしてください。
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/05/14 20:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング