• ベストアンサー

エクセルにて複数の条件から検索できますか?

業務の関係で検索できるよう依頼を受けました。 先ほども質問させてもらいましたが、私の説明不足でしたので、再度説明させてもらいました。 質問につきましては添付の画像を使い説明させてもらいます。 C3とC4に数値を入力すると、C7とC8に数値を表示できるようにしたいと考えています。 元データはI4からM11となります。 高さはIだけですが、許容衝撃はJのMAXもしくはKのMIINの中の数値と合致したらとなりますので、 C3・C4の数値がIとJもしくはKの数値が合致したら返すようにしたいと考えています。 わたしくのエクセル知識が足りてないのでご教授をお願い致します。

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

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.4

画像が良く見えないので間違っているかもしれませんが、JのMAXとかKのMINって実際にJ列の最大値、K列の最小値と言う意味ではなく、単なるデータの項目名ですか? でしたら、作業列とVLOOKUPを使った方法を。 添付の画像、見えますかね? F4に =I4&"_"&J4 G4に =I4&"_"&K4 と、入れて11行目までコピーしています。 次に、 F14に =VLOOKUP(C3&"_"&C4,F4:M11,7,FALSE) F15に =VLOOKUP(C3&"_"&C4,F4:M11,8,FALSE) と、入れます。これがI列とJ列がC3,C4の値と一致した時のデータです。 次に G14に =VLOOKUP(C3&"_"&C4,G4:M11,6,FALSE) G15に =VLOOKUP(C3&"_"&C4,G4:M11,7,FALSE) と、入れます。これはI列とK列がC3,C4の値と一致した時のデータです。 最後に、 C7に =IF(ISNA(F14),IF(ISNA(G14),"",G14),F14) C8に =IF(ISNA(F15),IF(ISNA(G15),"",G15),F15) と、入れます。これで、F14にデータがあれば表示、無ければG14にデータがあれば表示して、無ければ空白にしています。

178cho
質問者

お礼

ご回答ありがとうございました。 早速試してみましたら、できました。 本当に助かりました。 私の説明不足にも拘らず丁寧な対応ありがとうございました。

その他の回答 (4)

  • layy
  • ベストアンサー率23% (292/1222)
回答No.5

VLOOKUPを使うだろう、 ということが分かったとして、使い方をマスターできるか?。 式を教えてもらうとして、 行や列が増えたり、計算位置、範囲が変わっても対応できるか?。 式を誤って削除してしまったとき再現できるだけの理解を得られるか。 要は、 結果が出たとして、この先も掲示板頼りだけ、というのは大変な話なんです。 「知識が足りてない。」 なんて思わずに、 類似質問を探すとか何が工夫できることはないか、を考えてみたらいいです。 質問=仕様、 質問があいまいだと回答も遅いし結果もブレます。 この時間ロスがもったいない。

178cho
質問者

お礼

ごかいとうありがとうございました。

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

また判りにくい質問をしている。実例を挙げてないからややこしくなる。今回は画像を上げているが質問回答をするために操作してご覧。拡大してもはっきり見えない。実例は文字テキストで、エクセルシートに似せてあげてみて。 質問が検索とあったからミスリードしたと思う。 ーー そしてあなたの会社で使う用語、業務の高さ、許容衝撃などはなるべく使わず(パターンが肝心で中身は影響しない場合が多いのだ)、 A1セルの値から表1を引いてC1の値を求め、B1の値から表2を引いてD1の値を求め、C1とD1の積を求めたい、という風に質問文を書いて。 多分VLOOKUP関数を2箇所(2セル)で使う問題ではないかな。 補足要求します。 ーー >エクセル知識が足りてないのでご、ではなくて、他人に同説明するかの文章力の問題で、こちらのほうが世の中では大切ですよ。

178cho
質問者

お礼

ごかいとうありがとうございました。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

質問内容がいま一つわからないのですが(添付画像も良く見えない)、おそらく以下のような数式でご希望の数値が求められるのではないかと思います。 C7セル(L列の値を表示する欄) =IF(MAX(INDEX((I4:I11=C3)*((J4:J11=C4)+(K4:K11=C4)),)),INDEX(L:L,MAX(INDEX((I4:I11=C3)*((J4:J11=C4)+(K4:K11=C4))*ROW(I4:I11),))),"") C8セル(K列の値を表示する欄) =IF(MAX(INDEX((I4:I11=C3)*((J4:J11=C4)+(K4:K11=C4)),)),INDEX(K:K,MAX(INDEX((I4:I11=C3)*((J4:J11=C4)+(K4:K11=C4))*ROW(I4:I11),))),"")

178cho
質問者

お礼

ご回答ありがとうございました。 早速試してみます。

  • layy
  • ベストアンサー率23% (292/1222)
回答No.1

VLOOKUP関数の使い方を学習する。 機能要件から関数を探すには? 今後どうする?。 ネット質疑応答だけでは不十分になりがちです。 画像はわかりません。

178cho
質問者

お礼

回答ありがとうございました。 画像はわかりづらくすいませんでした。

関連するQ&A