『VLOOKUP 変則近似値の出し方』(ひよちゃん)
こんな感じの表があります
<データ表>
A B C
1 県番号 人数 ランク
2 22 33 E
3 4 20 B
※県番号と人数から、ランクを抽出する(C2、C3
<別表>
A B C
1 県番号 人数 ランク
2 22 0 A
3 22 10 B
4 22 20 C
5 22 30 D
6 22 40 E
7 4 0 A
8 4 25 B
9 4 50 C
10 1 0 A
11 1 10 B
12 1 100 C
※以下100行まで
<説明>
・データ表は、10000行位あり、県番号や人数が
ランダムに入っている
・別表は、県毎のランク基準が1〜47、県によって
4〜10段階の設定があり、県毎に数値基準が異なる
・県毎に抽出=IF($A2=22,VLOOKUP($B2,別表!$B$2:$C$6,2))
も検討したが、今後追加等もあり、データ表にて、
県番号22で、人数33なら、Eランクと、C2セル
にて一発で出せる方法が知りたい
以上の条件から、ご提案・ご指導お願いします。
< 使用 Excel:Excel2013、使用 OS:Windows11 >
>・県毎に抽出=IF($A2=22,VLOOKUP($B2,別表!$B$2:$C$6,2)) > も検討したが、今後追加等もあり、データ表にて、 > 県番号22で、人数33なら、Eランクと、・・
その式を入れると「D」になり、「E」にはならないです。
「E」が正しいとすると、Aランクは0人の時に限られる事になり それもちょっと変だなぁと言う気になります。
1.条件の説明に何かミスがないですか?
2.ランクは、全てAから順にアルファベットに並んでいるんですか? それとも、県によっては、S,M,Lの3段階なんてのもあり得るんでしょうか?
(半平太) 2025/03/01(土) 13:42:15
1,ミスです、
30〜40=Eになるようにしたいです。
0=”-”、1〜10=A・・・となるのが正解です。
2,そのとおりです。全県A〜Lの11段階設定、各県の人口が異なるので、
県毎にそのランク値が変わります。
改めて、宜しくお願い致します。
(ひよちゃん) 2025/03/01(土) 13:50:41
>1 県番号 人数 ランク >2 22 0 A >3 22 10 B >4 22 20 C >5 22 30 D >6 22 40 E
>30〜40=Eになるようにしたいです。 >0=”-”、1〜10=A・・・となるのが正解です。
すると、 11〜20=B 21〜30=C 31〜40=D 41〜50=E
1.どうしても「30〜40=Eになる」ようには出来ない気がするんですが・・
>全県A〜Lの11段階設定 ↑ 12段階設定ですね?
2.サンプルは、5行だったり、3行だったりして一定の行数じゃなかったのですが、 実際は「全県A〜L」と言うことなので、全県一律 12行あるんですね?
(半平太) 2025/03/01(土) 14:38:00
ランクについては、改めて確認した所、
全てご指摘どおりが正解です。
つまり、30〜40=D、とならなくては
いけません。
また、全県行数は12でお願いします。
(ひよちゃん) 2025/03/01(土) 15:32:50
最初の条件、30より大きく40以下=E C2 =INDEX(別表!C:C,MATCH(1,(別表!A$1:A$1000=A2)*(B2<=別表!B$1:B$1000),0))
ちなみに、30以上40未満=D C2 =INDEX(別表!C:C,MATCH(B2,別表!B$1:B$1000/(別表!A$1:A$1000=A2))) (んなっと) 2025/03/01(土) 16:02:07
ご回答ありがとうございます。
今やってみましたが、上はNA、下はDIVで、
両方共エラー回答になってしまいました。
もう一度ご確認願いませんでしょうか?
(ひよちゃん) 2025/03/01(土) 16:39:12
間違えた。 =INDEX(別表!C:C,MATCH(1,INDEX((別表!A$1:A$1000=A2)*(B2<=別表!B$1:B$1000),),0)) =INDEX(別表!C:C,MATCH(B2,INDEX(別表!B$1:B$1000/(別表!A$1:A$1000=A2),))) (んなっと) 2025/03/01(土) 17:05:17
ナイスコメントです!(笑)
境値も、BCと評価がそれぞれ別れ、完璧でした。
式を47作らなくていいし、コントロールシフトも
しなくて良く、一度に解決出来ます。
本当にありがとうございました。
(ひよちゃん) 2025/03/01(土) 17:14:57
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.