• 締切済み

【Excel】行と列で値を検索したい

こんにちは Sheet1に表があります。 Sheet2のA列と1行に値を入力したときに、 Sheet1の交わる値を表示したいのですが、 Sheet2のB2、C2、B3、C3の式を教えて下さい。 Excel2013です。 宜しくお願いいたします。

  • hee1
  • お礼率32% (137/422)

みんなの回答

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.2

B2=INDEX(Sheet1!$B$2:$H$15,MATCH($A2,Sheet1!$A$2:$A$15,0),MATCH(B$1,Sheet1!$B$1:$H$1,0)) または B2=VLOOKUP($A2,Sheet1!$A$2:$H$15,MATCH(B$1,Sheet1!$B$1:$H$1,0),FALSE) または B2=HLOOKUP(B$1,Sheet1!$B$1:$H$15,MATCH($A2,Sheet1!$A$2:$A$15,0),FALSE) でB2の数式をC2,B3,C3にコピー&ペースト

  • shintaro-2
  • ベストアンサー率36% (2266/6244)
回答No.1

match index関数を使ってください http://pc.nikkeibp.co.jp/pc21/tech/excel36/26/

関連するQ&A

  •  エクセル関数式により、列ごと最後尾と最後尾からの2行目の値を抜き出す

     エクセル関数式により、列ごと最後尾と最後尾からの2行目の値を抜き出す。  初めまして、よろしくお願いします。      A  B  C  D  E 1    赤  青  黄  緑  黒 2  3    4    1  3  2  0  9 5    9  1  3  4  3 ・    ・  ・  ・  ・  ・ ・    ・  ・  ・  ・  ・   112  4  6  1  9  6 113  7  7  5  8  1 114  6  9  1  3  7    115  7     2  5  0 116  8     0     0  という表があります。 各列の空白、もしくは0の入力されている後の値(A列では8、B列では9、C列では2、D列では5、E列では7)と最後尾の数字から2行目の値を(A列では6、B列では6、C列では5、D列では8、E列では6)を抜き出すことのできる関数式の方法がありましたら、教えていただきたく。よろしくお願いします。

  • エクセルの表計算で、検索値が含まれる列を検索後、同じ列の違う行にある数

    エクセルの表計算で、検索値が含まれる列を検索後、同じ列の違う行にある数値を返す場合はどのようにすればいいのでしょうか? ※下表を例としますと、検索値 150 が含まれる1行目のC列を検出後、同じ列の2行目に入力されている 4300 を返す場合の関数式を教えてください。     A      B         C        D 1   1~50  51~100   101~250   251~500 2   5000    4500      4300     4000

  • エクセル関数式により、列の最後尾から2行目の値からの最大値の求め方。

    エクセル関数式により、列の最後尾から2行目の値からの最大値の求め方。  初めまして、よろしくお願いします。      A  B  C  D  E 1    赤  青  黄  緑  黒 2  3    4    1  3  2  0  9 5    9  1  3  4  3 ・    ・  ・  ・  ・  ・ ・    ・  ・  ・  ・  ・   112  4  6  1  9  6 113  7  7  5  8  1 114  6  9  1  3  7    115  7     2  5  0 116  8     0     0  という表があります。 各列の空白、もしくは0の入力されている後の値(A列では8、B列では9、C列では2、D列では5、E列では7)を最後尾とし、そこから2行目の値(A列では6、B列では6、C列では5、D列では8、E列では6)からの列(A列ではA4の1まで、B列ではB4の3まで、C列ではC4の2まで、D列ではD4の0まで、E列ではE4の9まで)の間の値の最大値(A列で、見えている部分のみではA5の9になります)を抜き出すことのできる関数式の方法がありましたら、教えていただきたく。よろしくお願いします。

  • エクセル(EXCEL) 2つの値が一致する行の参照

    エクセルで、以下のように「Sheet1」のA列に日付、B列には時刻が 入力されており、C列にはその時刻の為替レート(ドル)が入力され ています。 【Sheet1】      A     B     C 1 2009/3/1   7:00   99.56 2 2009/3/1   8:00   99.12 3 2009/3/1   9:00   96.12 以下続く この行が延々と数年間分入力されているとします。 そこで、例えば、「Sheet2」に毎日の7:00の為替レートのみを抜きだ して縦に並べたい(以下のように)とします。 【Sheet2】        A     B     C 1 2009/3/1   7:00   99.56 2 2009/3/2   7:00   98.39 3 2009/3/3   7:00   100.10 (要するに、毎日7:00の為替レートのみ時系列で見たい) この場合、「Sheet2」のC列にはどのような数式を入力すれば良いの でしょうか? 【Sheet1】から、「09年3月1日」且つ「7:00」の行のC列、 を拾ってきて、【Sheet2】のC列に返すということなのですが、 参照するところが2つ(日付と時刻)ある、場合の式の組み方がわかりません。 (もしひとつなら、VLOOKUP とか、INDEX + MATCH 関数で組めるのですが・・) 恐れ入りますが、おわかりになる方なにとぞご教示くださいませm(_ _)m。

  • Excel 同じ値の列を一行表示

    教えて下さい。 同じ列に複数の同じ値があり、その値を一つの行で表示する場合。 (グループ化でしょうか?グループ化を試しましたが、うまく纏まりません。グループ化の主キーの設定??) また、その中からの値を検索して別の表に取り出すには、どうしたらよいでしょうか? 例)       1 あ A zz  →  A  → A 1 あ 2 い B vv  →  B  → B 2 い 3 う C xx  →  C  → C 3 う 2 い B vv 3 う C xx 1 あ A zz (1)3列目の複数ある値を一つにまとめる。 (2)他のシートに纏めてある表(3列目の値が主キーなっている表)に  纏めた値に対する情報を追加入力したい。  *値を返すのは別のシートです。 うまく説明が出来ず分かりづらいと思いますが、よろしくお願いします。

  • Excelの関数で複数の行・列範囲を検索する方法

    Excelの関数について質問です。ある値が何行目の何列目にあるかはCtrl+Fを使えばすぐに解りますが、このようなことを関数で実行することはできますか? 例えば、Sheet1のA1からZ40まで重複のない値が入っていたとして、別のシートでA1~A10に探したい10種類の値を入力すれば、その10個の値がSheet1の何行目の何列目にあるかをB列で表示できるといった、そういうことができる関数はありますでしょうか? MATCHでは一度に複数の行や列を検索できないようなので困っています。 よろしくお願いします。

  • Excel2003 検索して値の参照

    お世話になります。 掲題の件で ご相談が御座います。 添付のような表がありまして、シートが2枚に分かれております。 数式を入れたいシート(表示用シート)に参照元シート(入力用シート)を図で貼り付けました。 ピンクの表が入力用シートになります。 入力用の「C列"エリア"」を「D列"更新日"」を参照して 日付が横並びになっている 表示用シートに各項目を反映させたいのですが、どのような数式を入れたら良いのか、 また そもそも表の作りに無理があるのか?と ちょっと煮詰まってしまっている状態です。 入力用シートは更新日と備考以外はプルダウンで選択するようにしています。 反映させたい表示用シートには「A列」に「エリア」が北海道~沖縄まであります。 日付は10月~3月まで用意されており 3行目、15行目、27行目、39行目、52行目に「月」が入っており、 4行目、16行目、28行目、40行目、53行目に「日」が入っております。 さすがに 2行にまたがった日付を参照するのは無理があるだろうと思い 1行目にフォントの色「白」で「2009/9/25」等 該当する列に日付を入れました。 しかし、その後に 入力用シートのC列D列を参照して どうやって 表示用シートに反映させたら良いかで困っております。 作業列を作るにしても どうやったら良いものやら、、 そもそも 全部横並びになっている所に無理があるのでしょうか? どなたか お分かりになる方がいらっしゃいましたら宜しくお願い致します。 説明不足等 御座いましたら何なりとお申し付けください。 宜しくお願い致します。

  • Excelで、A列、B列の値を新しいシートに3行ごとにどんどん貼り付け

    Excelで、A列、B列の値を新しいシートに3行ごとにどんどん貼り付ける。 という事をしたいのですが、VBAを始めたばかりなので上手く書くことが出来ません。 例)    A列   B列   101  りんご    102  ぶどう   103  オレンジ   104   桃   105  バナナ      ・      ・      ・ これを別のシートに    A列   B列   101  りんご (2行あける)   102  ぶどう (2行あける)   103  オレンジ (2行あける)    104   桃 (2行あける)    105  バナナ      ・      ・      ・ と表示したいのです。 現在は下記のようなリンクで表示していますが、 件数が少ない時は4件から多い時は800件と幅があります。 出来れば表の一番下(空欄になる部分)まで繰り返し処理をしたいと思っています。 セルの中身が表示されるならリンクでもコピーでも構いません。 現在のマクロ Sub Macro2() Worksheets("Sheet2").Select Range("C11").Value="=Sheet1!A2" Range("C14").Value="=Sheet1!A3" Range("C17").Value="=Sheet1!A4" Range("C20").Value="=Sheet1!A5" Range("C23").Value="=Sheet1!A6" Range("H11").Value="=Sheet1!B!" Range("H14").Value="=Sheet1!B2" Range("H17").Value="=Sheet1!B3" Range("H20").Value="=Sheet1!B4" Range("H23").Value="=Sheet1!B5" End sub 45行分まで書いたところで途方に暮れております。 よろしくお願いいたします。

  • Excelで指定する行と列に対応する値を表示させる方法 その2

    以前このサイトで、以下のようなサブシート(sheet2)にデータ表を作成しておき、メインシート(sheet1)で任意の値を入力するとそれに対応する値を表示させる方法(この場合はメインシートのA1に"2"B1に"3"を入力するとC1に"く"を表示する)を教えていただいたのですが、今回はさらに複数のサブシートに、それぞれに同じようなデータを用意し、メインシートのA1列に新たに挿入しセルをつくりそこにも「検索値」を設けて対応する値を表示させたいのですが、可能でしょうか。ですから、もう関数では無理ですか? 本当にお手数ですが、よろしくお願いします。 サブシート(Sheet2 今回はこれをデータ1と名前をつける)   A  B  C  D  E  F   ←列     1   2   3   4   5 1 1 あ  い  う  え  お 2 2 か  き  く  け  こ 3 3 さ  し  す  せ  そ ↑ 行 メインシート(sheet1)  A B C  2 3 く  ↑ 「データ1」を入れる

  • Excel 隣接しない列に値貼り付け

    Excel 隣接しない列に値貼り付け ※「Excel 隣接しない列に一発で値貼り付け」の書き直しです。 ある一定の書式にしたがって作成された20~30のシートのデータを1つのシートに集約しており(集約シートを含み全てのシートは同じデータ内です。)、データを集約した集約シートの「表A」は下記の添付画像左側のようになります。 やりたいことは、「表A」のB列、C列、D列、E列をある条件のもとに右側の「表B」のH列、J列、L列、N列に値の貼り付けを行いたいのです。 現在の作業工程は、C列の空白行は必要ないため(C列が空白=他の列も空白)C列に文字入力があるとチェックが入るA列のオートフィルターで、「○」のみ表示にし、B~E列を順にそれぞれ、2行目からデータが記載された最終行までコピーし 「表B」のそれぞれの箇所に値貼り付けを行っています。 この時の注意点として、A列のオートフィルタ利用のためC列には空白がありませんが、B、D、E列には空白が存在します。 データがある最終行以下の空白は必要ありませんが、データ間の空白には意味があります。(下記の図で示すと「B3、4」や「D3、4」) 現在の作業工程でも問題はないのですが、この作業は最初に記載した20~30のシートに記載されたデータの校正に使うため取りこぼしをしたくなく、不特定多数の方が簡単に使えるようにしたいので、どうにか作業工程を減らしたいと考えています。 よろしくお願いします。 ▼書式シート *シートの数は増減する。 *集約シートが参照するセルには、必ずデータが入力されているわけではない。 *入力データは全て数値ではなく文字である。 ▼集約シート *他のブックと共通使用なため、一部の式は他のブックへのコピーに対応する形である。 *空白セルを参照している場合に結果として返される「0」は、オプション設定で非表示にて対応 *「表A」の行長は増減する。 *貼り付け先「表B」の列は飛び飛びである。 ▼ちなみに「表A」に使われている計算式(実際とは一部変えています) ■A列  :C列に文字入力がある場合「○」が表示されます     {=IF(OR($C1>""),"○","")} ■B-E列:他のシートの任意のセルの値をコピー     {=IF(ISERROR(INDIRECT("'シート名'!セル")),"",INDIRECT("'シート名'!セル"))} PC環境:Win XP / Excel 2003

専門家に質問してみよう