首页 > 解决方案 > 如何为excel检查两列中是否有任何匹配的单元格?

问题描述

我有一个包含多张工作表的 excel 文件。第一个名为 =“ Main ”的工作表是我正在处理的工作表,名为 =“ Data ”的工作表包含后面的数据,我正在使用它来构建一个对称矩阵。例如,两者都显示在图像中。

我想检查“主”表中的相交单元格是否在“数据”表的相应列中具有任何匹配值,并找到 1(如果是)或 0(如果没有匹配的单元格值)。

例如,如果在“主”表中,我位于 E 列和第 4 行,即 E4,所以如果要在“数据”表中查找名为 E 列标题和第 4 行的列,并检查它们是否有任何单元格有匹配的内容。

示例数据链接:https ://docs.google.com/spreadsheets/d/1W5Nj91lVUt0NAm_h6KkONucoy2sXMGjJ3z-Tl1K1QhY/edit?usp=sharing

标签: excelexcel-formulavlookup

解决方案


我认为完成它的最简单方法是使用命名范围。您可以用播放器的名称命名数据表上的每一列(不带空格 - 正如我在您的文件中所做的那样)。

要计算任意两个玩家有多少 ODI,您可以简单地将他们各自的范围(列)相乘,例如:

=SUMPRODUCT(indirect(substitute(A6," ",""))=TRANSPOSE(indirect(substitute(G1," ",""))))

间接函数解析为:

=SUMPRODUCT(ManinderSingh=TRANSPOSE(ChetanSharma))

并为您提供这两者一起玩的比赛总数: 在此处输入图像描述

可以在没有命名范围的情况下执行此操作,而是动态查找玩家姓名,但这会产生一个非常混乱和复杂的公式(至少我尝试过的方式是这样)。设置命名范围可能会花费您几分钟的时间,但在我看来,这是一个更优雅的解决方案。


推荐阅读