
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種類定義されていない場合
(今回のような、正の値・負の値・ゼロの値をひっくるめた数値としての日付;文字列)、
どう判断し、優先されるのかは、試行錯誤している状態です。
長くなりましたが、参考になれば幸いです。
No.4
- 回答日時:
入力値が文字列と判定された場合に、文字列用に定義された書式が使われます。
@は入力した文字列に特定の文字列を付加して表示するときの位置を示すので、特定文字の必要が無い場合は、@有りと@無しでは見た目の違いはありませんね。ggge"年"m"月"d"日";@"←へんだよ"
という書式を定義してみました。
入力した値が暦日として正しい場合は書式「平成○○年○○月○○日」のように、不正の場合は書式「○○←へんだよ」と表示させる場合です。
@が無いと、"←へんだよ"の文字が出ませんでした。以下のような結果になりました。
入力値 @無しの場合 @有りのとき
1/32 1/32 1/32←へんだよ
No.2
- 回答日時:
日付範囲外の、カレンダーではありえない、数字を/で区切って入力し(例2005/13/35)てみて、その場合、文字列にそのまま表示する(X)のかと思ってやってみた。
確かに文字列にはなる。しかし、ない場合も文字列表示になったので、入れても入れなくても変わらなかった。
WEBをざっと検索したが、解説した例は見つからなかった。
本やWEBやOKWAVEの質問でも;@つきは見たことがない。
上記(x)が正しいのか自信はないですが、実用上は忘れてよいのではないでしょうか。
;は場合わけ、@は文字列表示の意味でしょうが。
この辺に詳しそうな回答者Mさん(最近ご回答を見ないが)など
他のご回答を待ちます。
検索までしてくださったようで本当にありがとうございます。私も色々調べたのですが、いまいち意味がわからずにいました。ご親切にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの数式で教えてください。 2 2022/12/23 14:57
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/01/23 17:13
- MySQL SQLについて質問です。 SELECT TO_CHAR(TO_DATE('90-10-08.'YY- 4 2022/05/13 20:55
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 09:24
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/05/23 16:28
- Excel(エクセル) 【vba】日付の形式が勝手に変わってしまう。 1 2022/09/29 10:54
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 11:02
- Access(アクセス) アクセスで教えてください。 クエリで2日前を抽出する計算式を 入力して表示させると ちゃんとyyyy 1 2023/06/08 21:05
- Access(アクセス) エクセルのVBAについて教えてください。 4 2023/01/21 10:21
- Excel(エクセル) 年月表示を取り出すには 5 2023/02/23 22:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のセルだけ結果がおかしい...
-
エクセルのdatedif関数を使って...
-
エクセルのVBAで集計をしたい
-
【マクロ】【配列】3つのシー...
-
vba テキストボックスとリフト...
-
エクセル ドロップダウンリスト...
-
【関数】同じ関数なのに、エラ...
-
Office2021のエクセルで米国株...
-
【マクロ】列を折りたたみ非表...
-
9月17日でサービス終了らし...
-
【マクロ】アクティブセルの時...
-
ページが変なふうに切れる
-
【条件付き書式】シートの中で...
-
【マクロ】3行に上から下に並...
-
【マクロ】オートフィルターの...
-
【マクロ】EXCELで読込したCSV...
-
【画像あり】オートフィルター...
-
他のシートの検索
-
エクセルの循環参照、?
-
Excelファイルを開くと私だけVA...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル
-
【マクロ】WEBシステムから保存...
-
エクセルの循環参照、?
-
エクセル ドロップダウンリスト...
-
エクセルのdatedif関数を使って...
-
特定のセルだけ結果がおかしい...
-
【マクロ】A列にある、日付(本...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】アクティブセルの時...
-
【エクセル】期限アラートについて
-
iPhoneのExcelアプリで、別のシ...
-
【関数】同じ関数なのに、エラ...
-
Excelの新しい空白のブックを開...
-
【マクロ】3行に上から下に並...
-
【マクロ】宣言は、何のために...
-
VBA チェックボックスをオーバ...
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
【関数】不規則な文章から●●-●●...
おすすめ情報