[[20090715144318]] 『MATCH関数の検索値にADDLESS関数を使用する』(CoCo) ページの最後に飛ぶ

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

 

『MATCH関数の検索値にADDLESS関数を使用する』(CoCo)

 ◆関数
       4月 5月 6月
 A    ★    
 B
 C

 ◆WKシート
          4月 5月 6月
 A    1  2  3
 B    4  5  6
 C    7  8  9

 Wkシートから★の位置に該当する数値(1)を抽出したいです。

 4〜5月の行は3行目固定
 A〜Cの列は2列目固定

 =INDEX(WK!E7:S14,MATCH(ADDRESS(Row(),2,4),WK!$C$7:$C$15,0),MATCH(ADDRESS(3,Culumn(),4),WK!$E$6:$S$6,0))

 これだと#N/Aとなってしまいます。
 =INDEX(WK!E7:S14,MATCH(B4,WK!$C$7:$C$15,0),MATCH(F3,WK!$E$6:$S$6,0))
 なら正常に抽出できるのですが
 できれば、別セルと共通で関数を指定したいので
 行固定&2列目よりA〜Cを検索、
 3行目&列固定より4月〜6月検索にしたいです。

 いい方法がありましたら
 ご教授お願いします。

 なさりたいことはよくわかりませんが

 ADDRESS関数で返される値は文字列です。
 セル参照にしたい場合は
 たとえば

 =INDIRECT(ADDRESS(ROW(),2,4))

 こんな感じにします。

 (えくせる青年)2009/7/15 15:06


 修正後のサンプルデータを見ましたが

 わざわざADDRESS関数を使用しなくても

 INDEX関数とMATCH関数の組み合わせ
 VLOOKUP関数とMATCH関数の組み合わせ

 できるように思います。

 (えくせる青年)2009/7/15 15:11

えくせる青年さん

わかりづらい説明ですみません。

=INDEX(WK!$E$7:$S$14,MATCH(INDIRECT(ADDRESS(ROW(),2,4)),WK!$C$7:$C$15,0),MATCH(INDIRECT(ADDRESS(3,COLUMN(),4)),WK!$E$6:$S$6,0))

と、INDERECT関数を追加したら期待通りの結果がでました。

INDEX関数とMATCH関数の組み合わせ VLOOKUP関数とMATCH関数の組み合わせ

できるように思います。

4月のA〜C、
5月のA〜C、
6月のA〜Cの全てのセルで共通の関数を使えたらと思ったので
ADDRESS関数を使わないとダメかなと思ったのですが
なくてもできますでしょうか?

大変申し訳ありませんが
もう少しご教授いただけると幸いです。


 セル番地がよくわからないので

 Sheet1

      A  B  C  D
 1    4月 5月 6月
 2  A  1  2  3
 3   B  4  5  6
 4  C  7  8  9

 Sheet2
      A  B  C  D
 1    4月 5月 6月
 2  A
 3   B
 4  C

 Sheet2 B2
 =VLOOKUP($A2,Sheet1!$A$2:$D$4,MATCH(B$1,Sheet1!$A$1:$D$1,0),0)

 こんな感じの数式になります。
 応用してください。

 (えくせる青年)2009/7/15 16:16

えくせる青年さん

全てのセルで共通の数式を使えるように・・と横着したくて
ADDRESS関数を使おうとしてました。

関数がごちゃごちゃしてしまいますよね

ありがとうございました!


 もしかして勘違いなさっているかもしれないので

 =VLOOKUP($A2,Sheet1!$A$2:$D$4,MATCH(B$1,Sheet1!$A$1:$D$1,0),0)

 「ひとつの数式」ではありませんが
 上記の数式をフィルハンドルで下に右にコピーするだけです。

 (えくせる青年)2009/7/15 16:49


コメント返信:

[ 一覧(最新更新順) ]


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