- ベストアンサー
ExcelのINDIRECT関数について
Excelで下記の関数を入れてみたのですがエラーとなってしまいます。 =MIN(((("Sheet2!J"&$A6&":"&"Sheet2!J"&($A6+INDIRECT("Sheet2!M"&$A6)))))) 最終的にMinの計算をする段階で中身が文字列になっていることが原因のようなのですが =MIN(indirect(((("Sheet2!J"&$A6&":"&"Sheet2!J"&($A6+INDIRECT("Sheet2!M"&$A6))))))) としても結果は変わらずでした エラーを回避して計算を成立させるにはどうすればよいでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
INDIRECT関数を同じ式内で二重に参照するような場合は#REFエラーが表示されます(ファイルを開いていない場合と同じ状態になるわけです)。 このようなケースでは、以下のようなINDEX関数やOFFSET関数で対応するのが一般的です。 =MIN(INDEX(Sheet2!$J:$J,$A6):INDEX(Sheet2!$J:$J,$A6+INDEX(Sheet2!$M:$M,$A6)))
その他の回答 (2)
- KURUMITO
- ベストアンサー率42% (1835/4283)
次ようにしてはどうでしょう。 =MIN(INDIRECT("Sheet2!J"&$A6&":J"&$A6+INDIRECT("Sheet2!M"&$A6)))
補足
回答ありがとうございます。 試してみたのですが こちらでは ("Sheet2!J"&$A6&":J"&$A6+INDIRECT("Sheet2!M"&$A6)) までは計算され("Sheet2!J10:J100")となるのですが その次の Indirect("Sheet2!J10:J100")でエラーとなってしまうようです。。。 試しに =MIN(INDIRECT("Sheet2!J10:J100")) と入力すると計算できます indirectは重ねてはいけないなどの成約があるのでしょうか。
- Cupper-2
- ベストアンサー率29% (1342/4565)
ななめよみで答えてみるので、間違っていたらごめんなさい。 シングルクォーテーション(’)の扱いをよく考えてみましょう。 あと、括弧が異様に多いのはなぜ? もう少し整理して(※)考えると良いと思います。 ※ 関数を分解して、一つずつ動作を確認してから一つの関数式に組み合わせる
補足
ご指摘ありがとうございます。 括弧多かったです、すみません・・・ =MIN("Sheet2!J"&$A6&":"&"Sheet2!J"&($A6+INDIRECT("Sheet2!M"&$A6))) 上記の、("Sheet2!J"&$A6&":"&"Sheet2!J"&($A6+INDIRECT("Sheet2!M"&$A6)))までは計算できているようです そこだけ抜き出してけいさんさせると 結果が"Sheet2!J10:Sheet2!J100"となります が,その結果、最後のMinの計算が =Min("Sheet2!J10:Sheet2!J100")となるためエラーとなってしまっているようです。 Min(Sheet2!J10:Sheet2!J100)となって欲しいんですが、、、 すみませんシングルクォーテーションの扱いということですが =の前に(')をつけると計算されずにそのまま計算式を表示するものだと認識していたのですが、、、それとは違う使い方があるということですか?
お礼
なるほど 勉強になりました ありがとうございます!!