• 締切済み

任意の数値入力に対する冒頭末尾の自動表記

ユーザー定義で数値(西暦)のあとに「年」を自動入力させたく 「yyyy"年"」 と設定しましたが、なぜか「1905年」になってしまいます。 これをユーザー定義で任意の数値に対し「年」が自動で表記されるようにしたいのですが…。 またユーザー定義で任意の数値を入力すると、冒頭に「平成」、末尾に「年」が自動で入力させる式を教えてください。

みんなの回答

  • f272
  • ベストアンサー率46% (8467/18129)
回答No.4

> 2020ではなく任意の数字です。 もちろん2020は単なる例示です。 > yも使えると思うのが当然です。でも実際は違ってます。 もちろん使えますよ。でも入力している数値が例えば2019であれば,2019という意味しかありません。書式としてyyyyを使うのであればこの数値を日付として解釈しなければいけませんが,2019年という意味にはなりません。2019という数値は2019日と解釈されます。2019日=1905年7月11日ですからyyyy"年"という書式にすれば1905年になるのが当然なのです。 > 「mm"月"」と設定したら「07月」と表記させたかったのに「01月」になりました これも上記と同じことで,7と入力したのならそれは7日であって7月ではありません。7日=1900年1月7日ですから書式をmm”月”とすれば01月になるのが当然です。 > 「07月」とさせたければ「0#"年"」と設定すればでよいのでしょうか? そうですね。 もしmm”月”を使いたいのであれば,入力するのは7ではなくて例えば2020/7/1とか2020/7/27です。 > またユーザー定義で任意の数値を入力すると、冒頭に「平成」、末尾に「年」が自動で入力させる式を教えてください。 例えば,"平成"##"年"とか"平成"00"年"でどうですか?

frau
質問者

補足

わかりました。 「yyyy”年”」や「mm”月”」はシリアル値として扱われるということなのですね。 >もしmm”月”を使いたいのであれば この場合、西暦も入力しなくてはならないのでやめます。 (回答3「または入力を2020/7/26のようにしたうえで,書式を「yyyy"年"」にしてください」というのは入力のことだったんですね) 各列「年(西暦)」「月」「日」(いずれも1桁の場合0を入れる)をピポットテーブルの行にしたいのですが、以下のようにすることにしました。 「年(西暦)」→「####"年"」 「月」→「00"月"」 「日」→「00"日"」

  • f272
  • ベストアンサー率46% (8467/18129)
回答No.3

2020と入力したとき,書式を「yyyy"年"」とすれば1905年になって当然です。yyyyは日付の書式設定に用いられる文字ですから入力した数値を日付として解釈します。2020を日付として解釈すれば1900年1月0日からの日数が2020である日を意味しますから1905年7月13日のことです(実際はエクセルは計算を間違って12日にするのだがそれは別の話)。1905年で間違いないよね。 2020年という表示にしたければ,書式を「####"年"」にしてください。 または入力を2020/7/26のようにしたうえで,書式を「yyyy"年"」にしてください。

frau
質問者

補足

2020ではなく任意の数字です。 またこの解説 https://support.microsoft.com/ja-jp/help/883199 では、「日付を表示する書式記号は以下の記号を使用します。」とあるのですからyも使えると思うのが当然です。でも実際は違ってます。 また「mm」は「1 桁の月には 0 をつけて 2 桁で表示します。」という説明どおりになるかと思いきや、「mm"月"」と設定したら「07月」と表記させたかったのに「01月」になりました(中身は「1900/1/6」のようです。) 「07月」とさせたければ「0#"年"」と設定すればでよいのでしょうか?

  • b4330b
  • ベストアンサー率16% (17/103)
回答No.2

  セルの書式設定を "平成"@"年" これにする

frau
質問者

補足

@は基本的に文字列です。 "平成"00"年"でもいいのでは? わからないのが「0」と「#」の使い方です。 https://support.microsoft.com/ja-jp/help/883199 ここでの解説では「#」については 「1桁の数字を示します。# の数だけ桁数が指定され、その有効桁数しか表示されません。また、余分な 0 も表示されません。」 とありますが、 たとえば「####」と4桁に設定した場合実際「111111111」と入力しても4桁にはなりません。同様「0」についても 「1桁の数字を示すが、指定したゼロの桁数だけ常にゼロが表示されます。」 とのことですが、常にゼロ表示のはずがたとえば「0000」の設定で「1111」と入力した場合そのまま「1111」と表示されます。 なぜでしょう?

回答No.1

エクセル等の話でしょうか ユーザー設定に[s-から始まるのがあると思います。 この設定にして西暦で2020/07/26のような入力をすると 表示されるのではないでしょうか

frau
質問者

補足

年月まではいらないのです。あくまでユーザー定義のことです。