よりDATEVALUE関数がエラーに対象:Excel97,Excel2000,Excel2002,Excel2003DATEVALUE関数を使って、西暦年を和暦年に変換する方法をご紹介しました。このネタに関して、言語設定によってはエラーになってしまうというご指摘をいただきました。ありがとうございます。当然と言えば当然のことです。よって違うわけですから。「2006年5月4日」と認識する方がほとんどです。違えば年月日の表記は異なります。Excelでも言語設定によって年月日の表示スタイルは異なります。[スポンサードリンク]ですから、前回ご紹介した「=DATEVALUE(A2&"年1月1日")」という計算式は、日本語でない言語設定ではエラーになってしまうことが多いはずです。「2006年1月1日」というのは、日本では一般的ですが世界的に共通していない、あくまでも日本式の年月日表示形式なわけですから。DATEVALUE関数は「文字列」の形式で表された日付を、シリアル値にする関数ですので、言語設定によって理解不能な文字列が引数で与えられた場合、エラーが発生してしまいます。英語(米国)環境のWindowsでDATEVALUE関数を使うのならば、引数を英語(米国)式にする必要があります。「=DATEVALUE("01/01/"&A2)」このような指定をすれば、英語(米国)環境下でDATEVALUE関数を使ってシリアル値が取得できるはずです。「01/01/2006」という形式で年月日を指定していることになります。16KByte)ダウンロードサンプルファイルではDATEVALUE関数に様々なスタイルの引数を渡すサンプルを作成してあります。A列の値を「2007」等に変更すると、B列でエラーが発生するもの・発生しないものが見られると思います。Windowsの言語設定を変更してから再度A列の値を変更すると、先とは違うB列のいずれかのセルがエラーになるはずです。言語設定が変更されることによって、日付形式と認識できなくなってしまったスタイルで引数が指定されているDATEVALUE関数で、エラーが発生します。DATEVALUE関数を利用する場合、言語設定によってこのようなことが発生するということをご承知置きください。XPの場合[地域と言語のオプション]ダイアログ−[地域オプション]タブで、変更します。[地域と言語のオプション]ダイアログは、コントロールパネルの地域と言語のオプションからも表示できますが、[ファイル名を指定して実行]ダイアログに「intl.cpl」と入力して[OK]ボタンをクリックしても表示できます。Officeの使い方などを紹介し続け(2012年頃からはVBA関連記事が多め)、毎日5万人の方にご覧いただいています。