- ベストアンサー
Excel VLOOKUP の返す列番号の範囲を拡張
ExcelVlookUPの値を返す列の範囲を拡張したいのです。 例えば検索範囲としてA1からE3を選んだとします。 B列を返して欲しければ「2」を入れるとうのが通常だと思うのですが、 B列からE列まですなわち、2から5列目までを一行分返して欲しい場合は、 どの様にしたら宜しいのでしょうか? 質問の意味を分かって頂き、何とかご教示頂けると幸いです。 宜しくお願い致します。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは! 大きく外しているかも知れませんが・・・ もしかして、列方向にドラッグすると 返すセルも1列ずつずれるのが希望ということですかね? 一応そういうことだと解釈しての回答になります。 もともとの表がどのような感じか判らないので 勝手に↓のように表を作ってみました。 B6セルに =VLOOKUP($A$2,$A$1:$F$4,COLUMN(B1),0) という数式を入れ、オートフィルで右にコピーしています。 これで表の検査値の行の値が返るはずです。 尚、余計なお世話かも知れませんが、 数式内の columun(B1) というのは B列=2ですので 「2」という意味になります。 (B列であれば、別に2でも100でも構いません) もし3列目からの値を返したいのであれば、 C1 にします。 以上、参考になれば幸いですが、 的外れなら読み流してくださいね。m(__)m
その他の回答 (5)
- 135ok
- ベストアンサー率34% (26/75)
No.5です。 数式が違ってましたので、下記に変更ください。 H2 =IF($G2="","",VLOOKUP($G2,$A$1:$E$3,COLUMN(A1)+1,0))
お礼
今日、やってみたら昨日のダメだったのがうそのようにコラム関数が使えましたのでここまで複雑にしなくても大丈夫でしたが、これは応用が出来そうなのでぜひメモっておきたいと思います。
- 135ok
- ベストアンサー率34% (26/75)
- kmetu
- ベストアンサー率41% (562/1346)
> 実際には4列ではなく40列位あるので、全部のセルに1列づつずらした値を入れる手間を何とか軽減したいというのが発露です。 でしたら =VLOOKUP($E3,$A$1:$C$6,COLUMN(B1),FALSE) みたいな感じでいかがですか。 COLUMN(B1)で2です
お礼
有難うございます。 実はこれを試したのですが、何らかの理由で目的のすべてを達せられませんでした。 でも、Kemetuさんの例はうまく行って見えるので、明日オフィスでデータを検証してみます。
補足
今日、やってみたら昨日のダメだったのがうそのようにコラム関数が使えました。 有難うございました。
- ruushii
- ベストアンサー率31% (25/80)
F列でB列からE列をつなぐ。 検索範囲はA1からF3。 VlookUPで6列目を返す。 またはVlookUPを4回つなぐ。
補足
早速ありがとうございます。 すみません。説明不足です。 B列からE列は一つのセルに入れたいのではなく、 例えばG1, H1, I1, J1と横に連なったセルに入れたいのです。 実際には4列ではなく40列位あるので、全部のセルに1列づつずらした値を入れる手間を何とか軽減したいというのが発露です。 宜しくお願い致します。
- kmetu
- ベストアンサー率41% (562/1346)
=VLOOKUP(E1,A1:C6,2,FALSE) & VLOOKUP(E1,A1:C6,3,FALSE) & … というようにつなげていけばいかがですか
補足
すみません。 上の回答者様と同じ内容の補足をさせてください。 宜しくお願い致します。
お礼
今日、やってみたら昨日のダメだったのがうそのようにコラム関数が使えました。 有難うございました。
補足
有難うございます。 >もしかして、列方向にドラッグすると >返すセルも1列ずつずれるのが希望ということですかね? その通りです。 拙い文章をご理解いただき感謝です。 column関数との組み合わせは試したんです。 しかして、なんらかの理由でダメだったんですが、 私のやり方に問題があったのかもしれません。 明日検証してみます。 有難うございます。