Excel: 非連続配列内で最高値を持つ列の名前を返す

Excel: 非連続配列内で最高値を持つ列の名前を返す

列の最高値を見つけて列名を返すための回答を多数調べました。しかし、すべての回答は連続配列の使用に依存しており、INDEX 関数を使用しています。これは私には不可能です。次の列から 415 列離れた 17 の異なる列の値を確認する必要があります。次のようになります。

ABCDEFGHIJKLMNO

1 3 5----7 1 2----8 2 4----6 0 9

列 A、E、I、M の値を比較し、I の値が 8 なので、列 I が答えであると表示させる必要があります。次に、列 B、F、J、N を比較し、列 B がそのグループの最高列であると表示させる必要があります。そして最後に、列 C、G、K、O のうち、列 O が最高列であると表示させる必要があります。

私はこれを、1 億個のセル、17 グループ、各グループ 415 列、14,300 行に対して実行しています。

答え1

インストールすることをお勧めしますマイクロソフトPowerQuery次に、それを使用して列の比較を書き込み、その過程で新しいシートを作成します。ただし、このような大規模なクエリを実行するには、大量の RAM が必要になります。

答え2

A2、E2、I2、M2の最大値と、対応する列の行1のヘッダーを見つけるには、次の数式を使用できます。

=INDEX(CHOOSE({1,2,3,4},A$1,E$1,I$1,M$1),MATCH(MAX(A2,E2,I2,M2),CHOOSE({1,2,3,4},A2,E2,I2,M2),0))

関連情報