• ベストアンサー

エクセルで入力した文字を別シートで検索して・・・出た結果を・・・

先日、質問で下記の答えをご教授頂いたのですが、 シート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を表示させる事はできるのでしょうか? 初心者でして、式の内容を理解できてなくすみません。 ご教授の程を、宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

解答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))のセルの値を表示しなさいということになります。

yuugi3
質問者

お礼

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

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

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のご回答と同じだが、説明が多ければ多いだけ何かの参考になればと書いてみた。  

yuugi3
質問者

お礼

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

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

次のような式にすればよいでしょう。 =IF(A1="","",IF(COUNTIF(Sheet2!1:1,A1)=0,0,INDEX(Sheet2!A:Z,2,MATCH(A1,Sheet2!1:1,0)))) 

関連するQ&A

専門家に質問してみよう