- 締切済み
エクセルの#value!エラーについて質問します。
エクセルのヘルプには#value!エラーが返る原因のひとつに ・セル参照、数式または関数が配列定数として入力されている とありますが、これはどのような状態なのでしょうか? 具体的に数式で示してください。 他所でも質問したのですが具体的な答えが返ってこなかったので・・・
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- keithin
- ベストアンサー率66% (5278/7941)
随分引っ張りますね(苦笑)。 当初のご相談にあなたのエクセルのバージョンが明記されていませんでしたので,その時点でExcel97まで遡って確認した上で,一番最初の「入力できない」という回答をしています。(その後の補足で,どうやら2007以降をご覧になっているらしいことは判りました) つまり,Excel97まで遡っても入力できませんが,Excel97の時点でヘルプの記述は回答したようになっていました。
- keithin
- ベストアンサー率66% (5278/7941)
コンピュータのプログラム本体に間違いが見つかるという事はしばしば起こりますが,ヘルプにも間違いが見つかることはあります。その修正版が出ることは稀です。 あなたがご覧になっている「配列数式のガイドラインと例」は2007以降のヘルプで新たに追加された内容ですが,そういったメジャーアップデートに際して新たに書き下ろした箇所でもないかぎり,以前のドキュメントがそのまま焼き直しでまかり通っています。 現実問題として, 1)「配列定数」とは,あなたが理解しているとおりのモノのことです。 2)配列定数に数式やセル参照,関数式を入力して打ち込むことは出来ません というのが,現在のExcelのAs Isの姿です。
お礼
keithinさん ありがとうございます。 つまり、#value!エラーの説明は以前のエクセルのままで修正されておらず 「配列数式のガイドラインと例」がそれより後に追加され説明に矛盾が発生している ということでしょうか ということは以前のエクセルのバージョンならば 「セル参照、数式または関数が配列定数として入力されている」の内容で#value!エラーを 表示させることは可能でしょうか?もしできるのであれば、具体的にどのバージョンかわかりますか? 「Excel97]とか「Excel98」とか・・・
- keithin
- ベストアンサー率66% (5278/7941)
実際には,今のエクセルではその記述の内容によって#VALUEを出すことは出来ません。 エクセルのヘルプには ----------- ▼セル参照、数式、または関数が配列定数として入力されている 配列定数がセル参照、数式、または関数でないことを確認します。 ----------- と記されていますね。 ここで説明されている「配列定数」とは,たとえば =MATCH("○",{"◎","○","△"},0) といったカンジの「{ }」で囲った部分を言います。 詳細については「配列数式と配列定数について」というヘルプのトピックスに述べられていますが, =MATCH("○",{"◎","○",C1},0) といった具合に配列の中でセル参照や数式などを記述する事は出来ません。 ただしこういった式を書いてEnterしようとすると,エクセルはエラーを出す以前に「間違った数式」として,入力をさせてくれません。
お礼
keithinさん ありがとうございます。 「今のエクセルではその記述の内容によって#VALUEを出すことは出来ません。」 やはり、上記の答えが最終的な結論になってしまうのでしょうか #value!エラーのヘルプには「セル参照、数式または関数が配列定数として入力されている」場合に #value!が返ると記述されています。 一方、ヘルプの「配列数式のガイドライン」の説明では「定数で使用できる要素」の項目で 「配列定数には、別の配列、数式、または関数を含めることができません」と説明されています。 このふたつの説明は矛盾してるように思うのですが説明が修正されたりしないのでしょうか
- kokorone
- ベストアンサー率38% (417/1093)
その後、色々調べてみました。 ={1,abs(2),3} という式なのかな。 でも、これを操作してみると、入力時にエラーになっています。
お礼
kokoroneさん 度々ありがとうございます。 ={1,abs(2),3} 私もこのような式に該当すると思うのですが 実際に入力すると「入力した数式は正しくありません」と表示されます。
- kokorone
- ベストアンサー率38% (417/1093)
http://officetanaka.net/excel/function/error/08.htm の =A1+A1:B1 または、 =RANK(A1:A2,A1:A2) が、これにあたると思われます。
お礼
早速の回答、ありがとうございます。 配列定数とは数式のなかで{ }をつかって数値や文字列を表示しているものだと認識しているのですが {1,2,3} {"大阪","東京","名古屋"}など・・・ kokoroneさんのおっしゃる =A1+A1:B1 =RANK(A1:A2,A1:A2) は配列定数に当たるのでしょうか?
お礼
そうですか、Excel97の時点でそのように記述されているのですか できれば実際に質問のやり方で#value!エラーを表示させてみたかったのですが残念です。 keithinさん 最後まで、ありがとうございました。