[[20141120140724]] 『INDEX関数 と MATCH関数の組み合わせで#REFがで』(けん) ページの最後に飛ぶ

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

 

『INDEX関数 と MATCH関数の組み合わせで#REFがでる』(けん)

 品番	工場	顧客名	前月在庫	前月在庫	入庫
 001	A-1		2,600	            2,600	100
 002	A-2		3,200	            3,200	#REF!

 001の入庫セルに関数をいれてます。100と表示されている部分です。

 =INDEX(入荷予定入力!$D$3:$AC$57,MATCH(C3,入荷予定入力!$C$3:$C$33,0),MATCH($F$1,入荷予定入力!$D$2:$AC$2,0),MATCH(B3,入荷予定入力!$B$3:$B$33,0))

 002の#REFの部分の関数は
 =INDEX(入荷予定入力!$D$3:$AC$57,MATCH(C3,入荷予定入力!$C$3:$C$33,0),MATCH($F$1,入荷予定入力!$D$2:$AC$2,0),MATCH(B3,入荷予定入力!$B$3:$B$33,0))

 です。

 参照に問題ないと思うのですが、どうしてもうまくいきません。

 入庫欄は別シートを参照しており、以下のようになっています。
 			火
 No	品番	工場	11月4日
 1	001	A-1	100 
 2	002	A-2	101 
 3	003	A-3	102 
 4	004	A-4	103 

 なので、品番002の#REF部分は101がでるはずなんですが。。。
 Match関数が3つはいっているのがいけないのでしょうか??

 どなたか教えてください。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 補足です。	

				2014/11/4					
 品番	工場	顧客名	前月在庫  前月在庫    入庫			
 001	A-1		2,600	  2,600	100				
 002	A-2		3,200	  3,200	#REF!				

 $F$1の部分には 2014/11/4 が入っており、Match条件として 日付、品番、工場が一致するものを
 参照しております。
(けん) 2014/11/20(木) 14:24

 領域がひとつしかないのに、領域番号を入れていることがいけないのではないでしょうか?
http://www.kenzo30.com/ex_kisotyu/ex_ks_tyukyu9_9_7.htm

(稲葉) 2014/11/20(木) 14:54


 INDEX関数は
 =INDEX(配列, 行番号, [列番号])
 とか
 =INDEX(範囲, 行番号, [列番号], [領域番号])
 と書く数式です。

 >=INDEX(入荷予定入力!$D$3:$AC$57,MATCH(C3,入荷予定入力!$C$3:$C$33,0),MATCH($F$1,入荷予定入力!$D$2:$AC$2,0),MATCH(B3,入荷予定入力!$B$3:$B$33,0))
 だと、
  行番号   MATCH(C3,入荷予定入力!$C$3:$C$33,0)・・・工場名が一致する行
  列番号   MATCH($F$1,入荷予定入力!$D$2:$AC$2,0)・・日付が一致する列
  領域番号 MATCH(B3,入荷予定入力!$B$3:$B$33,0)・・・?

 品番と工場が一致する行の日付が一致する列の値を参照したければ
  行番号 ・・・・・・・・・・・・・・・・・・・・・品番と工場が一致する行
  列番号 ・・・・・・・・・・・・・・・・・・・・・日付が一致する列
 の様に指定しないといけないと思います。

 「002」で #REF! が出るのは、領域番号が「2」になっているからです。
 領域は 入荷予定入力!$D$3:$AC$57 の一つしか指定されていないので
 参照先がない #REF! が返されていると思います。

 >Excel2010
 と言う事なら、SUMIFS関数を使ってみてはどうでしょう。
  
(HANA) 2014/11/20(木) 14:56

 「Sheet1」シート
     A       B        C          D          E         F
 1                                                   2014/11/4
 2  品番    工場    顧客名    前月在庫    前月在庫    入庫
 3  001     A-1                  2,600       2,600     100
 4  002     A-2                  3,200       3,200     101

 「入荷予定入力」シート
   A      B       C         D
 1                         火
 2 No    品番    工場    11月4日
 3  1    001     A-1         100
 4  2    002     A-2         101
 5  3    003     A-3         102
 6  4    004     A-4         103

 上記のようなシート構成だとして。

 Sheet1シートのF3セルに
 =SUMPRODUCT((入荷予定入力!B$3:B$33=A3)*(入荷予定入力!C$3:C$33=B3)*(入荷予定入力!D$2:AC$2=F$1),入荷予定入力!D$3:AC$33)
 と入力して下へコピーでどうか。

 エラーになった原因はINDEX関数のヘルプで各引数の意味を調べてみてくれ。
(ねむねむ) 2014/11/20(木) 14:57

 皆さん、ありがとうございます。
 INDEX MATCH の組み合わせに関しては、領域番号の理解ができておりませんでした。
 SUMIFSで実行したところ、#VALUE!となり表示されませんでした(いつもお世話になっている関数なので
 使い方に間違いは無いと思います。)日付条件の範囲が行になるのでエラーになるのかもしれません。
 詳細はまだ調べていません。

 SUMPRODUCTで早速ためしたところ、うまいこといきました。

 ひとまず、SUMPRODUCTでいこうとおもいます。
 みなさん、本当にありがとうございました!

(けん) 2014/11/20(木) 15:45


 >日付条件の範囲が行になるのでエラーになるのかもしれません。
 あ、そうでした。すみません。

 SUMPRODUCTで行ってください。
  
(HANA) 2014/11/20(木) 16:02

コメント返信:

[ 一覧(最新更新順) ]


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