[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『複数条件で値を検索して抽出』(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
ご返信ありがとうございます。
申し訳ございません。ご指摘の通り、10行目は該当なしでした。確認したつもりでしたが間違っていました。
ご教示頂いた数式で希望の処理が出来ました。誠にありがとうございました。
(th) 2018/05/13(日) 18:26
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.