質問: excelで、別のセル位置が文字列として入っているセルを、関数の引数として使用したい ややこしいのですが、よろしくお願いします。 例えば、以下のように a1の値:1(数字) a2の値:2(数字) a3の値:3(数字) c1の値:a1(文字列) d1の値:a3(文字列) が各セルに入っている場合、a1からa3までの和(=6)を求めるのに、 c1とd1を引数に使わないといけないのですが、この場合どのようにしたら良いのでしょうか? お詳しい方どうぞよろしくお願いいたします。
回答: indirectという便利な関数があります。 =indirect() ()内には、文字列で、あたかも人間が式を打ち込むように文字列を 入れるか、または別の関数を使った結果でそうなってもいいのです。 質問例では、=sum(a1:a3)を求めたいのですが a1、a3を直接(direct)に使わないので、間接indirectに c1の値とd1の値を使うので c1&”:”&d1を使います。=c1&”:”&d1 で a1:a3が出来上がるので、それをindirectの()内 に入れ、sum関数の()内に、人間が打ち込んだように働いてくれます。 それをsumで合計を求めます。 ご存知の関数は中側から実行されますから、結果はsum(a1:a#)と同じになります。 =sum(indirect(c1&":"&d1))