- ベストアンサー
INDIRECT関数で参照先が空白セルの場合
INDIRECT関数で参照先が空白セルの場合は、 返り値が0になってしまうのでしょうか。 (例)A1が空白の場合 =INDIRECT("A1")の結果は0なのか? エクセルを持ってないので、教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
=IF(ISNUMBER(INDIRECT("A1")),INDIRECT("A1"),TEXT(INDIRECT("A1"),"#")) としてみるとか
その他の回答 (3)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
>ExcelでもVALUE("")はエラーになってしまうのでしょうか? エラーになります 質問とは直接関係ないですが 空白データを含む範囲でグラフを作成して空白部分を飛ばしてグラフを作成したい場合、 エクセルでは範囲を複数(空白部分を飛ばして)指定してグラフを作成することでグラフを作成することができますが・
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
=TEXT(INDIRECT("A1"),"#") とかするのがひとつの方法かと思います
補足
ありがとうございます。 OpenOfficeでも、A1が空白だとTEXT(INDIRECT("A1"),"#")も空白になりました。\(^o^)/ 対象データは整数部3桁、小数部1桁なので書式コードを"###.#"とすればよいのですね。 TEXT関数をググったらVALUE関数というものも見つかりました。 グラフにプロットするためには =VALUE(TEXT(INDIRECT("A1"),"###.#")) とすればいいんですね。 ・・・と思ったらA1が空白だとエラーになってしまいました。orz ExcelでもVALUE("")はエラーになってしまうのでしょうか?
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
その通り 0になります
補足
ありがとうございます。 やはりExcelでも0になってしまいますか。 私はExcel互換のOpenOfficeを使っています。 INDIRECT関数は、計算式で参照先セルの場所を割り出しのその値を得るために使いますよね。 空白は空白で返してくれればいいのに、なんでこんな仕様になっているのか不思議です。 この仕様のためにグラフにプロットするときに空白セルの部分が0としてプロットされてしまい困っています。(質問No.1672411 計算結果が0なら空白にしたい。ただし・・・)
補足
なるほどこういう式は考え付きませんでした。 No.2の補足に書いた次の式ですが、 =VALUE(TEXT(INDIRECT("A1"),"###.#")) A1が空白の場合エラーとなるけど、グラフ上はエラー値はプロットされないので、結果的にはグラフは一応OKでした。セルのエラー値は条件付書式でエラー時にフォントを見えなくするという方法をとりました。 あと今回の質問で何度も記述したINDIRECT("A1")ですが、これだとA1の値そのものでした。ということでINDIRECT(A1)と訂正いたします。 教えていただいた式はあとで試してみるつもりです。 ありがとうございました。