- ベストアンサー
エクセルの関数で表から列と行を指定して値を抽出する方法
- エクセルの関数を使用して、ある表の列と行を指定してその中から値を抽出する方法を教えてください。
- 具体的には、地域と箱数の組み合わせに対して、対応する金額を抽出する関数を使用したいです。
- VLOOKUPなどが近い機能かもしれませんが、複合的な使い方が必要なので、具体的な例やURLなど教えていただけると助かります。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
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関数)
その他の回答 (4)
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))
お礼
ありがとうございます。 いろいろやり方があるんですね。 助かりました!
仮に、表の北海道、東北、関東、、、が入ったセル範囲に「地域」、 表の1箱、2箱、3箱、、、が入ったセル範囲に「箱数」、 表の左上の角のセル(北海道の上で、かつ、1箱の左)に「表左上」、 地域を入力するセルに「入力_地域」、 箱数を入力するセルに、「入力_箱数」 と名前を定義したとすると、 =OFFSET(表左上,MATCH(入力_地域,地域,0),MATCH(入力_箱数,箱数,0)) で出ると思います。
お礼
ありがとうございます。 いろいろやり方があるんですね。 助かりました!
- imogasi
- ベストアンサー率27% (4737/17069)
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 のように求められます。 都合の良い例にしてルところはありますが、例えばの例です。
お礼
ありがとうございます。 いろいろやり方があるんですね。 助かりました!
- aco_michy
- ベストアンサー率25% (70/277)
index関数があります。 関数の種類で「検索/行列」の中にあります。
お礼
ありがとうございます。 いろいろやり方があるんですね。 助かりました!
お礼
ありがとうございます。 いろいろやり方があるんですね。 助かりました!