[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『セルに入れた数字で範囲を指定して値を抽出2』(HO)
以前ご回答頂いた数式に処理の条件を追加したいのですが、可能でしたらご教示ください。
http://www.excel.studio-kazu.jp/kw/20170802154505.html
<前回の処理条件>
セルに入れた数字で検索範囲と値を指定して該当したら、その隣のセルの値を抽出。(複数該当した場合は一番上の行のセルの値だけでそれより下にあっても除外)
【例】
B列を検索対象にして、E1とF1に入れた数字で指定した行番号の範囲にD1に入れた値以上の値があったら、隣のA列の値をC2に抽出。
(B5からB20に40以上の値があったら、その行のAの値をC2に抽出)
【数式】
=IFERROR(INDEX(INDIRECT("A"&E1&":A"&F1),MATCH(1,INDEX((INDIRECT("B"&E1&":B"&F1)>=D1)*1,0),0)),"該当なし")
【処理結果】
A B C D E F 1 40 5 20 2 1995 29 2003 3 1996 22 4 1997 25 5 1998 29 6 1999 18 7 2000 37 8 2001 39 9 2002 19 10 2003 45 11 2004 22 12 2005 26 13 2006 47 14 2007 17 15 2008 14 16 2009 12 17 2010 41 18 2011 29 19 2012 18 20 2013 11 21 2014 21 22 2015 49 23 2016 33
これに隣のA列の値がG1で指定した値以上という条件を追加して下記のような結果になるようにしたいと思います。
A B C D E F G 1 40 5 20 2005 2 1995 29 2006 3 1996 22 4 1997 25 5 1998 29 6 1999 18 7 2000 37 8 2001 39 9 2002 19 10 2003 45 11 2004 22 12 2005 26 13 2006 47 14 2007 17 15 2008 14 16 2009 12 17 2010 41 18 2011 29 19 2012 18 20 2013 11 21 2014 21 22 2015 49 23 2016 33
よろしくお願い致します。
< 使用 Excel:Excel2007、使用 OS:Windows7 >
元の式では (INDIRECT("B"&E1&":B"&F1)>=D1) の部分でB列がD1セル以上という条件の行を見ている。 なのでここにA列がG1セル以上という条件を付けくわえる。 =IFERROR(INDEX(INDIRECT("A"&E1&":A"&F1),MATCH(1,INDEX((INDIRECT("B"&E1&":B"&F1)>=D1)*(INDIRECT("A"&E1&":A"&F1)>=G1),0),0)),"該当なし") でどうだろうか。 (ねむねむ) 2018/10/18(木) 12:26
またご回答頂き、誠にありがとうございます。
今回も希望の処理ができました。
(HO) 2018/10/18(木) 12:54
実際の表も、例示の表と同じですか? だったら範囲を行番号ではなく、年で指定すればいいのでは?
条件が「2005年以降」で、20行目までなら A列の範囲は 2005〜2013 ですよね?
指定する条件は、検索開始年(2005)と終了年(2013)、及びB列の条件
これでいいのなら「DMIN 関数」で簡単にできます。
該当するものがない場合は「0」になるので、 表示形式で「0」は非表示、あるいは「該当なし」と表示
それとも、例示と実際の表は全く別ものなんですか?
以上 (笑) 2018/10/18(木) 14:47
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.