拉动和比较Excel中的date

例如:

在我的第一个标签Last visit ,我有列, Customer NameCustomer #Scheduled date

在我的第二个选项卡上, All visits都有Customer NameCustomer #Visit Dates 。 现在,此选项卡会显示所有访问date(即使是最后Last visit ),而第一个标签只显示上次访问date和下一个预定date。

目标:在我的第一个标签上, Last Visit ,我需要一些逻辑,比较计划的访问date与所有访问date..为特定的客户ID。 因此,在Scheduled date之后的下一列中,我需要一个新的专栏Last visit date ,用于比较特定客户的上次访问date之前的访问。 所以有些客户有多次访问,我需要每个客户(每个客户超过300个)的单元格来读取他们访问的所有时间,只从最大值(最近一次,而不是最后一次访问的那一次)第二个标签All visits

我想要所有访问的第二大date的原因是因为在all visits选项卡中,甚至他们的预定date都在那里input。

示例:选项卡1:

 Billy Joe 12345 1/02/15 <-- Scheduled visit new column --> visit before last visit Custmer2 Id2 Date 

EtcTab 2:

  Billy Joe 12345 03/15/14 Billy Joe 12345 04/15/14 Billy Joe 12345 1/02/15 

所以我想要4/15/14的date,而不是其他两个..

我有一个适用于MOST客户的偏微分方程,这个方程的问题是:

如果客户每月访问不止一次,仍然是所有访问次数的第二高。如何进行检查以确保上次访问前的访问次数小于上次访问次数

这是我的等式:

{= LARGE(IF(('All visits'!B:B ='Last visit'!B2),('All visits'!C:C)),2)}

B2对应于客户ID(在其他页面上与它们的ID相匹配,所以当我拖动它时,它只是继续匹配ID)…

一个问题的例子:

 6/3/2015 6/18/2015 6/26/2015 6/9/2015 

请注意,每个月有多次访问,所以我的公式将在所有的位置放置6/18/2015,即使这个月的预定访问次数会last visit次数less。

如果我正确地理解了这一点,我们所需要做的就是在LARGE函数中添加一个额外的数组条件。

您已经根据客户ID获得了第二大。 但是我们希望根据客户ID 第二大的基础上预定的date:

 =LARGE(('All visits'!B:B='Last visit'!B1)*('All visits'!C:C>0)*(IF('All visits'!C:C<='Last visit'!C1,'All visits'!C:C)),2) ^^^^^^^^^ Customer ID ^^^^^^^^ ^^ignore blanks^^ ^^^^ Only grab the dates that are <= last visit ^^^^ ^ 2nd largest 

编辑添加额外的检查,当客户只有1访问date:

如果我们希望在less于两个date的情况下显示#N/A ,我们必须使用SUMPRODUCT来获取总数:

 SUMPRODUCT(('All visits'!B:B='Last visit'!B1)*('All visits'!C:C>0)*('All visits'!C:C<='Last visit'!C1)) 

然后,我们可以将它添加到IF语句中,以返回<2情况下的NA()>=2情况下的原始公式。

 =IF(SUMPRODUCT(('All visits'!B:B='Last visit'!B1)*('All visits'!C:C>0)*('All visits'!C:C<='Last visit'!C1))<2,NA(),LARGE(('All visits'!B:B='Last visit'!B1)*('All visits'!C:C>0)*(IF('All visits'!C:C<='Last visit'!C1,'All visits'!C:C)),2)) 

您可以将NA()更改为符合您要求的任何内容