回答者に100ポイント:

Excel2007の関数について質問です。
http://flickr.com/photos/7854217@N08/2491219891/

DBから抜いた、年/月/日 時:分:秒が1つのセルに入ったデータがあります。
これを年だけ表示させたいと思っています。例えば
2007/12/19 11:32:33

2007
にしたい、というものです。

ただ、表示形式を「日付」としてではなく、「標準」として扱いたいと思っています。
LEFT関数やYEAR関数ですと、日付の属性(表示形式)として扱うことになるので使えません。

どういう処理をすれば、表示されている文字列はそのままに、日付としての属性を、標準の属性に
変更できますでしょうか?

なお、件数は数万件あるので、手入力で変更することは不可能です。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2008/05/14 18:06:09
  • 終了:2008/05/14 18:21:42

回答(1件)

id:Gay_Yahng No.1

Gay_Yahng回答回数724ベストアンサー獲得回数262008/05/14 18:09:39

ポイント100pt

A1に2007/12/19 11:32:33が入っているとして

=YEAR(A1)

でどうでしょう?

文字列で扱いたいならば、属性を文字列にしておくと2007という文字扱いになります。

http://q.hatena.ne.jp/1210755967

id:duckdown

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

うーん、試行錯誤しているうちに難しく考えすぎたようです。

2008/05/14 18:21:30
  • id:duckdown
    訂正です。
    Left関数を使うと、正しい文字列が表示されなくなるのでした。上記にものに
    =Left(XX,4)
    とすると、
    3943
    という意味不明の文字列がでてきてしまいます。
  • id:Gay_Yahng
    エクセルの日付は
    1900/1/0 0:00
    という日付を0として、シリアルな値で表現しています。
    LEFT関数で値をとってしまうとそのシリアルな値が取り出されてしまうのです。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません