我有一张名为 Test 的工作表,其中包含列
[Category],[SubCategory],[Name], [Is in share?]
需要比较的(除了列[有分享吗?]) 工作表名为 Share。Share 还包含列[Category], [SubCategory], [Name]
如果 Test 列中的值[Category],[SubCategory],[Name]
与 Share 列中的值匹配,[Category], [SubCategory], [Name]
则返回 true。值 true 应该在列中[Is in share?]
我尝试使用 vlookup,但没有成功。
Sheet Test
[Category] [SubCategory] [Name] [Is in share?]
Food ||| Hard ||| FoodHard1 ||| False
Food ||| Hard ||| FoodHard2 ||| True
Food ||| Soft ||| FoodSoft1 ||| False
Table ||| Wood ||| TableWood1||| True
。
Sheet Share
[Category] [SubCategory] [Name] [Date] [Site]
Food ||| Hard ||| FoodHard23 ||| Jan-02-2003 ||| AB
Food ||| Hard ||| FoodHard2 ||| Jan-02-2003 ||| CA
Food ||| Soft ||| FoodSoft15 ||| Jan-05-2003 ||| KK
Table ||| Wood ||| TableWood1 ||| Jan-05-2003 ||| AB
答案1
使用=sumproduct()
这将测试一系列行的多个条件。每个条件返回 1 或 0,然后将它们相乘得到 1(所有条件都匹配)或 0(一个或多个条件不匹配)。
=sumproduct((Test!$A1=Share!$A$1:$A$100)*(Test!$B1=Share!$B$1:$B$100)*(Test!$C1=Share!$C$1:$C$100)*1)
该公式假设您的数据从 A1 开始,没有头行。它包含三个条件,每个条件比较两个工作表中的类别、子类别和名称,迭代地比较第 1 行到第 100 行(根据需要更改)。最后一个条件*1
只是让公式返回 1 或 0。您可以将其包装在=if()
语句中以表示如果结果为 1 则返回 true 否则返回 false。
=countifs()
在较新版本的 Excel 中,可以使用和=sumifs
在所有版本的 Excel 中使用数组公式来执行此操作,还有其他方法。