プロが教える店舗&オフィスのセキュリティ対策術

エクセルで困ったことがあります。
ぜひ教えていただけないでしょうか?
普通のワークシートで、

A6を「入力規則」⇒「リスト」から文字項目を選べるようにしています。

この項目のリストの参照場所はAQ6~AQ52です。

ここで、A28にA6のリストを選ぶと、自動的に選んだ項目の3つ右隣のAT列の文字が反映されるようにしたいのです。

A28に入れる式は「=VLOOKUP(A6,$A$6:$AT$52,46,0)」
としているのですがAT6の項目だけがでて、A6のリストを違うものに変えても、AT6の項目から切り替わりません。

どこが間違えているでしょうか?
どうすればうまくいくでしょうか?

ぜひお教えいただけますでしょうか?
よろしくお願いいたします。

A 回答 (4件)

こんにちは。


私も概ねANO.1さんと同じ判断なのですが、

A28=VLOOKUP(A6,$AQ$6:$AT$52,4,False)
                4列目?  ↑
最後の引数についてもANO.1さんと同じ考えなのですが、ヘルプを見てみても、
LookupのときはTure/Falseと書いてあります。(excel2003)

T/Fを数字に置き換えれる、あるいは、置き換える場合は、1/0という
のはよくあることなので、
試しにやってみましたら、1/0でもLookup関数は動作するようです。

VLOOKUP(A6,$A$6:$AT$52,46,0)
だと、A列で「A6」の値を検索し、つまりどんなに「A6」の値を変えてもA列でA6と同じ値のセルは「A6」、
(検索列=範囲の左端列、の上から下へ順番に検索していくので)
A6を一列目として同じ行の46列目のセル「AT6」を参照してきていると思いますよ。
Vlookup関数は、検索列は、範囲の必ず左端列でないとダメなはずですよ^^
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

とてもわかりやすいです。VLOOKUPがよく理解できていないことがよくわかりました。ご説明に親身にしてくれているのがよく伝わってきます。
みなさま、お時間とらせて申し訳ございませんでした。おかげで解決しました。

お礼日時:2007/06/09 15:06

参照する範囲に検索値 A6 が含まれていますね



A6 の値を A6 から AT52 の範囲で検索しているため、真っ先に A6 のある 6行目が検出されますので、当然 AT6 の値が返ってきます。

ANo.1 hanoi88さんの仰るように、
 A28=VLOOKUP(A6,$AQ$6:$AT$52,4,0)
とすべきです。
※VLOOKUP関数の最後の引数は、1=TRUE、0=FALSE の扱いになります)
    • good
    • 0
この回答へのお礼

簡潔かつ、わかりやすくてためになります。完璧ですね。
本当に感謝感謝です。
みなさまありがとうございました。
一番初めに答えていただいた方にもポイントをさしあげたいのですが、あとになるほど、完璧な答えとなるのは仕方がないのでしょうか?皆様本当にありがとうございました!!

お礼日時:2007/06/09 15:08

こんにちは。



[ツール]-[オプション]-[計算方法]が手動になっていて、すぐに計算が関数に反映されていないとかではないですか?
[F9]=再計算
を押下してみて下さい。

もしくはVlookupの場合参照元はソートされていないと計算結果に誤りがあったボンヤリした記憶がありますが、その辺は平気でしょうか?
    • good
    • 0
この回答へのお礼

ありがとうございます!!
再計算は気になっていて、チェックしていたのですが、それが問題だったのではなかったようです。

参照元のソートは文字列のためしていませんでした。
ご回答に感謝いたします!!

お礼日時:2007/06/09 15:03

勘違いしているかも知れませんが、


参照先の範囲は、「AQ6:AT52」じゃないのでしょうか?
A28に「=VLOOKUP(A6,$AQ$6:$AT$52,3,False)」となるのでは。
最後の引数が"0"なのが意味がよくわからないです…TrueかFalseだと思うのですが。

見当外れの回答だったらすみません。
    • good
    • 0
この回答へのお礼

まっさきの回答ありがとうございます!!
おっしゃるとおり、参照場所を間違えていました。
ほんと、私のレベルが低くてみなさまにご迷惑をおかけしました。
ご回答に感謝いたします!

お礼日時:2007/06/09 15:01

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