Excel 公式和条件格式:如何根据条件匹配另一个 table 中的当前单元格

Excel Formula & Conditional Formatting: How to match current cell in another table based on criteria

我有一个 excel 工具可以用来为客户制定膳食计划。我 select 客户,从列表中选择预先设定的膳食并将其编制成计划,并将其分配给个人。

我想创建一个 function/conditional 格式来突出显示任何给定膳食计划中的特定成分,如果个人“不能”t/won 不能吃的话。这是基于他们的个人喜好。


Sheet 1: 包含 table 个客户端名称,以及关联的 ID。有一个下拉框允许用户select他们正在为谁创建计划。

Sheet 2: 包含 table 成分,最右边的列包含客户 ID,作为文本,以防 client/s.

不喜欢给定成分

Sheet 3: 列出膳食(和配料),然后编入计划的地方。这是我希望应用条件格式的地方,突出显示客户不喜欢的成分。

注意:表格实际上不是这个顺序


我在单元格中弄乱了这个公式;

=IF(IFERROR(IF(FIND(ID,INDEX(IngredientTable,(MATCH(IngredientInMealPlan,Sheet2!A:A,0)),9))>0,"Dislike","Error"),"Error")="Dislike",IngredientInMealPlan,"")

哪里;

IngredientTable = table 的成分,它们的价值,IDs/dislikes on Sheet 2

IngredientInMealPlan = 在 Sheet 3

上编制膳食时将是有问题的成分

Sheet2!A:A = A 列,用于查找成分名称


我意识到公式有点笨拙,我不确定如何收紧它。它确实开始看起来我可能正朝着正确的方向前进,但有几个问题;


我乐于接受关于如何实现它的想法。虽然我意识到这会让事情变得更容易,但我真的不想在 Sheet 3 上的成分 Table 中添加额外的列。我对 VBA 毫无用处。

我得到了一些帮助,这个公式有效并解决了我的问题:)


=IFERROR(FIND('Sheet1'!$G,(INDEX(Ingredients!I:I,MATCH(D2,Ingredients!A:A,0)))),0)>=1

在哪里;

D2 - 是 'Sheet 3' 上的第一个成分。当条件格式应用于 D 列时,此参考沿列向下更改(例如 D3、D4 ... 等)

Ingredients!A:A - 是实际成分名称的列

成分!I:I - 是不喜欢的列

'Sheet1'!$G$1 - 是客户端ID,已被选中


当公式在不喜欢列中找到客户 ID 时,将应用格式,提醒用户注意特定客户不喜欢的特定成分。