我有一个 Excel 电子表格,其中一列是配料,一列是食谱。(见下图左侧)。我想创建一个包含所有配料的矩阵(如右图所示),显示每对配料在同一食谱中出现的次数。
到目前为止,我尝试了VLOOKUP
和的组合COUNTIFS
,但没有得到充分的解决方案。
我正在寻找的命令应该是这样的:“每当成分-x(杜松子酒)出现在食谱中时,检查同一食谱中还出现哪些其他成分。并在矩阵中计算这些共同出现的次数。”
我有限的知识告诉我,这只有用 VBA 编写的算法才能实现,因为我必须告诉它“对于每一个成分经常回家所有其他成分出现在同一个食谱。
我将非常感激您的帮助,而且由于这是我在 Superuser 上提出的第一个问题,请随时向我提供反馈,告诉我如何改进我的提问!
答案1
编辑:不需要额外列的更好解决方案
您可以使用该函数COUNTIFS
来检查您的第一个范围是否等于某个值以及您的第二个范围是否等于某个值。
我使用了这个功能:=COUNTIFS(B3:B8, "Tonic Water", C3:C8, "Gin")
计算两个范围内汤力水 + 杜松子酒的组合数。
您还可以看到如下函数:
=COUNTIFS(RANGE1, RECIPE, RANGE2, INGREDIENT)
下面的图片可以更好地解释这一点:
我检查了您的“输入和所需输出”图像,输出表中的数据与输入范围不匹配。但是,如果我看一下您的问题,似乎我的答案可以解决这个问题。
编辑:我的评论回答:
将配料放在左侧,将配料放在顶部。然后使用它COUNTIFS
来检查某种配料在食谱中出现的次数。从此表中,您可以轻松检查是否以及哪些配料共用一个食谱。
在图片中你可以看到姜汁汽水和伏特加都采用了莫斯科骡子的配方