我正在制作一份用于膳食计划的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(我的购物清单)。
然而,我不知道如何编写可能返回多个项目的函数。任何帮助将不胜感激!
答案 0 :(得分:1)
让我们说你的表格设置如下:
Sheet1
:
所以你这周的日子和食物选择都在最重要的位置。
回到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.