[[20051006112704]] 『近似値の検索[抽出?]について』(tomo) ページの最後に飛ぶ

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

 

『近似値の検索[抽出?]について』(tomo)

 質問させていただきます。下のような表で、
 A1に数値(検索値)を入れるとB列のB2以下から近似値を抽出して、
 B1に近似値に対応(A列)する番号(近似値1.0なら80、33.6なら72)
 を表示させる事はできるでしょうか?
 検索するのは「検索値 未満で最も大きい値」ではなく, 
 「検索値 最も近い値」に対応する番号(A列)を求めたいのです。
 ちなみにデータは80から10までの番号順に降りていき、B列は必ず降順でも
 昇順でもないのですが、そのような検索は可能でしょうか?
 (B列を降順にしてA列の番号はバラバラで検索する形でもいいのですが)

     A    B
1  
2   80   1.0 
3   79  29.4 
4   78  30.0 
5   77  30.6 
6   76  31.2 
7   75  31.8 
8   74  32.4 
9   73  33.0 
10  72  33.6 
11  71  34.2 
12  70  34.8 
13  69  35.4 
14  68  35.9 
15  67  36.5 
16  66  37.0 
17  65  37.5 
18  64  38.2 
 :  :   :
 :  :   :

 どなたか教えていただける方いらっしゃればよろしくお願いします。

 作業列を使う方法です。A列に行を追加します。
 D2に、=ABS(C2-$B$1) を入力して、下にコピー
 A2に、=RANK(D2,$D$2:$D$18,1) を入力して、下にコピー
 C1には、=VLOOKUP(1,A2:B18,2,FALSE)

	A	B	C	D
   1	順位	30.3	78	差異
   2	17	80	1.0 	29.3
   3	4	79	29.4 	0.9
   4	1	78	30.0 	0.3
   5	1	77	30.6 	0.3
   6	3	76	31.2 	0.9
   7	5	75	31.8 	1.5
   8	6	74	32.4 	2.1
   9	7	73	33.0 	2.7
   10	8	72	33.6 	3.3
   11	9	71	34.2 	3.9
   12	10	70	34.8 	4.5
   13	11	69	35.4 	5.1
   14	12	68	35.9 	5.6
   15	13	67	36.5 	6.2
   16	14	66	37.0 	6.7
   17	15	65	37.5 	7.2
   18	16	64	38.2 	7.9

 B1に数字(例えば30.3)を入力すると、C1は78と表示されます。
 ただし、
 B列に同じ値があっても一方しか抽出しません。
 30.3と入力すると30.0も、30.6も「最も近い値」ですが、一方しか抽出しません。
 (ちゅうねん)


 >「最も近い値」ですが、一方しか抽出しません。
 というのは同じ数値なら上にあるほうのセルの数値を抽出するという事ですよね?
 ちゅうねんさん、どうも有難うございます。
 (tomo)

 > 上にあるほうのセルの数値を抽出するという事ですよね?
 その通りです。

 D列は使わず、A列で「差異」を計算し、C1に=VLOOKUP(MIN(A2:A18),A2:B18,2,FALSE)
 でもいけそうです。…今気がつきました。
 (ちゅうねん)

コメント返信:

[ 一覧(最新更新順) ]


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