• 締切済み

2個の引数を使用して、テーブルの行、列に該当する値を求める方法は?

Excel2003で、2個の引数を使用して、テーブルの行、列に該当する値を求める方法を、教えて下さい。 例) Aテーブル  A  B  C  D  E 1   5  4  3  2 2 1 260 200 150 100 3 2 460 370 280 180 4 3 670 540 400 270 5 4 880 700 530 350 Bテーブル  A B  C 1  5 2  2 460 BテーブルのB1のセルに5、B2のセルに2を、入力した場合、Aテーブルから460を探し出して、BテーブルのC2のセルに460と、表示させたい。 この時、C2のセルには、どんな関数がいいのでしょうか? よろしく、ご教示下さい。

みんなの回答

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

Bテーブルの形式は違いますが C10に  =INDEX($B$3:$E$6,MATCH($A10,$A$3:$A$6,0),MATCH($B10,$B$2:$E$2,0)) 下方にオートフィル

  • bbit68
  • ベストアンサー率62% (5/8)
回答No.5

これはどうでしょうか? =INDEX(B2:E5,MATCH(B2,A2:A5,0),MATCH(B1,B1:E1,0))

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.4

◆こんな方法もありかな =HLOOKUP(A1,Aテーブル!$B$1:$E$5,A2+1,0)

noname#204879
noname#204879
回答No.3

オーソドックスに(?)、 =VLOOKUP(B2,Aテーブル!A2:E5,MATCH(B1,Aテーブル!A1:E1,0),FALSE)

noname#99913
noname#99913
回答No.2

AテーブルがSheet1だとして…… =INDEX(Sheet1!B2:E5,B2,6-B1)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

もし1行目に[5」が、A列に「2」が必ず存在するなら以下の式をC2に貼り付けてください  =OFFSET(Aテーブル!A1,MATCH(B2,Aテーブル!A:A,0)-1,MATCH(B1,Aテーブル!1:1,0)-1) でも合致する値がないと#N/A!エラーになります もし条件が一致しない可能性があるなら、例えば以下のような式でエラーを回避することが可能です  =IF(AND(COUNTIF(Aテーブル!1:1,B1)>0,COUNTIF(Aテーブル!A:A,B2)>0),OFFSET(Aテーブル!A1,MATCH(B2,Aテーブル!A:A,0)-1,MATCH(B1,Aテーブル!1:1,0)-1),"該当なし")

関連するQ&A

  • 行と列を指示して表中の値を表示する方法を教えて下さい。

    ある行と列を指示して下表の様な値を表示する方法を教えて下さい。 例)A1セルに2行と入力、A2セルに4列と入力をしたら、A3セルに答えの"8"が出るようにしたい。 1列 2列 3列 4列 5列 1行 A B C D E 2行 1 5 6 8 9 3行 F G H J K 4行 3 4 1 5 8 5行 T R W A S

  • 条件を満たす行の、特定の列における最小値

    以下のようなスプレッドシート(Excel)があります。    [A列] [B列] [C列] [D列] [E列] [1行]資材コード メーカー 単価 平均 最安 [2行]T1111 A 311 [3行]T1211 A 411 [4行]T1311 A 311 [5行]T1111 B 299 [6行]T1211 B 500 [7行]T1311 B 312 [8行]T1111 C 300 [9行]T1211 C 280 [10行]T1311 C 400 D列(D2~D10)には、 同じ資材コードの単価の平均が入ります。 これは、 SUMIF(A$2:A$10,A*,C$2:C$10)/COUNTIF(A$2:A$10,A*) (*には当該行番号が入る。) で、表現できました。 次にE列(E2~E10)には 同じ資材コードのもののうち、 最安となる単価を表示させたいのですが、 どう関数を組み合わせるのが、スマートなのかわかりません。 たとえば、E2セル、E7セル、E11セルは 資材コードT1111になっている行のうち、 単価(C列)が最低となる時の値を表示するようにしたいので、 C2セル=311、C7セル=312、C8セル=800のうち、最低である311が E2セル=311、E7セル=311、E8セル=311 にそれぞれ表示されるようにしたいのです。 わかりにくい説明で申し訳ありませんが、 疑義があれば、適宜補足しますので、指摘してください。 よろしくお願いいたします。

  •  エクセル関数式により、列ごと最後尾と最後尾からの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)を抜き出すことのできる関数式の方法がありましたら、教えていただきたく。よろしくお願いします。

  • エクセルで一覧表を「縦横」に調べて該当する値を取り出す方法について

    Excel2002を使用しています。 下記のような表を作成し、「MATCH関数」と「INDEX関数」を使用して、該当の値(仮にα値:5.3、距離700とします)を取り出そうとしているのですが、エラーになってしまいます。 A B C D 1 3.4 3.5 3.6  2 700 30.0 30.4 30.7 3 750 31.1 31.6 31.9     4 800 32.3 32.8 33.2 5 6 α値 5.3     7 距離 700   この表から、行番号、列番号を出すために、以下の関数式を使っています。     行番号:=MATCH(B6,B1:D1)     列番号:=MATCH(B7,A2:A4)  最後に、「INDEX関数」で該当の値を取り出したいのですが、この「INDEX関数」の結果が「#REF!」になってしまいます。関数式は   =INDEX(B2:D4,D6,D7) ちなみに、D6には、行番号の関数式が、D7には、列番号の関数式が入っています。 このエラーを解消したいのですが、どなたか知恵を貸していただけませんでしょうか。よろしくお願いします。

  • エクセル関数式により、列の最後尾から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である列の値によって条件書式を行に反映させるのって?

    EXCEL2000を使っています. 「A列が偶数のとき,その行を任意色bに,A列が奇数のとき,その行を任意色cに」と行を目で追いやすいようにストライプにしたいのですが,これって何らかの関数でできますか? 条件つき書式では1つのセルに対してしかできないようなので. 知っている方いましたら教えてください.ネットで探したのですがわかりませんでした.

  • 特定行から別の行の最大値に対応する値を返す

     列1 列2 列3 列4 行1 A B C 行2 1 9 8 B 行2の最大値は二列目の9です。 二行目4列目セルに最大値9に対応する行1の値、B、を表示させるには どのような関数を書けば良いでしょうか。

  • excel関数を用いてある行の範囲内の数値のみを違う行に抽出し、同じ列に対応する値も引っ張ってくることは可能ですか?

        A   B   C   D 1   33   180 2   58   300 3   89   310 4   152   240 5   205   74 上のような表になっている時に、EXCEL関数を用いて、[A]行の「60以上、180以下の数値」のみをC列に引っ張ってきて、なおかつ[A]行のそれぞれの値に対応する[B]行の値をD行に引っ張ってくることは可能でしょうか? 理想的な結果として   A     B      C      D 1   33  180     58    300 2   58   300    89    310 3   89   310    152    240 4   152   240 5  205  74 というようになってほしいのです。 オートフィルターの範囲指定を用いると、C行に範囲内の値を引っ張ってくる事は出来たのですが、関数ではない為、他の表に応用が効かず、毎回フィルターをかけなくてはいけなかったです…そのため出来れば関数を使いたいのですが、何か方法は無いものでしょうか…

  • 該当行の最終列にコピーする

    すべて windows7 使用するPCによってoffice2007、2010とoffice xp Sheet1A1:D1000の表をSheet2&3A1:BZ1000の表該当セルにコピー(書式、セルフォント色とも)します。 Sheet1 1行めはタイトル行です。 Sheet1A2の値(英数字)をSheet2&3A:Aから検索し、その行の最終列の次列からSheet1B2:D2の値(B2は文字列C2は日付D2は文字列)をコピー(書式、セルフォント色とも)します。

  • 【エクセル】複数条件に該当する値をかえす方法

    エクセルで表を作成していますが、どうしても上手くできません。 どなたかお分かりになりますでしょうか。 エクセル   列A   列B    列C      ---------------------------------- 1 個人   新規   2000 (円) 2 法人   新規   3000 (円) 3 法人   新規   2500 (円) 4 個人   既存   1000 (円) 5 その他  新規    500 (円) 列A、列Bはそれぞれ固定値が入ります。 列Cはすべての値(定まっていない値)が入ります。 列A、列Bをそれぞれ条件として、該当する場合列Cの 値を別シートにかえしたいのです。 例)列Aが「個人」、列Bが「新規」の場合、 列Cの値をかえす 関数を使って =IF(AND(A1=個人,B1=新規),"C1","")  とやってもエラーになってしまいます。 別シートには表を作成してあり、あるセルに列Cの 値のみ反映させたいのですが、うまくいきません。 同シート内でやっても上手くいかないので、数式そのものに 問題があると思っています。 上手く説明が出来ているか自信がありませんが、 解決できる方法はありますでしょうか。 どうぞ宜しくお願い致します。

専門家に質問してみよう