[[20171014052045]] 『最大値の抽出』(てっぱん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『最大値の抽出』(てっぱん)

すみません
いろいろ探したのですが、答えが見つからなかったので
質問させていただきます

 A列 B列  C列
1 100  1 
2 200  2 
3 300  3
4 400  4
5 500  5
6 600  6
7
8 90  405  4 

A列の任意の数値範囲の中にあるB列の最大値を求める
方法を教えていただけないでしょうか?

上記の例の場合、A8とB8にA列の数値範囲の中で
B列の最大値をC8に表示させたいです

< 使用 Excel:Excel2010、使用 OS:Windows7 >


=MAX((B1:B6)*(A1:A6>A8)*(A1:A6<B8))
として CTRL+SHIFT+ENTER (つまり、配列数式)ではどうですか?
等号の追加が必要かもしれません。明示されていないので不明ですが。
 
このほかDMAX関数も使えるでしょう。
(若干データの配置を整える必要がありますが。)

(γ) 2017/10/14(土) 07:31


もし提示されたようにA列が昇順になっていれば

C8: =VLOOKUP(B8,A1:B6,2)

(メジロ) 2017/10/14(土) 08:39


 A列は昇順だとして、B列も昇順なんですか?

 少なくともB列はランダムだとして

 ■DMAX関数
 1行目を見出しにする(「数値1」「数値2」はあくまで例)

	A	B	C	D	E
1	数値1	数値2		数値1	数値1
2	100	5		>=90	<=405
3	200	9			
4	300	2			
5	400	4			
6	500	10			
7	600	3			
8					
9	90	405	9		

 D2 =">="&A9
 E2 ="<="&B9

 C9 =DMAX(A1:B7,2,D1:E2)

 ■MAX関数(見出しはなくても可)

 =MAX(INDEX((A2:A7>=A9)*(A2:A7<=B9)*B2:B7,0))

 普通にEnterだけで確定(B列に負数はないものとする)

 または

 =MAX(IF((A2:A7>=A9)*(A2:A7<=B9),B2:B7))

 Ctrl+Shift+Enterで確定
 こっちはB列に負数があっても可。
 また、B列の範囲内に文字列(数式の「""」等)があってもエラーにはならない。

 参考まで
(笑) 2017/10/14(土) 14:30 補足追記 15:00

書き込みを確認されていないようですが前提が書き込み不足でした。

>もし提示されたようにA列が昇順になっていれば
  ↓
もし提示されたようにA列、B列が昇順になっていれば

です。
失礼しました。
(メジロ) 2017/10/15(日) 08:56


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.