• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAで2つの条件に合致するものを、表から抽出する方法を教えてください)

VBAで条件に合致する表の抽出方法

このQ&Aのポイント
  • VBAを使用して、条件に合致する表を抽出する方法を教えてください。
  • Excelのシートにある表から、指定した条件に合致するデータを抽出する方法をVBAで実装することができます。具体的には、売上と前年比の条件を入力し、それに合った係数を取得することができます。
  • シート2のA1セルに売上、A2セルに前年比の値を入力すると、B1セルに該当する条件に合致した係数が表示されるようになります。VBAを使用して、この処理を自動化することができます。

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

  • ベストアンサー
  • kybo
  • ベストアンサー率53% (349/647)
回答No.1

関数で十分出来ます。Sheet2のB1に以下のようにいれます。 =INDEX(Sheet1!A1:E6,MATCH(A1,Sheet1!A1:A6),MATCH(A2/100,Sheet1!A1:E1)) あえてVBAですると、以下のようにすると簡単です。 Sub macro() Dim X As Integer, Y As Integer X = WorksheetFunction.Match(Worksheets("Sheet2").Range("A2").Value / 100, Worksheets("Sheet1").Range("A1:E1")) Y = WorksheetFunction.Match(Worksheets("Sheet2").Range("A1").Value, Worksheets("Sheet1").Range("A1:A6")) Worksheets("Sheet2").Range("B1").Value = Worksheets("Sheet1").Cells(Y, X).Value End Sub

creopatra
質問者

お礼

早速の回答ありがとうございます。 INDEX、MATCH関数でもできるんですね!! VBAでの使用の仕方も初めて知りました!! 試してみたら正確に反映しました。 本当に助かりました。 ありがとうございました。

その他の回答 (1)

  • kybo
  • ベストアンサー率53% (349/647)
回答No.2

回答1:で言い忘れましたが、「100以上」「200以上」等は、実際には100、200と入力しておいて、セルの書式設定→表示形式→ユーザー定義で「0"以上"」と設定してあるとします。

creopatra
質問者

お礼

補足いただいてありがとうございます。 最初何も考えずに実行していました。

関連するQ&A