2017-07-16 3 views
0

私は食事計画のためのExcelドキュメントを作成しています。私は、食事が列にあるかどうかを調べるための検索を可能にする関数を作成しようとしています。食事が列にある場合は、要素を返します。Excel関数:セルが範囲内の別のセルと等しい場合は、他の3つのアイテムを返します。

PB&J  Peanut Butter  Jelly  Bread 
Pizza  Cheese   Sauce  Pie Crust 

は、私はすべてのインスタンスの最初のシートを検索したい:私はこのように書かれたレシピを持って、第二のシートで

   Breakfast  Lunch   Dinner 
Monday  Cereal   PB&J 
Tuesday          Pizza 
Wednesday  Coffee 
Thursday      PB&J 
Friday 

最初のシートには、次のようになりますレシピは、PB &と言うことができます。そして、もしPB & Jが現れたら、私はピーナッツバター、ゼリー、パン(私の買い物リスト)を返すようにします。

ただし、複数の項目を返す可能性のある関数を書き込む方法がわかりません。どんな助けでも大歓迎です!

Sheet1
enter image description here
だから、週や食品の選択肢のあなたの日は一番上にある

+0

は常に3成分の数ですまたは1つの成分を表す各列にもっとすることができますか? – Piyush

+0

レシピによりますが – Megan

答えて

1

はのは、あなたのシートがこのように設定されているとしましょう。

Sheet2、あなたの成分リストは、このようなものです: enter image description here

戻るSheet1の、あなたが調べたい食品としてA7使用してみましょう。 B7では、簡単なVLOOKUP()を使用することができます。

=VLOOKUP($A7,Sheet2!$A$1:$K$3,COLUMN(),FALSE) 

と右列の束をドラッグします。 0リターンを非表示にするには、ちょうどIF文の中で式をラップ:

=IF(VLOOKUP($A7,Sheet2!$A$1:$K$3,COLUMN(),FALSE)=0,"",VLOOKUP($A7,Sheet2!$A$1:$K$3,COLUMN(),FALSE)) 
+0

これは非常に役に立ちました。ご協力いただきありがとうございます! – Megan

1

ここでは、あなたが何ができるかです。成分を含むシートの名前は「成分」と言います。レシピの特定のインスタンスがその範囲内に存在するかどうかに関して、「Exists」列をチェックインすることができます。次に、存在する場合、別の列は、成分をコンマ区切りのリストとして表示できます。

Formulas: 

    Recipe exists : `=COUNTIF($B$2:$D$6,"*"&F2&"*")>0` 
    Get Ingredients : `IF(G2,TEXTJOIN(", ",TRUE,Ingredients!B1:Ingredients!D1))` 

    Col F contains the recipe names, 
    Col G indicates whether the recipes exists in the range. 

enter image description here

enter image description here

+0

私はあなたの 'TEXTJOIN()'を使って、それを1つのセルにまとめておくのが好きです。いい思いついた! – BruceWayne

関連する問題