• ベストアンサー

ユーザ定義について

お世話になります。 当方、excel2000を使用しておりますが、以下のように 200101と入力、表示は2001/01 2001/01と入力、表示は2001/01 (上記は,同じセルでの作業です) と、するにはユーザ定義でどのようにするのでしょうか。 よろしくお願いします。

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

  • ベストアンサー
  • himehime
  • ベストアンサー率37% (133/354)
回答No.5

文字列になっちゃうので、日付としての計算ができなくなりますが。 表示形式だけ返ればいいということであれば、 =LEFT(D4,4)&"/"&RIGHT(D4,2) でできます。 LEFT(D4,4)の、意味は、200101と入力したセルの、 「左から四番目の文字を返しなさい。」です。 (,の後ろが、返したい文字数) Right関数は、同様に、右から二つ文字を返しなさいです。 これは、数字変えてみれば意味わかると思います。 あとは、&を使って、/を文字列として、この二つの関数にくっつけました。 詳しくはヘルプみてくださいね。 でも、ほかの方もおっしゃっているように、データの入力規則つかうなりした方がいいようにおもいますが、一応、セル参照ですので、他のセルにも、数式はコピーできますよ。 計算に日付使いたいのでしたら、こういう場合の日付は、 年度数は年度数、月数は月数で別々のセルにすると、DATE関数や、DATEVALUE関数が使えるんじゃないかと思います。

noname#2048
質問者

お礼

このような関数があったとは、ありがとうございます。 今後,何かの役に立つと思いますので、非常にありがたいです。 また、お世話になることがあるかと思いますが、よろしくお願いします。

その他の回答 (4)

  • april21
  • ベストアンサー率42% (91/216)
回答No.4

=IF(5=INT(LOG10(D5)),TEXT(DATE(INT(D5/100),MOD(D5,100),1),"yyyy/mm"),TEXT(D5,"yyyy/mm")) とすればどちらでも表示されます。(数式一行です・・長いです^^;) 作業用のセルが必要ですが・・すでに入力されてるものを変更する際に 使えるかなと思います。 数式セルをコピーして「形式を選択して貼り付け」で「値」で貼り付けて不要な セルを削除すればOK。 これから入力するのであればcomvさんのおっしゃっるように入力規則を使うか 条件付き書式で間違って入力した場合はセルの色を変えて知らせるとかが良い のでは?

  • comv
  • ベストアンサー率52% (322/612)
回答No.3

>2001/01とかにした場合は、うまく表示されません あっ失礼しました! 何種類か試したボツの方を記載してしまいました! [<=100000]yyyy/mm;[>100000]0"/"00 これでどうでしょうか!

noname#2048
質問者

お礼

ありがとーございます。うまくいきました。

  • comv
  • ベストアンサー率52% (322/612)
回答No.2

こんばんは! >200101と入力、表示は2001/01 >2001/01と入力、表示は2001/01 表示だけなら、[>100000]0"/"00;yyyy/mm などで可能ですが・・・ 当然、実際に入力された「値」は違うのでその値を 最利用(参照、検索、抽出など)するのには不向きです。 できれば、入力規則で日付を設定しておいて それ範囲外の数値は受付けないようにする方を お勧めします。

noname#2048
質問者

お礼

ありがとうございます。 教えていただいた方法で,200101のときはうまくいくのですが、2001/01とかにした場合は、うまく表示されません(1905/06と表示されます) 入力規則での方法も試して見ます。

  • april21
  • ベストアンサー率42% (91/216)
回答No.1

2001/01と入力してですが・・・。 yyyy/mm で表示されました。 200101と入力して2001/01とするのは関数で表示されるとか しないといけないかも・・・。

noname#2048
質問者

お礼

ありがとうございます。 yyyy/mmは、やったんですが200101とか入力した際がだめなんです。 関数ですか,さがしてみます。

関連するQ&A