[[20180513141240]] 『複数条件で値を検索して抽出』(th) ページの最後に飛ぶ

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

 

『複数条件で値を検索して抽出』(th)

下記の様に複数条件で値を検索して抽出する数式がありましたら、ご教示ください。
よろしくお願いいたします。

・C列のセルの値以下かつ隣のB列のセルより大きい値を範囲指定してB列で上方向に検索して、該当する中で最小の値の隣のA列の値を抽出。
・D列に数式(E1で検索範囲指定)
・該当がなければ空白。該当が複数あれば一番上のセルの値を抽出。
・D6の例:57以下で51より大きい値をB1からB5で検索、その中で最小のB3の53が該当でA3の2011年を抽出。

       	A	B	C	D	E
 1	2009年	50	51		5
 2	2010年	51	53		
 3	2011年	53	57		
 4	2012年	54	52		
 5	2013年	55	56		
 6	2014年	51	57	2011年	
 7	2015年	56	54		
 8	2016年	50	52	2014年	
 9	2017年	51	50		
 10	2018年	52	53	2013年	

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


 今一ルールが不明瞭ですねぇ?

 >C列のセルの値以下かつ隣のB列のセルより大きい値
 これって同じ行の、B列より大きく、C列以下って事ですか?

 10行目は何で2013年なんですか?
 C10セルの53以下で、B10セルの52より大きい値を、E列で指定してる5件分のB5〜B9セルの範囲で検索ですよね?
 該当なしにならないといけないと思うんですけど?

 後例えばB1セルが54とかの場合は、D3は2009年になるようにしないといけないんですか?
 それともE1セルが5なので、1〜5行目は必要無し?

(sy) 2018/05/13(日) 17:40


 取り合えず以下の数式で出来ますか?

 D2 =IFERROR(INDEX(A$1:A$100,SMALL(INDEX(((B$1:B1<=B2)+(B$1:B1>C2)+(ROW(B$1:B1)<ROW()-E$1))*100+ROW(B$1:B1),0),1)),"")
 下にフィルコピー

 D2セルからの入力なので間違えないで下さい。

(sy) 2018/05/13(日) 18:17


sy様

ご返信ありがとうございます。

申し訳ございません。ご指摘の通り、10行目は該当なしでした。確認したつもりでしたが間違っていました。

ご教示頂いた数式で希望の処理が出来ました。誠にありがとうございました。

(th) 2018/05/13(日) 18:26


コメント返信:

[ 一覧(最新更新順) ]


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