Excel查找用户是否支付每月发票

我有两个工作表

Worksheet1看起来像:

Customer | June | July | August John | | | Jane | | | Bob | | | Ann | | | 

Worksheet2看起来像:

 Customer | Paid Amount | Month John | $50 | June Jane | $20 | June Bob | $100 | June Ann | $10 | June John | $30 | July Jane | $40 | July Ann | $5 | July Bob | $10 | August John | $10 | August Jane | $20 | August 

在Worksheet1中,我需要一个公式,通过从Worksheet1中获取Customer名称,在Worksheet2上查找该客户名称,然后检查是否存在该付款logging,从而简单地返回一个string,例如“Paid”或“Not Paid”月。 根据上面的示例数据,Worksheet1中的结果应如下所示:

 Customer | June | July | August John | Paid | Paid | Paid Jane | Paid | Paid | Paid Bob | Paid | Not Paid | Paid Ann | Paid | Paid | Not Paid 

我尝试了以下内容:

 IF(ISNA(VLOOKUP([@Customer],table_from_Worksheet2,2,FALSE)),"No","Yes") 

问题是检查整个Worksheet2,而不是按有问题的月份进行筛选。 我需要以某种方式调整VLOOKUP(或使用其他方法,如INDEX和MATCH,但我不知道如何使用它们)来查找客户是否为该特定月份付款。

将公式放在工作表1(其中约翰和六月见面的地方)的B2中,并在整个和下面进行复制。 确保使用CTRL + SHIFT + ENTERinput公式:

 =IFERROR(IF(INDEX(Worksheet2!$B$2:$B$12,MATCH($A2,IF(B$1=Worksheet2!$C$2:$C$12,Worksheet2!$A$2:$A$12),0)),"Paid","Not Paid"),"Not Paid") 

对于你可以使用的表格:

 =IFERROR(IF(INDEX(Table_from_Worksheet2[Paid Amount],MATCH([@Customer],IF(B$1=Table_from_Worksheet2[Month],Table_from_Worksheet2[Customer]),0)),"Paid","Not Paid"),"Not Paid") 

您还需要使用CTRL + SHIFT + ENTERinput请注意,您将需要根据需要调整范围。

考虑在列标签框中使用带有“月”的数据透视表,在行标签框中使用“名称”,在数值框中使用“付款数量”。

在表2中select您的整个表格。

select“ 插入” – >“数据透视表” (function区最左侧)

如上所述拖放类别。

这将给你一个客户已经支付的每个月/名称组合1,否则一个空白。 现在select您的数据透视表的内部,右键单击和“更改格式”select自定义格式,然后向下滚动到名为"TRUE";"TRUE";"FALSE"并应用。

右键单击“总计”和“删除总计”,如果你愿意的话。

数据透视表起初很吓人,但非常强大,值得学习。

(我在下表之前添加了另外一个人)

在这里输入图像说明