[[20050120155111]] 『VLOOKUP、OFFSET?表からのデータ抽出』(MOU) ページの最後に飛ぶ

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

 

『VLOOKUP、OFFSET?表からのデータ抽出』(MOU)

わかりにくいタイトルですみません。
EXCEL表から最大値のものをピックアップしたいのです。ご教授願います。

    A(価格)   B(値引率)   C(設定値)
1    100          0.3         
2    200          0.4
3    300          0.5

こういうリストがあった場合、以下のようにしたい。

@ Aの価格で一番高いものを選択した後(=MAX(A1:A3))に、

A 上記で抽出された(A3)に対応する値引率(B3:0.5)を乗じた値(150)を

B 常にセルC1に表示する。

A,B列の値は、100件まで 入力予定です。


 C1=MAX(A1:A100)*OFFSET(B1,MATCH(MAX(A1:A100),A1:A100)-1,0)
 でどうでしょうか。
 (sato)

**

すいませんが、この関数で0.3が出る意味がわかりません。
ご教授お願いします。
こう
=OFFSET(B1,MATCH(MAX(A1:A100),A1:A100)-1,0)

 @ MATCH(MAX(A1:A100),A1:A100)・・・最大値がA1:A100の何番目にあるか調べる。
 A OFFSET(B1,@-1,0)・・・B1を起点にして下に@行、右にゼロ列目の値を参照する。
 ということでしょうか。
 (sato)

*

ありがとうございました。
複雑ですね
こう

* TO sato FROM MOU

返事遅くなりました。

この計算式だと、

    A(価格)   B(値引率)   C(設定値)
1    100          0.5         
2    200          0.4
3    300          0.3

Cには、Aの最大値300がまず選択されそれは正しいのですが、値引率もBの中の
最大値0.5が選択されてしまうようです。Aの最大値に対応した0.3を選択した
いのですが。。
VLOOKUPも考えましたが、A列の値が昇順ではないので使えません。


 以下の式ではどうでしょうか。
 =MAX(A1:A100)*OFFSET(B1,MATCH(MAX(A1:A100),A1:A100,0)-1,0)
                           ~~~~
 ちなみに、A列が昇順ではなくても VLOOKUP関数も使えます。
 =MAX(A1:A100)*VLOOKUP(MAX(A1:A100),A1:B100,2,FALSE)
                                             ~~~~~~~
 こちらの式も試してみてください。
 同じ結果をえるものでもいろいろなやり方があるものです。
 (sato)

 最高値が複数ある場合を想定して、番号欄を設けています。9件以下の表で試作しています。

 D2に=IF(COUNT(D2),ROUND(PRODUCT(INDEX(B$2:C$10,D2,)),),"")、
 E2に=IF(COUNT(D$1:D2)<COUNTIF(B$2:B$10,MAX(B$2:B$10)),
     SUM(MATCH(MAX(B$2:B$10),INDEX(B$2:B$10,SUM(D2,1)):B$10,),D2),"")として、
 これらをD10:E10までフィルドラッグするというものです。          (LOOKUP)

   A   B   C    D   E
 1 番号 価格  率  設番 設定値
 2  1  100  0.1   3   60
 3  2  200  0.5   5   150
 4  3  300  0.2      ↑ 		
 5  4  200  0.6     =IF(COUNT(D2),ROUND(PRODUCT(INDEX(B$2:C$10,D2,)),),"")		
 6  5  300  0.5   ↑		
 7  6  100  0.2 =IF(COUNT(D$1:D2)<COUNTIF(B$2:B$10,MAX(B$2:B$10)),		
 8  7        SUM(MATCH(MAX(B$2:B$10),INDEX(B$2:B$10,SUM(D2,1)):B$10,),D2),"")		
 9  8				
10  9				

コメント返信:

[ 一覧(最新更新順) ]


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