• ベストアンサー

Excel VLOOKUP の返す列番号の範囲を拡張

ExcelVlookUPの値を返す列の範囲を拡張したいのです。 例えば検索範囲としてA1からE3を選んだとします。 B列を返して欲しければ「2」を入れるとうのが通常だと思うのですが、 B列からE列まですなわち、2から5列目までを一行分返して欲しい場合は、 どの様にしたら宜しいのでしょうか? 質問の意味を分かって頂き、何とかご教示頂けると幸いです。 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

こんばんは! 大きく外しているかも知れませんが・・・ もしかして、列方向にドラッグすると 返すセルも1列ずつずれるのが希望ということですかね? 一応そういうことだと解釈しての回答になります。 もともとの表がどのような感じか判らないので 勝手に↓のように表を作ってみました。 B6セルに =VLOOKUP($A$2,$A$1:$F$4,COLUMN(B1),0) という数式を入れ、オートフィルで右にコピーしています。 これで表の検査値の行の値が返るはずです。 尚、余計なお世話かも知れませんが、 数式内の columun(B1) というのは B列=2ですので 「2」という意味になります。 (B列であれば、別に2でも100でも構いません) もし3列目からの値を返したいのであれば、 C1 にします。 以上、参考になれば幸いですが、 的外れなら読み流してくださいね。m(__)m

berry_late
質問者

お礼

今日、やってみたら昨日のダメだったのがうそのようにコラム関数が使えました。 有難うございました。

berry_late
質問者

補足

有難うございます。 >もしかして、列方向にドラッグすると >返すセルも1列ずつずれるのが希望ということですかね? その通りです。 拙い文章をご理解いただき感謝です。 column関数との組み合わせは試したんです。 しかして、なんらかの理由でダメだったんですが、 私のやり方に問題があったのかもしれません。 明日検証してみます。 有難うございます。

その他の回答 (5)

  • 135ok
  • ベストアンサー率34% (26/75)
回答No.6

No.5です。 数式が違ってましたので、下記に変更ください。 H2 =IF($G2="","",VLOOKUP($G2,$A$1:$E$3,COLUMN(A1)+1,0))

berry_late
質問者

お礼

今日、やってみたら昨日のダメだったのがうそのようにコラム関数が使えましたのでここまで複雑にしなくても大丈夫でしたが、これは応用が出来そうなのでぜひメモっておきたいと思います。

  • 135ok
  • ベストアンサー率34% (26/75)
回答No.5

VLOOKUPの列番号を2、3、4と入れるのは面倒なので、簡素化したいと解釈して H2 =IF($G3="","",VLOOKUP($G3,$A$1:$E$3,COLUMN(D2)+1,0))    *表示させたい範囲にコピー

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.3

> 実際には4列ではなく40列位あるので、全部のセルに1列づつずらした値を入れる手間を何とか軽減したいというのが発露です。 でしたら =VLOOKUP($E3,$A$1:$C$6,COLUMN(B1),FALSE) みたいな感じでいかがですか。 COLUMN(B1)で2です

berry_late
質問者

お礼

有難うございます。 実はこれを試したのですが、何らかの理由で目的のすべてを達せられませんでした。 でも、Kemetuさんの例はうまく行って見えるので、明日オフィスでデータを検証してみます。

berry_late
質問者

補足

今日、やってみたら昨日のダメだったのがうそのようにコラム関数が使えました。 有難うございました。

  • ruushii
  • ベストアンサー率31% (25/80)
回答No.2

F列でB列からE列をつなぐ。 検索範囲はA1からF3。 VlookUPで6列目を返す。 またはVlookUPを4回つなぐ。

berry_late
質問者

補足

早速ありがとうございます。 すみません。説明不足です。 B列からE列は一つのセルに入れたいのではなく、 例えばG1, H1, I1, J1と横に連なったセルに入れたいのです。 実際には4列ではなく40列位あるので、全部のセルに1列づつずらした値を入れる手間を何とか軽減したいというのが発露です。 宜しくお願い致します。

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

=VLOOKUP(E1,A1:C6,2,FALSE) & VLOOKUP(E1,A1:C6,3,FALSE) & … というようにつなげていけばいかがですか

berry_late
質問者

補足

すみません。 上の回答者様と同じ内容の補足をさせてください。 宜しくお願い致します。

関連するQ&A