- ベストアンサー
エクセルで別シートから合う条件を抽出
お世話になります。 過去ログを30分ほど見ていたのですが よくわからなくなり質問が重複していそうで、申し訳ございませんが 質問させて頂きます。 シート2に あ い う え お 1000 2 3 4 5 6 2000 3 4 5 6 7 3000 4 5 6 7 8 4000 5 6 7 8 9 5000 6 7 8 9 10 6000 7 8 9 10 11 7000 8 9 10 11 12 の表があります。 シート1の見積もりのAC24に1000.2000の列のリスト シート1の見積もりのAW19にあ、い、う、え、おの行のリスト が入ってます。 AC24とAW19を選んだら表の中の数字を引っ張りだしたいのです。 VLOOKUPやMATCH、IF関数を使ってみたのですがうまくいきません。 お忙しいところ恐れ入りますがアドバイス頂けたら幸いです。 よろしくお願い致します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
補足どうもありがとうございます。vlookとifで試行錯誤されたということで、以下のような関数はいかがでしょう? (例)sheet2のA1~F8に表があり、値を表したいセルがAX19の場合。 ⇒AX19に次の関数を入力 =IF(AW19="あ",VLOOKUP(AC24,Sheet2!$A$1:$F$8,2,FALSE),IF(AW19="い",VLOOKUP(AC24,Sheet2!$A$1:$F$8,3,FALSE),IF(AW19="う",VLOOKUP(AC24,Sheet2!$A$1:$F$8,4,FALSE),IF(AW19="え",VLOOKUP(AC24,Sheet2!$A$1:$F$8,5,FALSE),IF(AW19="お",VLOOKUP(AC24,Sheet2!$A$1:$F$8,6,FALSE),"エラー"))))) こんな感じでどうでしょう。多少長いですが、中身自体はシンプルだと思います。 ご参考まで。どうぞよろしくお願いいたします。
その他の回答 (3)
- junjun2004
- ベストアンサー率28% (24/83)
シート2の範囲をA1:F8とします。 シート1のリストというのは入力規則でリストにしているものと解釈しました。 値を表したいセルに {=SUM(IF($A$2:$A$8=$AC$24,IF($B$1:$F$1=$AW$19,$B$2:$F$8)))} といれます。 両側の{ }は式を入力後にCtrl+Shift+Enterを同時に押せば出てきます。 Vlookupなどで出せないものは配列数式(この式の形式)を使えば、 大抵のものは出せます。 色々使えますので、やってみてくださいね。
お礼
お礼が遅くなり申し訳ございません。 ありがとうございました。
- mu2011
- ベストアンサー率38% (1910/4994)
シート2の表範囲をA1:F8とし、 シート1の抽出セルに=OFFSET(sheet2!$A$1,MATCH(AC24,sheet2!$A$2:$A$8,0),MATCH(AW19,sheet2!$B$1:$F$1,0)) で如何でしょうか。
お礼
お礼が遅くなり申し訳ございません。 ありがとうございました。
補足
回答ありがとうございます。実際にこのとおりでできたのですが桁が4桁になると「0」が返ってきます。なぜかおわかりになりましたらお教え頂きたいのですが。
- altern8
- ベストアンサー率36% (17/47)
こんにちは。すみません。読解力が足りないのだけなのですが以下、教えてください。 >シート1の見積もりのAC24に1000.2000の列のリスト >シート1の見積もりのAW19にあ、い、う、え、おの行のリストが入ってます。 "入っている"とはどのような状態でしょうか? >AC24とAW19を選んだら表の中の数字を引っ張りだしたいのです。 "引っ張り出す"というのは、どういう結果を期待されていますか?
お礼
お礼が遅くなり申し訳ございません。 ありがとうございました。
補足
altern8さん 書き込みありがとうございます。 リストはセルの入力規則を使ったリストです。 プルダウンで選べるようにしてあります。 そのプルダウンで選んだA24とA19にマッチする数字を反映させたいのです。 A24で1000を選びA19でうを選んだら「4」となるようにしたいのです。 拙い日本語で申し訳ありませんがよろしくお願い致します。
お礼
お礼が遅くなり申し訳ございません。 ありがとうございました。