[[20090211171644]] 『エクセルの数式につき』(cpa) ページの最後に飛ぶ

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

 

『エクセルの数式につき』(cpa)
 【シート1】

    A   B   C 
 1  10  33
 2  20  33
 3  30  24
 4  40  28
 ・
 ・
 ・

 【シート2】
    A   B   C
 1  10   6     りんご
 2  10   8   みかん
 3  10    13   バナナ
 4  10    33   パイン
 ・  ・  ・   ・
 ・  ・  ・   ・
 ・  20  33   いちご
 ・  20  39   さくらんぼ
 ・  20  46   もも
 ・  ・  ・   ・
 ・  ・  ・   ・

 上記のようなシートの構成となっており、【シート1】のC列に数式を入れたいと思 い、
 試行錯誤しているのですがいい数式が思い浮かびません。
 具体的にどうしたいかというと、【シート2】がリストの位置付けで、
 【シート1】A列の数字が【シート2】A列の数字と一致し かつ
 【シート1】B列の数字が【シート2】B列の数字と一致するときに
 【シート2】その行のC列の値を【シート1】に入れるというものです。

 つまり、【シート1】C1セルにはパインが、C2セルにはいちごが入ります。
 数式でなくてもマクロでも構いません。

 どうかご教授のほどよろしくお願いいたします。

 簡単なのは、Sheet2に各行で重複しないキーを作成し
 それをもとにC列の値を参照する方法です。
 たとえば、先頭列に作業列が作れるなら
 VLOOKUP関数が使えます。
Sheet1	[A]	[B]	[C]	
[1]	10	33	パイン	
[2]	20	33	いちご	
			↑=VLOOKUP(A1&"_"&B1,Sheet2!A$1:D$7,4,FALSE)	
Sheet2	[A]	[B]	[C]	[D]
[1]	10_6	10	6	りんご
[2]	10_8	10	8	みかん
[3]	10_13	10	13	バナナ
[4]	10_33	10	33	パイン
[5]	20_33	20	33	いちご
[6]	20_39	20	39	さくらんぼ
[7]	20_46	20	46	もも
	↑=B1&"_"&C1			
 Sheet2の作業列が先頭列に作れないなら
 MATCH関数とINDEX関数と組み合わせて参照します。

 作業列を使用しない数式の一例としては、データがご提示の状態として
=INDEX(Sheet2!C$1:C$7,SUMPRODUCT((Sheet2!A$1:A$7=A1)*(Sheet2!B$1:B$7=B1)*ROW(A$1:A$7)))
 等。

 (HANA)

コメント返信:

[ 一覧(最新更新順) ]


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