• ベストアンサー

最大値となるセルの絶対番地を知りたいのです。

指定配列中の相対位置を返すMATCHではなく、 絶対番地、できれば(i,j)それぞれ行と列を返す方法 を関数でお願いします。 "A10"形式でもOKですが、"R1C1形式"ですと行と列の 取り出し方が分かりません。

質問者が選んだベストアンサー

  • ベストアンサー
  • moon_piyo
  • ベストアンサー率60% (88/146)
回答No.2

こんちは 行位置 =INT(MAX(INDEX((セル範囲=MAX(セル範囲))*ROW(セル範囲)*257+COLUMN(セル範囲),))/257) 列位置 =MOD(MAX(INDEX((セル範囲=MAX(セル範囲))*ROW(セル範囲)*257+COLUMN(セル範囲),)),257)

その他の回答 (3)

回答No.4

ANo.1です。 最大値が複数あった場合の処理はどうするのでしょうか? とりあえず、一番下の行位置を得るには、 =SUMPRODUCT((MAX(セル範囲+ROW(セル範囲)/1000)=セル範囲+ROW(セル範囲)/1000)*ROW(セル範囲)) で出来ます。 該当する最大値の中で、一番上の行位置を得るのは、 =SUMPRODUCT((MAX(セル範囲+(1-ROW(セル範囲)/1000))=セル範囲+(1-ROW(セル範囲)/1000))*ROW(セル範囲)) です。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

MATCH は、相対位置ですね。だから、絶対位置に換えてあげれば済むことです。 =MATCH(MAX(R1C1:R20C1),R1C1:R20C1)+ROW(R1C1)-1 というように、+ROW(R1C1)を、範囲の先頭の番地を入れて、それを足して、1を引けばよいのですが、マトリックス(格子)で出すのでしょうか? マトリックスでは、MATCH の引数には使えませんね。 特にR1C1形式でも、変わらないと思いますが、例えば、R1C1:R20C4 までの範囲でしたら、 行: =LARGE(IF(MAX(R1C1:R20C4)=R1C1:R20C4,ROW(R1C1:R20C4)),1) 列: =LARGE(IF(MAX(R1C1:R20C4)=R1C1:R20C4,COLUMN(R1C1:R20C4)),1) これらは、配列数式ですから、配列の確定を、入力したら、F2を再度押して、Ctrl とシフトを押しながら、Enterで確定してあげます。ただし、これも相対位置ですから、検索範囲と、ROW(),COLUMN()の中を同じ範囲にしてあげればよいですね。 たぶん、これでできるかと思います。

回答No.1

こんなので、どうですか? =SUMPRODUCT((セル範囲=MAX(セル範囲))*ROW(セル範囲)) これで、行位置が取り出せます。 列はROWをCOLUMNにかえれば同じです。

rick_dom
質問者

補足

ありがとうございます、早速やってみました。 ですが、最大値が二つあるとその二つ分が合算される?様です。 一つしかない場合は上手く動きました。 何か手はないでしょうか?m(__)m

関連するQ&A

  • セル番地という言い方

    ExcelのA1やB1というセル番地の呼び方について 教えてください。 本には「列番号と行番号でセルの位置を表し、そ れをセル参照と言う」と記載されています。 セル番地と言う言い方と、セル参照という言い方、 どちらが正式ですか。

  • Excel2007 セル番地の表示が・・・

    普通、エクセルのセル番地は、 ・行は数字 ・列はアルファベット というように表されているので、 一番左上だと、「A1」というようにセル番地が当てはまると思うのですが、 なぜか、行も列も数字であらわされていて、 一番左上の場合、セル番地は 「R1C1」 と、 ・行は「R*」 ・列は「C*」 (*は数字) であらわされるようになっています。 これを、元に戻すことはできないでしょうか? 左上のセル番地は「A1」となるように、ということです。 よろしくお願いします。

  • エクセルのセル表示をRC番地形式にするには?

    Windows7でエクセルのセル番地の表示が相対形式(例:-CR[3]+CR[5])になっています。 これをR1C3のような絶対番地形式で表示させるにはどうすればいいですか? Windows XPでは、「ツール>オプション>全般>R1C1 参照形式を使用する」のチェック有無で参照形式が切り替わったと思いますが、Vistaや7では、「ツール」がありません… 初歩的な質問ですがよろしくお願いします。

  • エクセル関数で {=TABLE(,セル番地)} って?!

    よそから来たエクセルのデータなのですが、150行程度16列の表です。 この表に使われている関数がこれまで見たことも聞いたこともなく、関数のヘルプにもありません。 表中のどのセルも、 {=TABLE(,セル番地)} という式がはいっていて、表示される数値は違うのですが、セル番地はみな同じなんです。 1.これはどのような意味でしょうか? 2.配列関数のようなのですがCtrl+Shiftでは確定できず、さわったセルが元に戻せなくなってしまいました!「式が正しくない」とメッセージが出て、終了もできず、タスクマネジャーでエクセルを強制終了しなくてはならなくなりました。これはCtrl+Shiftでは確定でききないのでしょうか? お助けください。 ( ̄∇ ̄; ?

  • 番地が知りたい

     次のようなことをやりたいのですが、うまい関数が見あたりません。教えてください。マクロは使いません。  例えば次のようなセルの配列があります。 2、○、○、○、5、○、○、○、4、○、○、○  ただし、○には数でない文字があったりなかったり("")します。 ここから例えば「4」のあるセルの番地を知る方法はあるでしょうか。  ちなみに、私はまず配列の横に数だけを取り出した配列を作り、そのずーっと下にCOLUMN()で列番号を表し、数だけの配列からずーっとしたの配列までの範囲でHLOOKUP()をかけてみました(説明自体がわかりづらい)。うーん、もっと簡単にできないものでしょうか。

  • エクセルのセル番地について。

    いつもお世話になっています。 先程,エクセルを使おうとしたところ、セル番地を指定できるように、アルファベット+数字が振ってあると思うんですが、現在、「行」・「列」ともに数字が表示されています。 修正の仕方が分かる方が居ましたら教えていただけると幸いです。 バージョンは2007です。

  • エクセルの関数の引数で範囲指定をしたいのですがセル番地の足し算などは出

    エクセルの関数の引数で範囲指定をしたいのですがセル番地の足し算などは出来ないのでしょうか? address関数を使ってみたのですが、文字列として認識される為エラーが出ました。 もしくは文字列をセル番地(範囲指定できる形)に変換することは出来ませんか?

  •  EXCELで セルの絶対参照できない場合がある?

     すいません教えてほしいのですが、 EXCEL で 絶対参照(セルに$A$6にする)の指定を行うと、番地は、変わらないと思うのですが、違うシートの絶対番地<例えば:シートA!$B$5>を指定したときに、該当行に他からコーピー挿入したとします。すると絶対番地で指定したはずの、番地が$B$5から$B$6に変わってしまうのですが良いのでしょうか?、指定方法がわるいのでしょうか? 良い方法があった教えてください。  使用ソフトは、EXCEL2003です。 よろしくおねがいします。

  • excelで○○と入力されているセル番地を返す方法

    excelについて質問です。 シートAに下記の記述をします。    A    B 1 項目名 セル番地 2 ○○  B7 のような形で、シートBからセル番地を引っ張ってくる方法はありますでしょうか。 セル番地が難しいようであれば、行、列を返す形でもよいです。 上手く質問ができず、申し訳ありません。 できればVBAは使わず、関数で処理できるとベターです。 宜しくお願いいたします。

  • 【excel VBA】 配列番地の検索

    excel2000のVBAで二次元配列を検索して、 検索条件に一致する配列の番地を取得するための、 コード記述に関する質問です。 例えば、 myarray(i,j), i=1,j=1の配列があるとして、それぞれに myarray(0,0) = 1 myarray(0,1) = 2 myarray(1,0) = 3 myarray(1,1) = 4 という値が格納されており、 配列を検索して値が4の番地(i=1,j=1)を返したい、 といった場合、どのようにすれば良いのでしょうか。 ご存知の方、是非回答お願いします。

専門家に質問してみよう