次のようなデータのテーブルがあります。
a b c d
1 1 2 3 4
2 5 6 7 8
3 9 10 11 12
4 13 14 15 16
そして、最大値 (16) を見つけてその行番号 (この場合は 4) を返す式が必要です。それ、どうやったら出来るの?
INDEX(a1:d1,MATCH(MAX(a1:h4),a1:h4,0),)
動作していません:(
次のようなデータのテーブルがあります。
a b c d
1 1 2 3 4
2 5 6 7 8
3 9 10 11 12
4 13 14 15 16
そして、最大値 (16) を見つけてその行番号 (この場合は 4) を返す式が必要です。それ、どうやったら出来るの?
INDEX(a1:d1,MATCH(MAX(a1:h4),a1:h4,0),)
動作していません:(
そしてもう1人の謙虚な女の子の意見:
=ADDRESS(ROW(OFFSET(A1,MAX(IF(B2:E5=MAX(B2:E5),ROW(B2:E5)-1,"")),0)),COLUMN(OFFSET(A1,0,MAX(IF(B2:E5=MAX(B2:E5),COLUMN(B2:E5)-1,"")))),4)
-ただし、を介してARRAY数式として入力すると、 (領域を想定して)Ctrl+Shift+Enter
返されます。これは、単に目的のセルのアドレスです。E5
@Jüri Ruut
シート レイアウト:
B1:E1
: 列ヘッダー
A2: A5
: 行ヘッダー
B2:E5
: データ
配列数式:
{MAX(IF(B2:E5=MAX(B2:E5);ROW(B2:E5)-1;""}
最初に結果として「d」を求められたので、対応する配列式は次のとおりです。
{=OFFSET(A1;MAX(IF(B2:E5=MAX(B2:E5);ROW(B2:E5)-1;""));0)}
Shift-Ctrl-Enter を数式ウィンドウに入力して挿入します。中かっこは、ユーザーではなく、Excel によって挿入されます。
この添付のスクリーンショットが自明であることを願っていますか?
この配列数式を試してください
=MIN(IF(A1:H4=MAX(A1:H4),ROW(A1:H4)))
で確認CTRL+SHIFT+ENTER
A1:H4 に MAX 値が複数出現する場合、式はそれが出現する最初の 行を示します。
わかりました、次のようなマクロをプログラムします: 各行を繰り返します - その行の最大値を見つけます。値を配列に格納し、最大値を再度計算します。
おそらく、数式でも機能するでしょう。別の列の各行の最大値を計算し、その列の最大値を計算するだけです。