プロが教えるわが家の防犯対策術!

いつもお世話になります。

OSは、Win10 エクセルは、20016 です。

すでに首記のことでは下記でご指導頂いています。

「あるセルに列記号を入れれば関数の列記号に適応したい」
  https://oshiete.goo.ne.jp/qa/11331508.html

うんうんそうーかと納得し INDIRECT と理解していました。

がVLOOKUP関数に当てはめようとしましたが少し複雑な関数になると色々なところに入れるのですが上手く行きません。

下記の基本関数で、
 この QO の部分がB1セルにて 「O T」に変えて QO QT という具合にするに小指導戴けませんでしょうか。




基本関数
=IF(ISNA(VLOOKUP(A4,QO,4,FALSE)),0,VLOOKUP(A4,QO,4,FALSE))

例えば上手くできないINDIRECT関数を入れた数式(#NAME?)
=IF(ISNA(VLOOKUP(A4,INDIRECT(Q&$B$1),4,FALSE)),0,(VLOOKUP(A4,INDIRECT(Q&$B$1),4,FALSE)))

質問者からの補足コメント

  • ありがとうございます。
    名前の定義で
    QO は 土曜の1/3/5週の日付日 数値の1
    QT は 土曜の2/4週の日付日  数値の1

    数値の1 をVLOOKUPで例えばQTなら土曜の2/4週を抽出する1に
    という具合に

    範囲は年間の 2/4週 1/3/5週 のそれぞれ土曜日数

    No.1の回答に寄せられた補足コメントです。 補足日時:2019/10/17 07:03

A 回答 (3件)

「O T」はおそらく数値なのでしょう。


基本関数にも、上手くできない関数にも、「T」に該当するものがないのですがどこで使うのでしょう?
VLOOKUPでの検索範囲は1セルのみ?
この回答への補足あり
    • good
    • 0
この回答へのお礼

早速ご回答いただき誠にありがとうございます。
恐れ入りますがNo.2の方のおかげで解決しました。

お礼日時:2019/10/17 07:59

当てずっぽうで



=IFERROR(VLOOKUP(A4,INDIRECT("Q:"&$B$1),4,FALSE),0)

とか?
もとの式のQ0の意味がわからないからなぁ。
後、バージョンはおそらく2016なのでIFERRORでいいかと。
    • good
    • 0
この回答へのお礼

=IFERROR(VLOOKUP(A4,INDIRECT("Q:"&$B$1),4,FALSE),0)

を 「"Q:"」 コロンを取り下記の様にしたら

=IFERROR(VLOOKUP(A4,INDIRECT("Q"&$C$1),4,FALSE),0)

うまくできました。

ありがとうございました。

お礼日時:2019/10/17 07:56

「O T」が文字列で、検索範囲が「QO:QT」という意味なら、



=IF(ISNA(VLOOKUP(A4,INDIRECT("Q"&LEFT(B1,SEARCH(" ",B1)-1)&":Q"&MID(B1,SEARCH(" ",B1)+1,256)),4,FALSE)),0,VLOOKUP(A4,INDIRECT("Q"&LEFT(B1,SEARCH(" ",B1)-1)&":Q"&MID(B1,SEARCH(" ",B1)+1,256)),4,FALSE))

こんな感じの式になります。
なんかダラダラした式になっちゃいましたが。


すみません、No.1への補足コメント読む前に作りました。
とりあえず、INDIRECT内の文字列に""をわうれないように。
部分的にも参考にでもなれば幸いです。
    • good
    • 0
この回答へのお礼

早速ご回答いただき誠にありがとうございます。
恐れ入りますがNo.2の方のおかげで解決しました。

QT QO は名前定義です。

ご丁寧にお答えいただき恐縮です。

お礼日時:2019/10/17 08:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!