選択した年とカテゴリに応じて、Excel で並べ替えられたテーブルを作成しようとしています。
私の方法論は、次のようにして、選択した年とカテゴリ パラメータ内で最大値を順番に見つけることでした。
E列
{=LARGE(IF(('Master Data'!A$1:A$500 = $B$1) * ('Master Data'!B$1:B$500 = $B$2),'Master Data'!C$1:C$500), $B10)}
これは正常に機能$B$1$
し、年を保存する$B$2
場所、カテゴリを保存する場所$B10
、列にハードコードされた 1-25 を参照しますB
。
F列
{=MATCH(E10,IF(('Master Data'!A$1:A$500 = $B$1) * ('Master Data'!B$1:B$500 = $B$2),'Master Data'!C$1:C$500),FALSE)}
これにより、必要な結果の行番号が返されます。これを と組み合わせて使用して、INDEX
関連データを検索します。
これに関する問題は、Match が最初の行番号のみを返すことです。同じ値の結果が 2 つある場合、これは明らかに問題になります。
G列
これを解決するために、次のようなDailydoseofexcelの例を使用しました。
=IF(F10<>F11, F11, G10+MATCH(E11,INDIRECT("'Master Data'!C"&(G10+1)&":C500"),0))
これは、適用する必要がある年とカテゴリのフィルターを考慮することができないため、私の目的では限定的に機能するため、次のことを試しました。
{=IF(F10<>F11, F11, G10+MATCH(E11,IF((INDIRECT("'Master Data'!A"&(G10+1)&":A500") = $C$2) * (INDIRECT("'Master Data'!B"&(G10+1)&":B500") = $C$3), INDIRECT("'Master Data'!C"&(G10+1)&":C500")),0))}
しかし、私は#N/A
結果として得ているだけです。