Power pivot特定日期问题

时间:2016-02-16 08:50:26

标签: powerpivot

我有两列名为

第1列日历日期:

16/02/2015

第二列前一天:

Yes

我目前正在使用的公式:

if([calendar Date])=today-1,"YES","NO").

第二列根据第一列返回值。

然而,我得到的问题是当我在星期一运行数据时,我们有日历日期(星期五的一天)。所以它显示了" NO"因为公式只返回前一天的数据。

所以我想要这样的东西 只有当我在星期一跑时,它应该给我if([calendar Date])= today-3," YES"," NO")。以及所有其他工作日if([calendar Date] ])=今天-1,"是"" NO&#34)

你可以帮我解决这个问题。

3 个答案:

答案 0 :(得分:0)

如果您的单元格 A2 具有日历日期,请尝试使用以下公式。

=IF(WEEKDAY(A2)=6,(IF(A2=TODAY()-3,"YES","NO")),(IF(A2=TODAY()-1,"YES","NO")))

答案 1 :(得分:0)

=IF(WEEKDAY(TODAY())=2,IF(TODAY()-3 = A12, "YES", "NO"), IF(TODAY()-1 = A12, "YES", "NO"))

首先,确定今天的日期是星期一还是一周中的其他日子。

IF(WEEKDAY(TODAY())=2

如果今天是星期一,那么你可以创造前一天必须是星期五[今天() - 3]的条件。

IF(TODAY()-3 = A12, "YES", "NO")

如果今天不是星期一,那么创造前一天是昨天[今天() - 1]的条件。

IF(TODAY()-1 = A12, "YES", "NO")

答案 2 :(得分:0)

要忽略周末和假日,您需要NETWORKDAYS或。{ NETWORKDAYS.INTL¹功能。您不仅可以跳过传统的周六/周日周末,还可以添加一个假期列表的参考,也可以打折。较新的NETWORKDAYS.INTL有很多内置的非标准“周末”格式,您也可以编写自己的格式。例如"0000011"是标准周六/周日周末,"0101000"是星期二和星期四'周末'。

NETWORKDAYS和NETWORKDAYS.INTL都会计算包含天数,因此您需要查找 2 的值,而不是1。

对于以下示例,我将计算机的系统日期重置为2016年1月19日(2016年马丁·路德·金纪念日之后的第二天)。

=IF(NETWORKDAYS.INTL([@[calendar Date]], TODAY(), "0000011", Z$2:Z$11)=2, "Yes", "No")

如果您想更详细一点,只需使用自定义数字格式为[=2]\Y\e\s;\No;\No的NETWORKDAYS.INTL函数即可。这允许您在显示“是”或“否”时保留NETWORKDAYS.INTL公式的实际基础值。

NetWorkDays_Intl_Holidays

上图中的结果清楚地表明,周末和假日都被放弃了考虑,2016年1月15日至周五被视为前一天。

¹ Excel 2013引入了NETWORKDAYS.INTL功能。早期版本不提供此功能。

相关问题