• ベストアンサー

OFFSET,MAX関数併用で値を求める

OFFSET,MAX関数併用でD1にB列最大値"5"の左にある文字"こ"の値を出したいのですが数式を以下のようにしたのですができません。どなたか関数がわかる方よろしくお願いします。 =OFFSET(ADDRESS(MAX(B1:B9)),0,-1) A B C D 1 あ 1 か 2 い 3 3 う 0 4 え 1 5 お 2 6 か 5 7 き 2 8 く 1 9 こ 4

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.4

>二番目に大きい数値の文字 「一番大きい」を「2番目に大きい」に入れ替えるだけです。 =INDEX(A:A,MATCH(LARGE(B:B,2),B:B,0)) >質問が増えて申し訳ない まったく迷惑です。とお話ししておかないと、迷惑かけてるんだと気が付かない割に指摘されると逆切れる方も多いんで始末に困ります。

kuma0220
質問者

お礼

ありがとうございます。大変助かりました。

その他の回答 (3)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

OFFSET関数は =OFFSET(基準セル、縦移動量、横移動量) のように使います。 「基準セル」にはセルを指定する必要があります。 ADDRESS関数はセル番地の文字列を計算する関数で、セルそのものを計算してはくれないので、ここでは使えません。 OFFSET関数を使う事自体あまりお勧めではありませんが、勉強のためであれば =OFFSET(A1,MATCH(MAX(B:B),B:B,0)-1,0) あるいは =OFFSET(B1,MATCH(MAX(B:B),B:B,0)-1,-1) のようにすることが出来ます。いずれも起点セルとしてA1やらB1を直接する方法になります。 「セルそのもの」を計算してくれる関数の代表としてはINDEX関数がありますので =OFFSET(INDEX(B:B,MATCH(MAX(B:B),B:B,0)),0,-1) としても出来ますが、もっとシンプルに =INDEX(A:A,MATCH(MAX(B:B),B:B,0)) とするのが一般的なやり方です。

kuma0220
質問者

お礼

ありがとうございます。

kuma0220
質問者

補足

質問が増えて申し訳ないですがD2に二番目に大きい数値の文字を返すことができるでしょうか?よろしくお願いします。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

A1セルからA9セルにひらがな文字が、B1セルからB9セルに数値が入力されていたら次の式で良いでしょう。 OFFSET関数を使うなら =OFFSET(INDEX(B1:B9,MATCH(MAX(B1:B9),B1:B9,0)),0,-1) より簡単な式なら =INDEX(A1:A9,MATCH(MAX(B1:B9),B1:B9,0))

kuma0220
質問者

お礼

ありがとうございます。助かりました。

kuma0220
質問者

補足

質問が増えて申し訳ないですがD2に二番目に大きい数値の文字を返すことができるでしょうか?よろしくお願いします。

  • yokomaya
  • ベストアンサー率40% (147/366)
回答No.1

多分ですがEXCELのお話ですよね? 下の表なのかどうかもよくわからないものは、1文字ずつセルに入力されているのかと 類推してます。 その上で B列最大値"5"の左にある文字"こ" ってのがイミフで5の左はかじゃないんですか? 質問そのものが理解できる様に書かないと適切な回答は得られないと思います。 と想像して書いたのが、下記の式です。 =OFFSET(A1,MATCH(MAX($B$1:$B$9),$B$1:$B$9,0)-1,0)

kuma0220
質問者

お礼

ありがとうございます。

関連するQ&A