- 締切済み
Excel で日付の表示をそろえたい
毎月9日までは表示形式を「m"月"_0d"日"」とし、10日以降は表示形式を「m"月"d"日"」にしたいのですが、関数でその設定をするにはどうしたらよいでしょうか、教えてください、よろしくお願いします。 (注)月の字の位置が揃えば別の方法でも結構です。
- みんなの回答 (7)
- 専門家の回答
みんなの回答
- chonami
- ベストアンサー率43% (448/1036)
> [="DAY()<=9"] 式を囲っている""を外せばそれでOKだと思います。 勝手にくくられちゃったりするので要注意ですね。 さらに詳しくはNo.6での回答をご覧ください。
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
日付データを文字列にしてしまっても構わないなら、次式。 =text(a1,"m月"&if(day(a1)<10,"_0","")&"d日") 「MS ゴシック」などの等幅フォントで表示。「MS Pゴシック」のようなプロポーショナルフォントだと、スペースの幅が狙いどおりの大きさにならないと思います。 文字列にした日付を数値に戻すには、次式。その後、セルの書式を添付図 C 列のような感じで、日付関係の書式に設定。 =0+substitute(b1," ",) テキスト化はせず、あくまでセルの書式で設定するなら、条件付き書式を設定。「新しいルール」ダイアログで「数式を使用して…」を選び、「=day(e1)<10」と記入し、書式ボタンから「m"月"_0d"日"」を指定。さらに、同様にして 2 つ目のルールとして「=day(e1)>=10」と記入し、書式ボタンから「m"月"d"日"」を指定。 この場合は、セルの書式の機能で幅を調節するのであってスペースの文字ではないので、「MS Pゴシック」でも幅は大丈夫と思います。
お礼
MarcoRossiItalyさん ありがとうございました。 おかげさまで解決しました。
- chonami
- ベストアンサー率43% (448/1036)
あ、元々は関数ご希望ですか? TEXT関数なら =IF(DAY(A1)<10,TEXT(A1,"m月 d日"),TEXT(A1,"m月d日")) とかでしょうか? 右寄せして等幅フォントで。
お礼
chonamiさん ありがとうございました。 おかげさまで解決しました。
- chonami
- ベストアンサー率43% (448/1036)
バージョンは何をお使いですか? 2007以降でしたら、条件付き書式でDAY関数を使い9日以前の日付なら「m"月"_d"日"」にするように設定し、セル全体には「m"月"d"日"」としておけば、条件付書式が優先されるので1桁の日付ならスペースが入ると思います。 後、フォントを等幅にしてください。 2003以前でしたら、表示形式ではなくTEXT関数などで別セル処理になります。
お礼
chonamiさん ありがとうございました。 おかげさまで解決しました。
補足
chonamiさん ありがとうございます。 条件付き書式をする場合、アクティブセルへの入力日付が9日以前のとき、条件指定は [数式が] [="DAY()<=9"] こういう書き方でよいのでしょうか。 知識不足でよくわかりません、教えてください、よろしくお願いします。
- aokii
- ベストアンサー率23% (5210/22062)
関数では難しいので、セルを右クリックして、セルの書式設定で、表示形式を、ユーザー定義の、 mm"月"dd"日" に設定します。
お礼
aokiiさん ありがとうございました。 おかげさまで解決しました。
補足
aokiiさん ありがとうございます。 入力条件が変わるごとに、いちいち書式設定をせずにすませる方法がないものかと探しているところです。
- mayucya
- ベストアンサー率34% (15/44)
セルの書式設定からではダメなのでしょうか? 1.対象のセルで右クリック 2.表示形式の「ユーザー定義」クリック 3.種類のところに、「yyyy/mm/dd」を入力 (色々選択できるようになっていますが、直接入力できます) そうすると、「2013/3/29」⇒「2013/03/29」となります。 解釈違いの回答でしたら申し訳ありませんm(-ω-;)m
お礼
mayucyaさん ありがとうございました。 おかげさまで解決しました。
補足
mayucyaさん ありがとうございます。 9日以前は、mm月 d日 10日以降は、mm月dd日 のように、月日の文字を入れてその位置が揃うようにしたいのですが。
お礼
chonamiさん ありがとうございました。 おかげさまで解決しました。