• ベストアンサー

【EXCEL】vlookup関数で横の行を縦の列で読む方法

vlookup,hlookup関数などを使用して 以下のように横の行を縦で検索する方法はありますか? 他の関数を組み合わせてもかまいません。 大量のデータを処理するのでコピーしやすい方法が良いです。 よろしくお願いします。   A B C D E 1    あいうえ 2 2008 1234 3 2009 5678 A B 1 2009 2 あ 5 3 い 6 4 う 7 5 え 8

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

  • ベストアンサー
noname#204879
noname#204879
回答No.6

Sheet1            Sheet2   A  B  C  D  E      A  B   C 1    あ い う え   1   2009 2008 2 2008  1  2  3  4   2 え   8   4 3 2009  5  6  7  8   3 う   7   3                4 い   6   2                5 あ   5   1 Sheet2!B2: =VLOOKUP(B$1,Sheet1!$A$1:$E$3,MATCH($A2,Sheet1!$A$1:$E$1,0),FALSE)

van-houten
質問者

お礼

ありがとうございました。 この方法が一番目的にフィットしました。

その他の回答 (5)

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.5

ANo.4です 修正 Sheet2の「2009」は、B1セルです。

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.4

sheet1   A  B C  D  E 1 年___ あ_い_う_え 2 2008__1__2__3__4 3 2009__5__6__7__8 sheet2   A   B 1 2009 2  あ_ =HLOOKUP(A2,Sheet1!$A$1:$E$3,MATCH($B$1,Sheet1!$A$1:$A$3,0),FALSE) 3  い_ 以下B2の式をオートフィル 4  う_ 5  え_

  • koko88okok
  • ベストアンサー率58% (3839/6543)
回答No.3

HLOOKUP関数をお使いください。 「HLOOKUP関数の使い方(別表を横方向に検索し値を取り出す関数)」 http://maglog.jp/excel/Article221109.html 「VLOOKUP・HLOOKUP関数」 http://www.kenzo30.com/ex_kisotyu/ex_ks_tyukyu9_9_4.htm

noname#96418
noname#96418
回答No.2

質問にある下の表のセルB1に 2009 と入力すると、その下に 5~8 が表示されるようにしたいということでしょうか?もしそうなら、その表の B2セルに =VLOOKUP(B$1,Sheet1!$A$2:$E$3,2,FALSE) B3セルに =VLOOKUP(B$1,Sheet1!$A$2:$E$3,3,FALSE) B4セルに =VLOOKUP(B$1,Sheet1!$A$2:$E$3,4,FALSE) B5セルに =VLOOKUP(B$1,Sheet1!$A$2:$E$3,5,FALSE) のような式を入力してください。 A列の あ ~ え は、上の表の該当するデータを「形式を選択して貼り付け」の「行列を入れ替える」でコピーしてください。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

INDEX関数とMATCH関数の組み合わせでできると思います。   A  B 1   2009 2 あ   3 い  4 う   5 え   まで準備できているとして、B2セルに =INDEX(データ!A$1:E$3,MATCH(B$1,データ!A$1:A$3,FALSE),MATCH(A2,データ!A$1:E$1,FALSE)) と入れて下までコピィ 範囲指定して、列方向に検索して合致した列番号を、行方向に検索した行番号 といった感じです。 詳しくはHelpで確認してください。

van-houten
質問者

お礼

迅速な解答ありがとうございます。 INDEX関数・MATCH関数は便利ですね。 これからもっと勉強してみます。

関連するQ&A

  • 縦と横を入れ替える関数ってありますか?

    「形式を選択して貼り付け」で「行列を入れ替える」以外に関数で縦と横のデータを 入れ替える方法ってありますか? 上の段を入れたら自動的に入れ替わるようにしたいんです。 A5に=A1、A6に=B1、A7に=C1、A8に=D1、A9に=E1と入れて A5からA9まではコピーしてB5に貼り付けしたら「かきくけこ」にしたいのに、 「いうえお0」になってしまいました。 $マークをうまく使えばできるのでしょうか? すみませんが、わかる方いたら教えてください。 表がずれてわかりにくくてすみません。  A  B  C  D   E 1 あ い う え お 2 か き く け こ 3 さ し す せ そ 4 5 あ か さ 6 い き し 7 う く  す 8 え け せ 9 お こ そ

  • VLOOKUP関数で検索できません

    A列に勤務時間帯、B列に人数を入力したリストがあります。 E1にVLOOKUP関数を入力しましたがエラーになるので困っています。 A1 → 8:00~18:00  B1 = 5 A2 → 9:00~19:00  B2 = 7 D1 → 8:00~18:00 E1 → =VLOOKUP(D1,A1:B2,2,0) チルダを抜くと検索できるようになりますが、 VLOOKUP関数でチルダは使えないのでしょうか。 チルダありでも検索できるうまい方法があれば教えて下さい。

  • vlookup関数について

    vlookup関数について教えてください。    A       B         C      D      E        1  あじ    りんご     2  さば    みかん            3  さんま   ばなな        という内容で、D1セルに入力した内容に応じてE1セルに内容を転記させていました。 E1=VLOOKUP(D1$A$1$B3,2,FALSE) 上記で運用していたときはうまくいったのですが、 Cの列にも文字をいれ、E1セルにはCの内容を検索して、B列の内容を転記したいと 思って作りかえるとうまくいきません。 今回の新しいやり方では、 ・A列からの検索はいらない(でも他ファイルから参照されているので、削除、移動はできない) ・E1=VLOOKUP(D1$A$1$C2,2,FALSE)では #N/A となる ・A列からの検索がいらないから、E1=VLOOKUP(D1$B1$C2,1,FALSE) でも #N/A 調べてみたのですがわからなくて・・・ どこがおかしいのか、教えてください。宜しくお願いします。

  • IfとVlookupで関数

    すみません。 エクセルはゆっくり噛み砕かないと理解できません。 今会社のファイルを作り直していて、コピーして取り敢えず使っています。 ファイルが無くて申し訳ないですが理解できる方お返事ください。 行Aに点数が入っています。 行Eの1列から順に400,500,600,700,800と入っています。 隣の行Fには、それぞれ、E.D.C.B.Aと評価が入っています。 行Bに、Aの点数が400未満ならE,700未満ならBと、表したいです。 この場合vlookupだけでは無理ですよね? vlookupだけで説明しているサイトがあって、どのように未満と判断出来るんだ?と疑問だったのですが。 この式を教えて頂けませんか? コピーして使用している式が、複雑過ぎてわかりません。 その方が作った別の関数もわざと難しくしているものがあったので、意図してます。(その方は別の方が仕事をするのを嫌がっていた) お願い致します。

  • VLOOKUP関数について教えて下さい

    Excel97を使用しています。 VLOOKUP関数を使って二つのデータを照合したいのですが、 A    B     C    D    E        コード|内容 |    |コード |内容 | 0001 |ああ |ああ  |0001  |ああ | 0002 |ああ |    |0002  |   | 0003 |   |    0|0003  |   | D,E列の範囲からA列のコードを検索かけたいのですが、 =VLOOKUP(A2,ひかく,2,0)        ↑       D,E列 だと内容欄に空欄が入っていると0になってしまいます。 0でなく空欄にしたい場合はどうしたらよいのでしょうか?

  • VLOOKUP関数について

    VLOOKUP関数についてお尋ねいたします。 VLOOKUPで、下記のような事ができるでしょうか。 1 11 a 1 12 b 1 13 c 2 11 d 2 12 e 2 13 f 2の11を選択すると『d』を 引っ張ってくる。 よろしくお願いします。

  • vlookup関数で検索値を含む文字列を検索する方法

    vlookup関数で例えば E1のセルに=vlookup(D1,A:C,3,false)とした場合、D1が佐藤であれば、A列に「佐藤」がある場合には当然、「佐藤」がある行の3列目の値が返されますが、「佐藤」はなく「佐藤A」や「A佐藤」がある場合にもこれらがある行の値を返して欲しいのですが、いい方法はありませんでしょうか。*を使ってできると思ったのですがうまくいきません。上記例で、=vlookup("*佐藤*",A:C,3,false)とすればできますが、*佐藤*の部分はD1の引用を利用したいのです。  よろしくお願いします。

  • Excel2007 VLOOKUP関数の相談

    もし検索不足で重複した質問でしたら申し訳ありません。 VLOOKUP関数について、シート「A」に文字列を入力したら シート「リスト」シート上に同じ文字列があれば その文字列関係の情報を持ってくるというVLOOKUP関数を使用していました。 <使っていた関数> =IF(ISERROR(VLOOKUP(H306,リスト!A:B,2,0)),"",VLOOKUP(H306,リスト!A:B,2,0)) この入力する文字列が数字(別データからコピーして貼り付ける)に変わっただけなのですが、 何故か対象情報の抽出をしてくれません。 <使おうとしている関数> =IF(ISERROR(VLOOKUP(I2,データ0501!A2:F695,3,0)),"",VLOOKUP(I2,データ0501!A2:F695,3,0)) ネットで検索したのですが、関数情報が不足しているのか、 コピーした数字列の貼り付け方が間違っているのかわからない状況です。 恐れ入りますが解決策があればお教えいただければと思います。 どうぞ宜しくお願い申し上げます。

  • ExcelでのVLOOKUP関数について

    キー1を1000倍したうえで完全一致のVLOOKUP関数を使うと#N/Aエラーが発生します。 表示上は同じように見えますが内部的に異なる値となっているのでしょうか? 試しにエラー行に対して、キーとターゲットとなる当該セルを「=」でつないで確認しても「TRUE」となります。 添付画像は、 検索先としてA列に基準キーを130.168~130.192(step 0.001)で各行へ入力し、B列はA列を1000倍、C列はB列をROUND関数で整数値に丸めたものをキーとしました。 D列にVLOOKUPで参照する値を入力し、E列以降で以下の異なるパターンで値を参照しています。 (1)【E・F列】 ・E列に整数値をキーとして130168~130192(step 1)で入力。 ・E列をキーとしてB~D列のVLOOKUP関数としています。   『=VLOOKUP(E3,B:D,3,FALSE)』 (2)【G・H列】 ・G列にE列/100をキーとして計算。 ・G列をキーとしてA~D列のVLOOKUP関数としています。   『=VLOOKUP(G3,A:D,4,FALSE)』 (3)【I列】 ・E列をキーとしてC~D列のVLOOKUP関数としています。   『=VLOOKUP(E3,C:D,2,FALSE)』 シートを複製し、キーの入力範囲を0.001~0.025(E列は1~25)にした場合はエラーがでませんでした。 その他の確認としてはTEXT、JIS、ASCなどを組み合わせて文字列としたキー同士のVLOOKUPではエラーにならず値を参照できています。

  • エクセルVLOOKUP関数の検索値について

      A   B     C     D     E 1 あ AAA 2 い  BBB 3 う  CCC 4 え  DDD 5         お   い  =VLOOKUP(C5,A1:A4,2,0) VLOOKUP関数にて、質問です。 検索値候補1=C5のセル 検索値候補2=D5のセル 範囲=A1:B4 E5=関数 (ここに式を入れたい) 検索値候補1がない時は、候補2を検索する そんな式はどうすればよいですか? 素人ですので、おたすけください

専門家に質問してみよう