アプリ版:「スタンプのみでお礼する」機能のリリースについて

はじめて質問させていただきます。

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

よろしくお願いいたします。

A 回答 (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))てなことになりそうですが意味ないですね。

この回答への補足

回答いただいた皆様ありがとうございます。補足させてください。

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

補足日時:2004/07/29 13:33
    • good
    • 0

#3さん。

訂正にツッコミ失礼。
DATEDIFも分析ツールをインストールしなくても使えますよ。

日付のセルがA1だとしたら、DATEVALUEじゃなくて
=A1*1
でも良いかもしれませんよ。
    • good
    • 0

#1のHitomiKuroseです。


ごめんなさい。DATEDIFとかと違って標準ですね。
無視して下さい。
    • good
    • 0

もしかして変換前の値がシリアル値(表示書式がyyyy年m月d日)なのではないですか?


=IF(ISTEXT(A1),DATEVALUE(A1),A1)
の様にしてみてください。
    • good
    • 0

ツール→アドインの分析ツールにチェックを入れます。


分析ツールが見当たらない場合OfficeのCDロムが必要です。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!