• 締切済み

EXCEL DATEVALUE関数が使えたり使えなかったり…

はじめて質問させていただきます。 EXCEL2002SP2で"2004年7月29日"という形式の文字列をDATEVALUE関数で日付シリアル値にしているんですが、使うPCによって正しく変換される場合と#VALUE!エラーになる場合があるのです。対処法はありませんでしょうか?同じ結果が得られるのならばDATEVALUEにはこだわりません。 よろしくお願いいたします。

みんなの回答

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

相当ベテランとお見受けしますが、下記の点はいかがでしょうか。 DATEVALUE関数は「使い方を間違えると」と言うことは ないと思うので、データ中身の問題に帰着すると思う。 (1)「2004年7月29日"という形式の文字列が」入っている。 それで、そのセルにマウスをポイントすると、数式バーの内容はどうなりますか? もし2004/7/29と出ていれば、もう文字数ではなくて、日付 ですよ(実質は正の整数にしか過ぎない)。表示形式で2004年7月29日と見えているだけです。それをもし=DATEVALUE(A1)としておれば、おかしいですよね。 あるセルに敢えて文字列で2004年7月29日と文字通り入力するのは ’を付けたり、="2004年7月29日"としないとだめで、そんなことするかなという感じ。 この場合敢えて=A1以外で、日付を再現するなら、=DATE(YEAR(A1),MONTH(A1),DAY(A1))てなことになりそうですが意味ないですね。

hikiyowa_kensiro
質問者

補足

回答いただいた皆様ありがとうございます。補足させてください。 DATEVALUEは実際に使えてますから表記そのものに間違いはないと思うのですよ。そのワークブックを他のPCで開くとDATEVALUE関数部分が#VALUE!になっていたりして、使える環境と使えない環境の差異が見出せないでいるのです。EXCELのVerも同一、アドインも同一、Windowsの地域オプションの日付表記も確認してみましたが同一、なのに正しく答えを返すPCとエラーを返すPCがあるというところで ??? となっているのです。

  • hakone
  • ベストアンサー率54% (40/73)
回答No.4

#3さん。訂正にツッコミ失礼。 DATEDIFも分析ツールをインストールしなくても使えますよ。 日付のセルがA1だとしたら、DATEVALUEじゃなくて =A1*1 でも良いかもしれませんよ。

回答No.3

#1のHitomiKuroseです。 ごめんなさい。DATEDIFとかと違って標準ですね。 無視して下さい。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.2

もしかして変換前の値がシリアル値(表示書式がyyyy年m月d日)なのではないですか? =IF(ISTEXT(A1),DATEVALUE(A1),A1) の様にしてみてください。

回答No.1

ツール→アドインの分析ツールにチェックを入れます。 分析ツールが見当たらない場合OfficeのCDロムが必要です。

関連するQ&A