• 締切済み

EXCELの質問

B列で最大の値を取得して、A列でその時の時間を取得したいのですが、 Lookup関数を使用しても行が増えるとうまくいきません。どうしてでしょうか? MATCH関数も行が増えるとうまく値を取れません。誰か教えてください。 例)   A  B 1 8:00 350 2 8:10 500 3 8:20 200 4 8:30 400 この場合8:10を取得したいのですが・・・

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.6

3日考えてやっと出来ました。エクセルの関数を使う方法で、他よりスッキリしていると思います。 テストデータとして,値と列はどこでも良いですが、私が勝手に決めて作ります。 B1に2、B2に3、B3に4、b4に45、B5に6、B6に78をいれて実例とします。 A6に2002/3/3をいれます。A1からA5には日付が入りますが略します。(本番では下記(1)、(2)は要りません。(3)に至るプロセスを分解して説明するためいれています。) (1)B8セルに=MAX(B1:B6)といれます。B1からB6の値の最大値を求めます。この場合78です。 (2)B9セルに=MATCH(MAX(B1:B6)、B1:B6)といれます。 最大値78は、B1からB6までで、B1から何番目に有るかを求めます。この場合6番目です。またB1からの隔たりは5(5=6-1)です。 (3)B10セルに=OFFSET(B1,MATCH(MAX(B1:B6),B1:B6)-1、-1)といれます。OFFSETはこの場合B1を基点として、下へ5行、-1は左へ1列、隔たったセルを指しますので、最大値のすぐ左の列のデータの2002/3/3を取ってきて、2002/3/3がセットされます。A列の書式は日付にしておくこと。 最大値と同じ値が2個以上あると上記では対応出来ていません

  • kbonb
  • ベストアンサー率51% (254/492)
回答No.5

こんにちは  ひょっとしたら、以下のページがご参考になるのでは? 【エクセル技道場】-編集-連続データの作成(時刻) http://www2.odn.ne.jp/excel/waza/edit.html#SEC12

参考URL:
http://www2.odn.ne.jp/excel/waza/edit.html#SEC12
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.4

>行が増えるとうまく値を取れません。 下の算式で質問のデータに5、6、7行目・・・とデータが増えても大丈夫ですが・・・ 質問の意味はこのようなことでしょうか(式に行の要素を入れていません) ただし、B列に最大値が複数あると、一番行番号の小さい行になります。  =INDEX(A:A,MATCH(MAX(B:B),B:B,0))

0119
質問者

補足

ありがとうございます。どうも行が100行くらいになると lookupを使っても一番下の行の値をとってきます。

  • psss
  • ベストアンサー率28% (59/209)
回答No.3

 No.1の方の補足になりますが、VLOOKUPをHELPでよく読んでください。 キーになる値の右側のセルの値しか返せない仕様になっています。  右側でさえあれば、離れててもOKなんですが。 また、キーになる値の入っているセルはソートされていないと正常な値が返ってこない場合があります。  いろいろと組み合わせたり、マクロを組まないと、VLOOKUP関数単体では不可能です。

回答No.2

もし、B列の最大値が複数あった場合はどうするのでしょう? たとえば上の例だと 5 8:40 500 なんて行があった場合ですが… 行が増えたことで、最大値が重複してしまった場合は きっとうまく動きませんよね。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 VLOOKUP関数を使用すると出来ますが。 まず、A列とB列を入れ替えます。(一番左の列が検索対象のため。) そして =VLOOKUP(MAX(A1:B4), A1:B4, 2) これで取得出来ます。 もちろん、この式を記入するセルの書式設定を[時刻]にしないと、"8:10"とは表示されませんが。 範囲指定が相対参照なので、行を挿入しても範囲が自動的に"A1:B5"になるはずです。 では。

0119
質問者

補足

ありがとうございます。確かに行を入換えてvlookup関数を使うと 行が増えてもうまくいきましたが出来ればそれ以外の方法でないですか? 行を入換えないといけないのが・・・

関連するQ&A

専門家に質問してみよう