質問: excelの関数で求めた値を行数として使用出来ますか。 例えば a1 =a2+5 a2 10 という値が入力されていた場合、a1には15が表示されると思います。 ここで、a3の関数として=hlookup(a2,a15:d15,1)のような関数を入力する場合a15:d15の値をa(a1):d(a1)のように使うことは出来ませんでしょうか。 要するに関数で出した値を行数として使用することは出来るかということです。 indirect関数も試してみましたがだめでした。 最悪、関数で求めた値でなくてもセルに入力されている値を行数として使用できれば構いません。 マクロ等を組めば出来ることかもしれませんが、そのような時間もないので解決策があれば教えていただけますでしょうか。 よろしくお願い致します。
回答: a3=hlookup(a2,a15:d15,1) 上記の解は a:dが昇順でa2と同じ値がある場合=>a2の値 a:dが順不同でa2を超える値が先にある場合=>その直前の列の値 a列がa2より大きい値の場合=>#n/a a:dがa2より小さい値の場合=>d列の値 それでいいのでしょうか? 方法1 a3=hlookup(a2,indirect("a"&a1&":d"&a1),1) 方法2 a3=hlookup(a2,indirect("a"&a1):indirect("d"&a1),1) 方法3 a3=hlookup(a2,offset($a$1,a1-1,0,1,4),1)