エクセルの関数で表から列と行を指定して値を抽出する方法

このQ&Aのポイント
  • エクセルの関数を使用して、ある表の列と行を指定してその中から値を抽出する方法を教えてください。
  • 具体的には、地域と箱数の組み合わせに対して、対応する金額を抽出する関数を使用したいです。
  • VLOOKUPなどが近い機能かもしれませんが、複合的な使い方が必要なので、具体的な例やURLなど教えていただけると助かります。
回答を見る
  • ベストアンサー

表から列と行を指定してその中から値を抽出する式

なかなか言葉で説明しにくいのですが、エクセルの関数で、ある表の列と行を指定してその中から値を抽出する関数はあるでしょうか? 具体的に言うと、行が地域(北海道、東北、関東、、、)で列が箱数(1箱、2箱、3箱、、、)となっている表があってどの地域に何ケース届けると何円になるという表があります。 別シートに表を作って、例えば任意のセルに「北海道」、次の列に「2箱」などと入力規則で入力するようなところを作りました。そして、それぞれ「北海道」、「2箱」というのを見て、そのまた次の列に何円かを抽出する関数を入れたいと思っています。。。それが難しくて分かりません。有用な関数があったら教えてください。具体例などがあればURLなど教えていただけると助かります。 VLOOKUPなどがそれに近いかと思いますが、どうもうまくいきません。複合的に使えばうまくいくでしょうか? よろしくお願いいたします。

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

  • ベストアンサー
  • EL-SUR
  • ベストアンサー率76% (83/108)
回答No.4

INDEX関数とMATCH関数、またはVLOOKUP関数とMATCH関数の組み合わせが一般的です。 元表が Sheet1の A1:F10の範囲の表で 地域が A2:A10 箱数が B1:F1にあるとして Sheet2の A2セルに地域名、B2セルに箱数を入れ、C2セルに結果を出すとします。 Sheet2のC2: ■ VLOOKUP関数 =IF(COUNTA(A2:B2)<2,"",VLOOKUP(A2,Sheet1!$A$1:$F$10,MATCH(B2,Sheet1!$A$1:$F$1,0),FALSE)) ■ INDEX関数 =IF(COUNTA(A2:B2)<2,"",INDEX(Sheet1!$B$2:$F$10,MATCH(A2,Sheet1!$A$2:$A$10,0),MATCH(B2,Sheet1!$B$1:$F$1,0))) ↓を参考にしてください。 http://homepage1.nifty.com/kenzo30/ex_kisotyu/ex_ks_tyukyu9_9_7.htm#検索/行列関数(INDEX関数)

sasakuri
質問者

お礼

ありがとうございます。 いろいろやり方があるんですね。 助かりました!

その他の回答 (4)

noname#204879
noname#204879
回答No.5

1.任意のシートに(例えば)下表を作成       北海道 東北 関東    1箱 1000   800  600    2箱 1800  1500 1100    3箱 2500  2200 1400 2.上表において、範囲全体に table、上端行に region、左端列に qnty という   名前をそれぞれ定義 3.任意のシートにおいて、地域、数量、価格を下表のように配置すれば       A   B   C   D    1 地域  数量 価格    2 北海道  3箱 2500    3   セル C2 に次式を入力すればOKかと。   =INDEX(table,MATCH(B2,qnty,0),MATCH(A2,region,0))

sasakuri
質問者

お礼

ありがとうございます。 いろいろやり方があるんですね。 助かりました!

noname#15567
noname#15567
回答No.3

 仮に、表の北海道、東北、関東、、、が入ったセル範囲に「地域」、  表の1箱、2箱、3箱、、、が入ったセル範囲に「箱数」、  表の左上の角のセル(北海道の上で、かつ、1箱の左)に「表左上」、  地域を入力するセルに「入力_地域」、  箱数を入力するセルに、「入力_箱数」 と名前を定義したとすると、 =OFFSET(表左上,MATCH(入力_地域,地域,0),MATCH(入力_箱数,箱数,0)) で出ると思います。

sasakuri
質問者

お礼

ありがとうございます。 いろいろやり方があるんですね。 助かりました!

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

INDEX関数やOFFSET関数があります。OKWAVEでも質問の回答にも良く出てきます。私も昨日INDEX関数を使って回答しました。 VLOOKUP関数のだい3引数を相対化(変数化)すればできるかも知れない。 例データ A1:D6 10箱 20箱 30箱 北海道 100 150 250 東北 90 140 230 信越 80 130 200 関東 70 100 180 中部 80 140 200 A11に地区 B11に個数を入れると C11に式 =VLOOKUP(A11,$A$2:$D$6,B11/10+1,FALSE) を入れる。 A11 B11 C11に 関東 30 180 のように求められます。 都合の良い例にしてルところはありますが、例えばの例です。

sasakuri
質問者

お礼

ありがとうございます。 いろいろやり方があるんですね。 助かりました!

  • aco_michy
  • ベストアンサー率25% (70/277)
回答No.1

index関数があります。 関数の種類で「検索/行列」の中にあります。

sasakuri
質問者

お礼

ありがとうございます。 いろいろやり方があるんですね。 助かりました!

関連するQ&A

  • 表から指定した行のみを別シートに抽出するには

    エクセル2002 ある表から、集計表として別のシートに行を抽出できる関数をおしえてください。 【シート1】      O列  P列  Q列  R列  S列  T列  U列    行9  種類  厚さ   w    H  枚数  か所   計 行10    行11 AAA  t6.8  1500  2000   3    3     9   | | 行15 AAA   t3   1000  2000   2    1     2 行16 bbb   t6.8  500   1500   1    3     3  : : という表から別のシートに 集計表として 【シート1】集計表AAA     O列  P列  Q列  R列  S列  T列  U列    行3  種類  厚さ   w   H   枚数 か所   計 行4  AAA  t3   1000  2000   2    1    2 行5  AAA  t6.8  1500  2000   3    3    9  | | 行15 AAA   t3   1000  2000   2    1    2 行16    : のように抽出する関数を教えてください。 出来れば集計表の横に種類ごとに選択したら、種類ごとに表示が変わるようならばよいのですが。。。  関数初挑戦のため大変なことになりそうな気もします。。。   皆様、ご教授のほどよろしくお願い致します。

  • 1列について重複している行を除くかつ,他の列の値で抽出する行を変えたい場合

    SQLSeverを使い,SQL文を作成しているのですが, 下記のA列の重複行を取り除くかつ,B列の「5よりも4」,「4よりも1」,「1よりも2」,「2よりも3」(3>2>1>4>5)の行を抽出したいと考えています.下記の表1を抽出した場合,表2が出るようにしたいです. 表1 A B 1 1 1 3 1 3 1 5 2 1 2 2 2 5 表2 A B 1 3 2 2 もしB列が,5>4>3>2>1の順番ならMAXを使って取り出すことはできたのですが,3>2>1>4>5の場合だと,どんなSQL文にすればよいのでしょうか? よろしくお願いします.

  • (エクセル)表から1列の別表をつくりたい。

    表に入力されたものを1列に並び替えをしたいのです。(エクセル関数) エクセルの表から、セルに入力された情報を抜き出し、並び替えたいのですが、行き詰ってしまい質問させていただきます。 (やりたいこと) 添付資料のように、事業所ごとに購入した物品が日付ごとに入力されていきます。この表を一列で並び替えることを したいのですが、現状の表の形で1列に抜き出すやり方が思い浮かびません。ひとつずつリンクを設定していけばいいですが、 それですと、空白のセルができてしまうこともあり、空白を消すためにフィルタをやらなくてはいけず、なんとか関数でどうにかできないと質問させていただきました(つまり空白のセルは飛ばし、隙間のない1列の表に変換したいです)。 (試したこと) (1)vlookup関数を使うために、日付の横に検索列を作ってもみましたが、同じ行に複数の抜き出すべくものがあると、 if関数のネストをいれるにも「if(c5="","",vlookup(v5,b5:r10,2,fasle)」みたくやってみましたが、c5までは取り出せても、 d5,e5,f5・・・と右にずらしていく関数式が思い当たりません。 (2)種類、数量データ入力されている全てのセルの横に(1.2.3.4.5.6.7.8.9.・・・)と数字をいれて検索列をつくり、vlookupとmatch関数の 組み合わせも試しましたが、vlookup関数の性質上、複数列に検索値(「vlookup(検索値,範囲,列番号,検索の型)」)が存在しているとこれも出来ず。 説明が不十分な点もあると思いますが、よろしくお願いいたします。もし、VBAでなければ難しいとのことでしたら、どのようなVBAを組めばいいかもお願いいたします。

  • 表の中でもっとも多く使用されている文字(数字)を抽出するには

     |A|B|C|D| -------------- 1|あ|い|う|え| -------------- 2|お|あ|あ|か| -------------- 上記は1行目に左から「あ」「い」「う」「え」が入力されていることを表しています。 この表の中から、一番多く入力されている文字だけを別のセルに抽出させるにはどのようにしたら良いでしょうか。 上記の例を使用すると、A列の5行目(任意のセル)に「あ」と抽出するようにしたいです。 いろいろと調べてみましたが、このように表の中で最も多く入力されている、「文字」または「数字」だけを抽出するという処理方法がみつかりませんでした。 マクロなら可能でしょうか? このような処理ができる関数もなさそうなので、無理なのかな。 アドバイスを御願い致します。

  • 列と行にある指定文字が一致したセルの一行下の値

    表2セル"A"を表1B列から探し同行にある"合計"という文字の1行下の数値及び2行下の数値を表2のH4,H5セルに入力し同様に"B","C"に対しても行いたいのですがどなたか関数が解る方よろしくお願いします。環境はoffice2019です。

  • エクセル:文字列間の行を抽出

    エクセルファイルで1つのシートに複数の表がひたすら縦に並んでいます。それぞれの表が別々のシートに記載されるようにしたいと思っています。 どの表も基本的な書式は同じなので列数は同じなのですが、行数は表ごとに異なります。 また各表の右下(C列)にTotalという文字列が必ずあります。 文字列Totalがある行の直下の行から次のTotalのある行まで抽出して、シートを作成できれば良いのだと思うのですが、どうすれば可能になるのか分かりません。 どなたか教えていただけ無いでしょうか。

  • EXCELで列の値を返す関数

    いつもお世話になっております。 EXCELで表をつくり、一番新しいデータが入力されている列の値を返したいのです。具体的には、   A  B  C  D  E   D  東京 大阪 名古屋 広島 福岡 1 120円   450円     ←側から見て一番最初の入力情報の列 2    50円     20円 3       10円 4             120円 上の表の場合、 1行目の場合は名古屋 2行目は広島 3行目は名古屋 4行目は福岡という値をD列に返したいのです。 関数または、マクロをご教示くださいますよう、お願いいたします。

  • エクセルで、データのある行だけを抽出したい。

    エクセルのSheet1にデータが入っており、セルが空白でない行のデータのみを、Sheet2に抽出したいと思っています。 Sheet2にあらかじめ関数を入れておく方法にしたいため、関数について教えてください。 タイムテーブルで予定を管理するような表で、A~Hまでにデータが入っています。 予定を入れる際にはE列には必ず入力をするため、E列が空白でない行のみを抽出したいです。 A|B|C|D|E|F|G|H 月|日|時間|… 11|22|10:00|… 11|22|10:30|… 時間枠は10:00~17:00の30分刻みで、1日15行使用するので、1年で5475行まで使用します。 1行目はタイトル行なので、データは2行目から入力しています。 フィルタオプションで抽出する方法や、それをマクロで登録しておく方法は分かったのですが、あとから予定を追加することがあるため、マクロを実行する度にデータが置き換わると困ってしまいます。 また、抽出したSheet2のI列以降には備考などを入力したいため、やはり後から列がずれると困るため、A~H列に関数を入れておく方法で実行したいと思います。 よろしくお願いいたします。

  • エクセル 表の行と列

    すみませんが、ご教授願います。 Excelで作成した表の行と列の説明で次のうち間違いはどれか 1.行と列を入れ替えて新たな表を作成するときは 行と列を入れ替える機能を使うと便利である 2.行や列のセルを対象にしての関数計算の際、行や列を 非表示にするとエラーメッセージが出て計算が出来ない 3.ある行や列を非表示にして印刷する際 非表示にした部分は印刷されない 4.現在のシートの行と列の表示を 右から左へ表示することが出来る

  • Excel 同じ値が連続している行の抽出

    いつもお世話になっております。 Excelの表で同じ値が連続している行を抽出したいのですが、方法が思い付きません。 具体的には、A列に商談名、以降商談の受注確度が各列に入っています。 その中から、何ヶ月も確度が変わってない商談を抽出したいのです。 何か良い案を教えて頂けたら、と思います。 宜しくお願いします。

専門家に質問してみよう