- ベストアンサー
エクセルでMATCH関数結果をアドレスに使いたい
- エクセルでMATCH関数を使用して得た返り値をセルのアドレスに使用する方法について教えてください。
- 特定の日付がランダムに並んだ列で、別のセルに入力された日付と一致するセルを検索し、そのセルの下に入力された数値分、さらに下のセルの日付を返す計算式を入れたいのですが、うまくいきません。
- MATCH関数で得た数値をセルのアドレスに使用するための正しい計算式がわかりません。どなたかご教示いただけないでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
MATCH 関数でマッチしたデータの最初の行から数えた順位を求め、 OFFSET 関数で、データの最初の行から下へG6に入力されている数だけオフセットしたセルの値を求める。 前の質問(取り消された)の回答を載せておきますので、参考にしてください。 シート「ア」のA1 から下方へに日付が並んでいる。 シート「イ」のA1 に検索する日付が入力されている。 シート「イ」のB1 にどれだけ下へオフセットするかを決める数字が入力されている。 シート「イ」のA2 につぎの式が入力されている。(これが答え) =OFFSET(ア!A1,MATCH(A1,ア!A1:A23,0)+B1-1,0)
その他の回答 (2)
- bunjii
- ベストアンサー率43% (3589/8249)
>F6セルには「=AF(MATCH(E6,AF6:AF2473,0)+5+G6)」のように数式を入力してみたのですが、うまくいかないのです。MATCH関数で得た数値をセルアドレスの数値に使おうとして入れた式なのですが、「#NAME?」と出てしまってうまくいかないのです。 そのエラーはAFと言う名前を定義していないために起っています。 MATCH関数の戻り値をAF列の何行目したいと言うことであればINDIRECT関数でセル位置を指定しなければなりません。 =INDIRECT("AF"&MATCH(E6,AF6:AF2473,0)+5+G6) 但し、質問の文言には提示の数式内の+5について説明がありませんので、目的の値(日付)が返されるか否かは分かりません。
お礼
アドバイスありがとうございました!
- keithin
- ベストアンサー率66% (5278/7941)
=INDEX(AF:AF,MATCH(E6,AF:AF,0)+G6) のように、INDEX関数と組み合わせて利用します。 #参考 アナタのアイデアを活用すると =INDEX(AF:AF,MATCH(E6,AF6:AF2473,0)+5+G6) などのようにすることもできます。
お礼
こういう方法もあるんですね。 早速の回答、ありがとうございました!
お礼
この方法でやったら、うまくいきました!! 早速の回答ありがとうございました! (先ほど質問を途中で削除してしまい、すみませんでした。 質問の仕方があまりよくなく、わかりにくかったかなと思い削除してしまいました)