答え1
MAXIFSをお持ちの場合:
=MAXIFS(B:B,A:A,TRUE)
そうでない場合は、AGGREGATE を実行できます。
=AGGREGATE(14,7,$B$1:$B100/($A$1:$A$100),1)
またはこの配列数式:
=MAX(IF($A$1:$A$100,$B$1:$B100))
この最後の方法では、編集モードを終了するときに Enter ではなく Ctrl + Shift + Enter を使用する必要があります。
最後の 2 つは配列型の数式であるため、参照範囲はデータ セットに限定する必要があります。
答え2
簡単に言えば、行列計算を行うことです。
基本的に、列を取得して掛け合わせて、「MAX」を見つけることができます。「True」の値は 1 で、「False」の値は 0 です。「true/false」列が「A」で、値列が「B」であると仮定すると、次のようになります。
=MAX(($A:$A)*($B:$B))
重要
行列計算を実行するには、Excel でcontrolshiftenter行列計算を押す必要があります。単に数式を入力して押すだけでenterは機能しません。
この方法には 1 つの落とし穴があります... 負の数の場合に問題が発生します... false 列は 0 と評価されるため... 最大値は 0 になります。