• ベストアンサー

Excelの日付の表示形式

日付の表示形式で、gee.mm.dd;@とかgggee."年"mm"月"dd"日";@という表示の、セミコロンの後の@の意味がわかりません。@マークは文字列ではと思ったのですが、この場合は、@マークがある場合とない場合でどう違うのでしょうか?教えてください。

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

  • ベストアンサー
noname#30830
noname#30830
回答No.3

こんにちは。 >この場合は、@マークがある場合とない場合でどう違うのでしょうか? ユーザー定義の表示形式の場合、 正の値、負の値、ゼロの値、文字列で異なる表示形式を設定することができ、 その区切りが「;」セミコロンなのです。 例に挙げていただいたgee.mm.dd;@とかgggee."年"mm"月"dd"日";@の場合、 @の前が;(セミコロン)なので、@は質問者のおっしゃるとおり文字列なので、 文字列以外と判断される数字類を入れると、数値→シリアル値と変換され、 例えば12-24と入力すると(日本語入力でも)、 gee.mm.dd;@の表示形式の場合  H17.12.24 gggee."年"mm"月"dd"日";@の場合 平成17.年12月24日 と表示されます (gggee."年"mm"月"dd"日"は、ggge"年"mm"月"dd"日"が常識的な表記なのですが「.」(ピリオド)が入るとそのままピリオドが表示されます)。 日付と関係ない1という数値を入力しても、シリアル値と認識され、 シリアル値と表示形式で 前者はM33.01.01 後者は明治33年01月01日 質問者が理解しているとおり、@(アットマーク)は文字列なので、 1年 と入力すると、どちらの場合でも 1年 と表示されます。 質問の例では、どういう意図で誰かが作成したのかわからないのですが、 gee.mm.dd;[赤]@ という表示形式にすれば、文字列が赤文字で表示されますし、 [青]ggge"年"mm"月"dd"日";@ という表示形式にすれば、日付と判断された値が青文字で表示されます。 色は[白][黄][赤][紫][緑][紫][青][黒]の8色が指定できます。 なお、例のように正の値、負の値、ゼロの値、文字列 というように4種類定義されていない場合 (今回のような、正の値・負の値・ゼロの値をひっくるめた数値としての日付;文字列)、 どう判断し、優先されるのかは、試行錯誤している状態です。 長くなりましたが、参考になれば幸いです。

kuku_1224
質問者

お礼

本当にありがとうございました。とても参考になりました。

その他の回答 (3)

  • akipapa
  • ベストアンサー率38% (34/89)
回答No.4

入力値が文字列と判定された場合に、文字列用に定義された書式が使われます。@は入力した文字列に特定の文字列を付加して表示するときの位置を示すので、特定文字の必要が無い場合は、@有りと@無しでは見た目の違いはありませんね。 ggge"年"m"月"d"日";@"←へんだよ" という書式を定義してみました。 入力した値が暦日として正しい場合は書式「平成○○年○○月○○日」のように、不正の場合は書式「○○←へんだよ」と表示させる場合です。 @が無いと、"←へんだよ"の文字が出ませんでした。以下のような結果になりました。 入力値 @無しの場合 @有りのとき 1/32  1/32      1/32←へんだよ

kuku_1224
質問者

お礼

実際やってみまして、意味がわかりました。ご親切にありがとうございました。

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

日付範囲外の、カレンダーではありえない、数字を/で区切って入力し(例2005/13/35)てみて、その場合、文字列にそのまま表示する(X)のかと思ってやってみた。確かに文字列にはなる。 しかし、ない場合も文字列表示になったので、入れても入れなくても変わらなかった。 WEBをざっと検索したが、解説した例は見つからなかった。 本やWEBやOKWAVEの質問でも;@つきは見たことがない。 上記(x)が正しいのか自信はないですが、実用上は忘れてよいのではないでしょうか。 ;は場合わけ、@は文字列表示の意味でしょうが。 この辺に詳しそうな回答者Mさん(最近ご回答を見ないが)など 他のご回答を待ちます。

kuku_1224
質問者

お礼

検索までしてくださったようで本当にありがとうございます。私も色々調べたのですが、いまいち意味がわからずにいました。ご親切にありがとうございました。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

実質的に変わらないと思います。

関連するQ&A

  • Excel 表示形式 について

    Windows XP SP2 EXcel2003 素朴な質問ですみません Excelの試験勉強をしていてふと、疑問がでてきました 表示形式についてです ツールバー[書式]-[セル]で表示形式のダイアログを出し[表示形式]タブに切り替えました [分類]を日付にし⇒ 2007/3/14 のタイプを選んでおきます その状態でもう一度[分類]を今度は[ユーザ定義]に変えました すると・・・ ⇒ yyyy/m/d;@ このような形式として[種類]ウィンドウに表示されています セミコロン以降の@は何を意味しているのでしょうか? セミコロンで区切ると正;負;0;文字の設定ができる、というところと考え方は同じなのでしょうか? でも日付に負・・・? シリアル値で考え、”1900/1/1以前の日付は文字列で表示します”ということでしょうか? ちなみに;@が無いタイプでも1900/1/1以前の日付は文字列(と、いうか表示形式を数値に設定できません)になりました どのように使い分けるのかご存知の方どうぞご教授くださいませ よろしくお願いいたします

  • エクセルの表示形式

    Excel2002を使っています。セルA1に日付が入っています。 もし「H○○.△△.××」(H17.04.01)と表示させたい時について質問します。 セルの書式設定でユーザー定義から「ge.mm.dd」とするのと「gee.mm.dd」とするのとでは表示が変わらなかったのですが、どちらが正解でしょうか? また意味が違ってきますか? 教えてください。

  • エクセルの日付の表示形式

    エクセルの日付の表示形式で、たとえば「S56.01.24」と表示させたければ、ユーザー定義で種類から[$-411]ge.mm.dd;@を選択すればよいとありますが、このときの[$-411]とは何を表しているのでしょうか?よろしくお願いします。

  • エクセル日付について

    エクセル2000を使用しています。 文字列で 99/99/99 のデータを YYYY/MM/DD 日付け形式に変換したいのですが、 どうすればよいのでしょうか。 セルには、98/11/20とか 03/03/04 とあります。

  • エクセルの表示形式(日付→文字)

    エクセルで、2002/12/1のような日付が大量に入っている列があります。 そのセルの表示形式は、現在日付になっているのですが、 文字列に変更する必要が出てきました。 しかし、表示形式を文字列に変更すると、37591のような数字になってしまうセルと、2002/12/1のままのセルが出てきてしまいます。 表示形式を文字列に変えてもすべてのセルが2002/12/1のようになる方法はないでしょうか、よろしくお願いいたします。

  • Excel vba 日付の形式判定

    Excelに日付、開始時間の列があります。 セルの形式をチェックしたいのですが、形式が下記のとおりであるか どう記述すればいいのでしょうか? 日付チェックはisdate関数を使いますが、日付の形式がyyyy/mm/dd、時間の形式がhh:mmであるかの 判定方法を教えてほしいです。 例) 日付    時間  2021/05/01 10:00  H33/05/01   ← yyyy/mm/dd形式でない為、NG   10時00分 ← hh:mm形式でない為、NG 

  • EXCEL 日付の入力形式

    こんにちは。 日付が、dd/mm/yyyyの形式で入力されたデータをもらいました。 関数を利用したいのでEXCELに日付として認識させたいのですが、 セルの書式設定で設定してもだめなようです。 質問 1)yyyy/mm/ddの形式で入力されていないと日付として認識されないのでしょうか? 2)現在の形式のまま、日付として認識させる方法はありますか? 3)dd/mm/yyyyをyyyy/mm/ddに変換する方法はありますか? 以上、よろしくお願いします。

  • Excel 日付の表示形式

    Excelで日付を入力した時に揃えたいのですが、 なかなかきれいにできません。 例えば、6/16と入力した時、 平成19年6月16日→[$-411]ggge"年"m"月"d"日"、 平成19年06月16日→[$-411]gggee"年"mm"月"dd"日"となるのは分かったのですが、 平成19年 6月16日の様に、6月の6の前に0ではなくスペースを空けたいときは、どうしたら良いのでしょうか? よろしくお願いします。

  • エクセルでの日付書式について

    エクセルでの日付書式についての質問です。 1968/4/1を、(S43) 1968/04/01のように表示させたいのですが、「セルの書式設定」のユーザー定義で、(gee) yyyy/mm/ddとすると (S43) 43/04/01と表示されてしまいます。 (yyyy) gee/mm/ddならば(1968) S43/04/01と書式通りに表示されるのですが。 ちなみにExcel2000では出来て、Excel2003では出来ないようです。 修正パッチなどご存知の方がいらっしゃいましたら、教えていただけると幸いです。 よろしくお願い申し上げます。

  • エクセルの日付機能

    エクセルの日付機能に関する質問です。 あるワークシートのA列に日、B列に月、C列に年が入力されています。これらの日付を行ごとに結合して、D列にdd/mm/yyという形式で表示させたいと考えています。 先ほど、D2に[=A2&"/"&B2&"/"&C2]という計算式を入力し、D列を右クリックして[セルの書式設定]→[表示設定]→[ユーザー定義]で[種類]欄に[dd/mm/yy]と入力しましたが、D2は日付として認識されず、ただの文字列として認識されているようです。 統合された文字列が日付として認識される良い方法を教えていただけないでしょうか?よろしくお願いします。

専門家に質問してみよう