Excel函数:如果单元格等于范围内的另一个单元格,则返回其他三个项目

时间:2017-07-16 18:27:59

标签: excel function if-statement

我正在制作一份用于膳食计划的excel文件。我正在尝试创建一个功能,允许我搜索以查看是否在一列中的膳食,如果膳食在列中,然后返回成分。

第一张表看起来像这样:

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

在第二张表中,我的食谱写得像这样:

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

我想在第一张纸上搜索配方的所有实例,比方说PB& J.如果PB& J出现,我希望它能回归Peanut Butter,Jelly和Bread(我的购物清单)。

然而,我不知道如何编写可能返回多个项目的函数。任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:1)

让我们说你的表格设置如下:

Sheet1
enter image description here
所以你这周的日子和食物选择都在最重要的位置。

你的成分清单

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))

答案 1 :(得分:1)

这是你能做的。可以说,含有成分的薄片被命名为“成分”。您可以先登记“存在”'关于配方的特定实例是否存在于该范围内的列。然后,如果它存在,则另一列可以将成分显示为逗号分隔列表。

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