提取和比较 excel 中的日期
pulling and comparing dates in excel
例如:
在我的第一个选项卡 Last visit
上,我有列 Customer Name
、Customer #
和 Scheduled date
在我的第二个选项卡上,All visits
我有 Customer Name
、Customer #
和 Visit Dates
。现在,此选项卡显示所有访问日期(甚至是 Last visit
上的最后一个访问日期),而第一个选项卡仅显示他们的上次访问日期和下一个预定日期。
目标:在我的第一个选项卡 Last Visit
上,我需要一些逻辑来比较计划的访问日期和所有访问日期.. 对于该特定客户 ID。因此,在 Scheduled date
之后的下一列中,我想要一个新列 Last visit date
来比较该特定客户上次访问日期之前的访问。所以有些客户有多次访问,我需要每个客户的每个单元格(这家商店超过 300 个)读取他们访问的所有时间并且只提取最大(最近但不是他们最后一次访问的那个)日期第二个标签 All visits
我想要他们所有访问的第二大日期的原因是因为在 all visits
选项卡中,甚至他们的预定日期也输入在那里。
示例:选项卡 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
而不是其他两个..
我有一个适用于 MOST customers.the 问题的偏方程式是:
如果客户每月访问一次以上,它仍然会在所有 his/her 访问中拉出第二高的日期。我如何检查以确保最后一次访问之前的访问必须少于他们上次访问
这是我的等式:
{=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
。
如果我理解正确,我们需要做的就是在您的 LARGE
函数中添加一个额外的数组条件。
根据客户 ID,您已经获得第二大。但是我们想要基于客户 Id 和 基于预定日期的第二大:
=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 个访问日期时添加额外检查:
如果我们希望它显示 #N/A
如果日期少于两个,我们必须使用 SUMPRODUCT
来获取条目总数:
SUMPRODUCT(('All visits'!B:B='Last visit'!B1)*('All visits'!C:C>0)*('All visits'!C:C<='Last visit'!C1))
然后我们可以将其添加到 IF
语句中 return 用于 <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()
更改为符合您要求的任何内容
例如:
在我的第一个选项卡 Last visit
上,我有列 Customer Name
、Customer #
和 Scheduled date
在我的第二个选项卡上,All visits
我有 Customer Name
、Customer #
和 Visit Dates
。现在,此选项卡显示所有访问日期(甚至是 Last visit
上的最后一个访问日期),而第一个选项卡仅显示他们的上次访问日期和下一个预定日期。
目标:在我的第一个选项卡 Last Visit
上,我需要一些逻辑来比较计划的访问日期和所有访问日期.. 对于该特定客户 ID。因此,在 Scheduled date
之后的下一列中,我想要一个新列 Last visit date
来比较该特定客户上次访问日期之前的访问。所以有些客户有多次访问,我需要每个客户的每个单元格(这家商店超过 300 个)读取他们访问的所有时间并且只提取最大(最近但不是他们最后一次访问的那个)日期第二个标签 All visits
我想要他们所有访问的第二大日期的原因是因为在 all visits
选项卡中,甚至他们的预定日期也输入在那里。
示例:选项卡 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
而不是其他两个..
我有一个适用于 MOST customers.the 问题的偏方程式是:
如果客户每月访问一次以上,它仍然会在所有 his/her 访问中拉出第二高的日期。我如何检查以确保最后一次访问之前的访问必须少于他们上次访问
这是我的等式:
{=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
。
如果我理解正确,我们需要做的就是在您的 LARGE
函数中添加一个额外的数组条件。
根据客户 ID,您已经获得第二大。但是我们想要基于客户 Id 和 基于预定日期的第二大:
=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 个访问日期时添加额外检查:
如果我们希望它显示 #N/A
如果日期少于两个,我们必须使用 SUMPRODUCT
来获取条目总数:
SUMPRODUCT(('All visits'!B:B='Last visit'!B1)*('All visits'!C:C>0)*('All visits'!C:C<='Last visit'!C1))
然后我们可以将其添加到 IF
语句中 return 用于 <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()
更改为符合您要求的任何内容