『関数のご相談』(初心者) =IF(ISERROR(VLOOKUP(M22,DATA!A:F,5,FALSE)),"",VLOOKUP(M22,DATA!A:F,5,FALSE)) このような式があり、もしVLOOKで該当するものがなければ、空白という式だと 思いますが、 もし該当するものがなければ、セルM22と同じシート上のセルのA1に 値を入れ、値を返すように式を変更したいのです。 もしセルA1にも値がなければ、空白ということになります。 説明が悪く、申し訳ありませんが、どなたかご教授をお願いします。 EXCEL2010 WINDOWS7 ---- =IF(ISERROR(VLOOKUP(M22,DATA!A:F,5,FALSE)),A1&"",VLOOKUP(M22,DATA!A:F,5,FALSE)) ---- 元の式は 2010 なら IFERROR を使用すれば、 =IFERROR(VLOOKUP(M22,DATA!A:F,5,FALSE),"") とできますし、M22 はシート指定がないので A1 も式のあるシートだと思いますが、 であればこういうことでしょうか。 =IFERROR(VLOOKUP(M22,DATA!A:F,5,FALSE),A1) (Mook) ---- Mook様 ありがとうございます。 VLOOLUPの設定した上記関数式に対し(関数を設定したセルは、AL22です)、DATAシートの値を 引っ張ってこれれば、そのままにし、引っ張って来れなければ、A1に記入した文字を相対参照で、 AL22のセルに映し出し、印刷しようとしているのですが、引っ張ってこれなかったときにA1に記入しても、 AL22のセルに反映されません。 説明が悪くて申し訳ありませんが、ご確認をよろしくお願いします。 (初心者) ---- >A1に記入した文字を相対参照で というのは A1 にアドレスが入っているということでしょうか? そうであれば、 =IFERROR(VLOOKUP(M22,DATA!A:F,5,FALSE),IFERROR(INDIRECT(A1),"") そうでなければ、もう少し具体的な説明が欲しいのですが。 現在の AL22 には何が表示されているのですか? A1 には何が記入されているのですか? (Mook) ---- 説明不足ですみません。 セルにAL22にDATAシートで引っ張ってくるデータは該当する製品についている「あるマーク」です。 DATAシートで引っ張ってこれないときにA1のセルに手入力でそのマークを入力し、AL22のセルに反映させたいのです。 AL22には、M22の製品名に該当したマークが入るようにしたいのです。 vlookupで引っ張ってこれないということは、 =IFERROR(VLOOKUP(M22,DATA!A:F,5←のセルに何も記入されていないということで、そのケースには、A1に手入力してAL22に反映します。 A1に記入してAL22に反映する理由は、A1は、印刷する範囲ではないからです。 未だ分かりにくいと思います。すみません・・・ ちなみに上記教えていただいた式では、A1に手入力しても何も反応しませんでした。 (初心者) ---- エラーになっているのではなくて、参照先が空白というのであればエラー処理では出ないですね。 =IF(IFERROR(VLOOKUP(M22,DATA!A:F,5,FALSE),"")="",A1,VLOOKUP(M22,DATA!A:F,5,FALSE)) ということでしょうか。 (Mook) ---- Mook様 上記の式で出来ました。 ありがとうございます。 (初心者)