
過去 30 日以内にAmountNamedRange
対応する 2 番目に大きい金額のインデックスを検索する Excel 関数があります。DateNamedRange
=ArrayFormula(Match(Large(If(DateNamedRange > Today() - 30, AmountNamedRange, 0), 2), AmountNamedRange, 0))
これは、テーブルに同じ金額の行が他にない限り、十分に機能します。ただし、そのような行がある場合は、この式は初め過去 30 日間で 2 番目に大きい金額と同じ金額の行。説明がわかりにくいと思いますので、例を挙げます (今日が 2017 年 1 月 31 日であると仮定します)。
1 Date Amount
2 12/2/2016 27
3 12/6/2016 66
4 12/15/2016 99
5 1/8/2017 45
6 1/20/2017 27
7 1/22/2017 18
この場合、過去 30 日間で 2 番目に大きい金額は 27 (インデックス 6) ですが、Match
テーブル内で金額に一致する最初の行を検索するため、数式ではインデックス 2 が返されます。正しく 6 を返すように数式を変更するにはどうすればよいでしょうか。