Excel の行内の他のすべてのセルをスキップして、行内の最大値を含むセルのアドレスを見つけるにはどうすればよいでしょうか?

Excel の行内の他のすべてのセルをスキップして、行内の最大値を含むセルのアドレスを見つけるにはどうすればよいでしょうか?

各行で、最大値を持つセルのアドレスを取得し、他のすべてのセルをスキップします。たとえば、列 A、C、E、H、J の値のみを評価し、列 B、D、F、I、K の値は無視します。

これに似たものが必要だと思います:

=CELL("address",INDEX(1:1,MATCH(MAX(1:1),1:1,0)))

しかし、1列おきにスキップしてもうまくいきません

編集:最大セルを特定した後、私が望むのは、a)理想的には、セルの列ヘッダーテキスト(行1)を表示するか、b)少なくとも列の文字を表示することです。

答え1

進歩です! 次のようにして、MAX で 1 つおきのセルをスキップできるようになりました。

=MAX(A2,C2,E2)

そして、最大セルの見出しテキストを表示するには、次のようにします。

=INDEX($A$1:$F$1,1,MATCH(MAX(B2,D2,F2),A2:F2,0))

ただし、これは完璧ではありません。MAX は必要に応じて他のすべてのセルをスキップしますが、外側の MATCH 関数と INDEX 関数はスキップしないため、奇数の列に MAX 値が重複していると、間違った見出しが表示される可能性があります。しかし、今のところは十分に近いです。

答え2

このバージョンでは、A2、C2、E2の値が何であっても、B1、D1、F1からの値のみが取得されることが保証されます。

=INDEX(CHOOSE({1,2,3},B$1,D$1,F$1),MATCH(MAX(B2,D2,F2),CHOOSE({1,2,3},B2,D2,F2),0))

もちろん、これをもっと広い範囲に拡張すると、式は長くなります。実際に確認する必要がある範囲はどこでしょうか?

関連情報