こんにちは。
どうしても気になったもので、横合いから失礼します。
ご希望の動作の確認からで恐縮ですが、
- A 列の数値を 3つのグループに分け、そのグループの計算上の行数を B1 セルの値によって可変させ、グループ単位の比較結果を B1 セルの値の行数分 B 列に表示させる。
ということではなく、
- A 列の数値を 3つのグループに分け、そのグループの計算上の行数は 3行ずつで固定しておき、グループ単位の比較結果を B1 セルの値の行数分 B 列に表示させる。
ということでしょうか?。
前回(5月13日)の返信を拝見するまでは、上段のような動作をする数式を作成し検証していたのですが、下段のような動作をする数式を改めて考えてみました。一例です。
・数式例1
=IF(COUNT(OFFSET(A$26,INT((ROW(A1)-1)/B$1)*3,,3,))=0,"",IF(MAX(OFFSET(A$23,INT((ROW(A1)-1)/B$1)*3,,3,))>=MAX(MAX(OFFSET(A$20,INT((ROW(A1)-1)/B$1)*3,,3,)),MAX(OFFSET(A$26,INT((ROW(A1)-1)/B$1)*3,,3,))),MAX(OFFSET(A$23,INT((ROW(A1)-1)/B$1)*3,,3,)),3))
・数式例2
=IF(INDIRECT("A"&ROW())="","",IF(MAX(OFFSET(A$23,INT((ROW(A1)-1)/B$1)*3,,3,))>=MAX(MAX(OFFSET(A$20,INT((ROW(A1)-1)/B$1)*3,,3,)),MAX(OFFSET(A$26,INT((ROW(A1)-1)/B$1)*3,,3,))),MAX(OFFSET(A$23,INT((ROW(A1)-1)/B$1)*3,,3,)),3))
どちらの数式も基本的な動作は同じです。
違うのは、A 列に比較すべき数値が無くなった時の処理です。
数式例1は、A 列で比較対象の 3つのグループの内の 3つ目のグループが見つからない場合に空白を表示します。
数式例2は、A 列のデータが空白の場合に空白を表示します。
両方の数式を適用した具体例は下図のようになります。
※ A 列と行位置を合わせるため、数式は B 列、C 列共に 20行目に入れ、これを下方向に必要なだけ(この場合は適当に 50行目まで)コピーしています。(これらの数式は、23行目から入れ始めても同様の結果を得られます。)

※ 2つの数式それぞれで表示の仕方に特徴がありますので、ご自身の環境でお試しになってみてください。
尚、前回(5月13日)の返信で提示されている A 列の数値を使い、B1=4 として 23行目から数式を入れた結果は下図のようになります。(念のため記載。)

ご参考になれば幸いです。