人に聞けない痔の悩み、これでスッキリ >>

先日、質問で下記の答えをご教授頂いたのですが、
シート1のA1に入力した文字を
シート2の1行目から検索
検索された文字の同列の2行目の数値を
シート1のB1に表示させるにはどのようにしたらよろしいでしょうか?

「 =IF(OR(A1="",COUNTIF(Sheet2!1:1,A1)=0),"",INDEX(Sheet2!A:Z,2,MATCH(A1,Sheet2!1:1,0))) 」

シート2の1行目から検索をして、そこに該当するものがなかった「シート1のA1に入力した文字がなかった」場合
「シート1のB1」に0を表示させる事はできるのでしょうか?

初心者でして、式の内容を理解できてなくすみません。
ご教授の程を、宜しくお願い致します。

A 回答 (3件)

解答No1です。


=IF(A1="","",IF(COUNTIF(Sheet2!1:1,A1)=0,0,INDEX(Sheet2!A:Z,2,MATCH(A1,Sheet2!1:1,0)))) 
この式の意味ですが、A1セルが空のときはB1セルを空にする。もしも、シート2の1行目(Shee2!1:1)にA1の値が見つからなければB1セルに0を表示する。A1セルの値がシート2の1行目にあるのならばINDEX関数を使ってシート2のA列からZ列の範囲内の2行目で、しかも、1行目にA1セルの値がある列(MATCH(A1,Sheet2!1:1,0))のセルの値を表示しなさいということになります。
    • good
    • 0
この回答へのお礼

前回に続き、今回もお教え頂きありがとうございます。
早速、試してみます。
もっと勉強したいと思います。(^_^;)

お礼日時:2009/11/14 22:48

COUNTIF(Sheet2!1:1,A1)=0は1:1すなわち1番目の行で、A1と同じ値を探してカウントして、結果が0ということは、見つからないということ。


その場合は0にするなら
IF(COUNTIF(Sheet2!1:1,A1)=0,0)で良い。前の回答ではORがあったが
今度は独立してA1が空白の場合は空白(本当はしたいのは0かも?)にするのだから=IF(A1="","", このあとに、空白でないときの式を書いて
=IF(A1="","",IF(COUNTIF(Sheet2!1:1,A1)=0,0)
このあとに見つかった時の式を書く。
それがINDEX(Sheet2!A:Z,2,MATCH(A1,Sheet2!1:1,0)))
すなわちMATCH(A1,Sheet2!1:1,0)(=>X)で1行目でA1と同じ行を見つけ、INDEX(Sheet2!A:Z,2,X)で2行目X列のデータを採って持ってきている。最後の)は(と同数になるように整える。
全てデータを探すのは、Sheet2内だから番地部分にSheet2!が付いている。
上記は、#1のご回答と同じだが、説明が多ければ多いだけ何かの参考になればと書いてみた。


 
    • good
    • 0
この回答へのお礼

細かくご教授いただきありがとうございます。
大変参考になりました。
もっと、もっと勉強したいと思います。

お礼日時:2009/11/14 22:50

次のような式にすればよいでしょう。


=IF(A1="","",IF(COUNTIF(Sheet2!1:1,A1)=0,0,INDEX(Sheet2!A:Z,2,MATCH(A1,Sheet2!1:1,0)))) 
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング