2017-01-02 11 views
-1

私はデータを持つ2つのテーブルを持っています。最初のものには、もう1つのディメンションが含まれているため、より詳細な詳細レベルのデータが含まれています。たとえば、Criteria1 = AとCriteria2 = Fの場合、2行目と2行目の両方で、Criteria1とCriteria2が列Aと列Bの対応する値と一致するTable1列Dの最小値を見つける方法が必要です。表1の3を参照。列Dの最小値(12)は行3にあります。一致する値(この場合は12)をTable2の新しい列に挿入する必要があります。VBA(Excel):複数の条件で配列をフィルタリングし、最小値を見つけよう

表1

Column A Column B Column C Column D (Value) 
A    F   X   13 
A    F   Y   12 
B    F   Y   15 
B    G   Z   17 
B    G   X   12,5 

表2

Criteria1 Criteria2 
A    F 
B    F 
B    G 

挿入最小値

Criteria1 Criteria2 Lowest Value (new column) 
A    F   12 
B    F   15 
B    G   12,5 

と表2私の仮定がありますこれは、INDEXとMATCHの組み合わせ、または高度なフィルタを使用して行うことができます。テーブルは7000行なので、巨大ではありません。しかし、私はこれを解決する方法をサポートする必要があります。これは、2段階の方法が必要なように見えます。

答えて

-1

列AおよびBに対応する列Cの最小値を検索する関数の疑似コードが条件を満たしました。

Function GetMinValue(criteriumA as String, criteriumB As String) As Long 

    With Table1Range 'haeders row included 
     .Autofilter Field:=1, Criteria1:= criteriumA 
     .Autofilter Field:=2, Criteria1:= criteriumB 
     If (condition to check for any filtered Cells) Then GetMinValue=WorksheetFunction.Min(.Columns(4).SpecialCells(onlyVisibleCells)) 
     removeAutofilter 
    End With 

End Sub 

あなたは

+0

は勇敢downvoterが今まで彼の投票の理由を説明するためにいかがSOにとRangeオブジェクトの両方Autofilter()SpecialCells()方法のためのウェブの両方で助けをたくさん取得し、両方のは、私はおそらく高めてい私の答えは、彼の考えから他の人に教えてもらえますか? – user3598756

関連する問題