答え1
答え2
Office 365 Excel をお持ちの場合、通常の数式は次のようになります。
=MAX(MAXIFS(B:B,A:A,300),MAXIFS(C:C,A:A,300))
両方の 300 をセル アドレスに置き換えることができます。これは配列数式ではないため、問題なく列全体の参照が可能になります。
答え3
もう少し一般的な答えは次のとおりです。
行 6 から N まで伸びる配列の行 i から j の連続するサブセットについて、列 C と D に表示される数値の最大値 (または最小値、中央値など) を計算し、列 B に「行」の値を入力するとします。i の明示的な値は B2 で指定し、j の値は B3 で指定します (これらの値は、スプレッドシートの他の場所で事前に計算されている可能性があります)。ここでは、透明性を確保するために、i = 9、j = 14、n = 15 とします。
以下は私が開発した Excel2003 コードです。問題なく動作するようです。
{=MAX(IF(B6:B15>=B2,IF(B6:B15<=B3,C6:C15),""))} は MAX(C9:C14) を返します。
{=MAX(IF(B6:B15>=B2,IF(B6:B15<=B3,D6:D15),""))} は、 MAX(D9:D14) を返します。
同様の計算を行うには、MAX を MIN または他の関数名に変更するだけです。ただし、ステートメントを操作するたびに消える「中括弧」を再インストールすることを忘れないでください (Ctrl-Shift-Enter)。