[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VLOOKUPの選択(以上・未満』(かのん)
下記の表から、Cの適性値を求めたいのですが、
=IFERROR(VLOOKUP($A1&$B1,$A11:$C17,3,TRUE),"")
この数式だと、急坂?Vが回答されます。
※40〜45の間/40以上、という解釈
希望としては、Dの様に、45までの数値
急坂?Wを回答する様に設定したいのですが、
数式をどう改造したらいいか、教えて下さい。
<検索値>
A B
1 急坂 42.02
<選択表>
A B C D(希望
11 急坂10 10 平地?U まで
12 急坂20 20 坂道?T まで
13 急坂25 25 坂道?U まで
14 急坂30 30 急坂?T まで
15 急坂35 35 急坂?U まで
16 急坂40 40 急坂?V まで
17 急坂45 45 急坂?W まで
< 使用 Excel:Excel2013、使用 OS:Windows11 >
?なしで見て下さい。
(かのん) 2024/10/07(月) 13:07:10
=IFERROR(VLOOKUP($A1&$B1,$A11:$C17,3,FALSE),INDEX($C11:$C17,MATCH(VLOOKUP($A1&$B1,$A11:$C17,3,TRUE),$C11:$C17)+1)) とか。
(サム) 2024/10/07(月) 17:40:05
VLOOKUP関数の第4引数にTRUEをセットすると、近似一致となり、 これは、検索値を超えない最大の値にヒットします。
テーブルの値を負の数値に反転させた表にして、 マイナスをつけた検索値で表引きすれば、 求める値を検索することができると思います。
A列 B C D E F G H 1行 テスト 解 ルール 検索用テーブル 2 42.02 急坂W 10以下 平地U -45 急坂W 「-45以上 -40未満」は、「40超45以下」と同じ。 3 5 平地U 10超20以下 坂道T -40 急坂V 「-40以上 -35未満」は、「35超40以下」と同じ。 4 10 平地U 20超25以下 坂道U -35 急坂U (以下同様) 5 25 坂道U 25超30以下 急坂T -30 急坂T 6 32 急坂U 30超35以下 急坂U -25 坂道U 7 39.9 急坂V 35超40以下 急坂V -20 坂道T 8 40 急坂V 40超45以下 急坂W -10 平地U 9 42.02 急坂W (45超は無いものとする)
急坂というのは検索に影響しないので、数値だけで検索します。 A列のテスト数値に対応する区分を、B列に算出する例を示します。
・B2セル =VLOOKUP(-A2,$G$2:$H$8,2,TRUE) ・それを下にコピーすれば、テストの値とその検索結果が得られます。
参考にしてください。
(xyz) 2024/10/07(月) 21:28:09
=INDEX(C$11:C$17,MATCH(TRUE,B$11:B$17>=B1,0)) (んなっと) 2024/10/07(月) 21:37:24
VLOOKUPにこだわり過ぎました。んなっとさんの数式をお使い下さい。
適切なタイミングで私の投稿は消去します。 (xyz) 2024/10/07(月) 22:22:05
(かのん) 2024/10/09(水) 09:58:12
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.