来年リリース予定のLibreOffice 6.2のCalcで追加された新機能の1つとして、SMALL
/LARGE
関数の第2引数に配列を指定できるようになります。これによりOOo時代からの要望が14年越しに実現されることになりました。同時にこれらの関数がODF v1.2のOpenFormula仕様を満たす実装となったため、相互運用性の改善にもなります。
SMALL
/LARGE
は、第1引数の配列に含まれる数値の中から、特定の順位にあたる値を返す関数です。例えば、「A1からA15の範囲に含まれる数値のうち、2番目に小さい値」は=SMALL(A1:A15, 2)
のような式で求められます。
順位を与える第2引数に配列が許されるようになると、例えば「B1からB15の範囲に含まれる数値のうち、大きい順に並べてトップ3の平均」を
=AVERAGE(LARGE(B1:B15, {1,2,3}))
という単純な式で求められます。(LibreOffice 6.1以前では、同様のことをしようとすると=AVERAGE(LARGE(B1:B15, 1), LARGE(B1:B15, 2), LARGE(B1:B15, 3))
といった冗長な式を使うか、トップ3の値を3つの中間的なセルに納めてから改めてそれらを平均する、という手段しかありませんでした。)