>作業用テーブルがなくてもできる気がしまして、代案を募ったところでした。
質問の内容から作業用テーブルが必要な理由を述べてみます。
A列からC列について各行の最小値を1列の配列値で返す関数があれば作業用テーブルを作らなくてもカウントできます。
しかし、私が使っているExcel 2013にはそのような関数が見当たりません。
従って、作業用のテーブルを作成して目的の計数を行いました。
>是非、2つの式についての説明をお願いいたします。
行毎の最小値を算出する数式を分かり易く書けば次のようになります。
M2=MIN(A2:C2)
N2=MIN(D2:F2)
O2=MIN(G2:I2)
M2:O2を下へオートフィルコピーすると目的のテーブルができます。
しかし、質問の内容ではM2の数式を右にコピーして更に下へもコピーしなければならないと推測し、MIN関数の引数(配列)をOFFSET関数で列数と行数を指定する方法にしました。
それが次の数式です。
M2=MIN(OFFSET($A$1,ROW()-1,MOD((COLUMN(A1)-1),3)*3,1,3))
OFFSET関数は参照セルを原点として、そこからの隔たりを行と列について指定します。
また、幅と高さで列数と行数を指定できますのでOFFSET関数の戻り値は配列も可能になっています。
M2セルの配列は
OFFSET($A$1,ROW()-1,MOD(COLUMN(A1)-1,3)*3,1,3)
↓ ROW()=2 COLUMN(A1)=1
OFFSET($A$1,2-1,MOD(1-1,3)*3,1,3)
↓ MOD(1-1,3)*3=0 被除数(1-1)を除数(3)で除算した残り(0)の3倍
OFFSET($A$1,1,0,1,3)
↓
A2:C2
N2セルの配列は
OFFSET($A$1,ROW()-1,MOD(COLUMN(B1)-1,3)*3,1,3)
↓ ROW()=2 COLUMN(B1)=2
OFFSET($A$1,2-1,MOD(2-1,3)*3,1,3)
↓ MOD(2-1,3)*3=3 被除数(2-1)を除数(3)で除算した残り(1)の3倍
OFFSET($A$1,1,3,1,3)
↓
D2:F2
SUMPRODUCT関数については後日にさせてください。
お礼
やはり作業用テーブルが必要なんですね。 ありがとうございました!