给定日期范围内的当前星期天数

时间:2019-08-02 15:18:26

标签: excel excel-formula

在xls项目跟踪表中,我有以下几列: 1.项目名称 2.资源名称 每天3.小时 4.从日期 5.迄今为止

enter image description here

有多个资源在多个项目上工作。我要:

  1. 对于每一行中的给定资源,请检查其“开始日期”和“结束日期”列是否在当前星期日期(星期一至星期五)之下。
  2. 计算这些天数。
  3. 选择“每天的小时数”,然后乘以天数(从上面的2开始)。

3 个答案:

答案 0 :(得分:1)

在新列中使用“ = NETWORKDAYS([开始日期],[结束日期))”来计算M-F的数量。您还可以在公式中包括假期。从那里您可以将时间乘以一天。

请客气并留下反馈!干杯!

答案 1 :(得分:0)

您可以使用以下公式(虽然有些费解,但是可以使用):

=D2*(IF(IF(OR($C$9>F2,$C$10<E2),0,1)=1,MIN(F2,$C$10),0)-IF(IF(OR($C$9>F2,$C$10<E2),0,1)=1,MAX(E2,$C$9),0))

这里是一个如何计算每一行数字的示例。之后,您可以随时总结。

enter image description here

答案 2 :(得分:0)

我建议添加一些帮助器列,如下所示:

Curr_Mon 是当前一周的星期一日期。在我的解决方案中是5/8/2019

from itertools import repeat

dt = [
    'this is apples juice',
    'berry cider tastes great',
    'plants are good for you',
    'great job with that'
]
words=['apples','cider','plants']

def checkWords(sent, words):
  tokenized = sent.split(" ")
  for wrd in words:
    if wrd in tokenized:
      return True



def checkNone(sent,data):
  if data == None:
    return sent

data = list(map(checkWords,dt,repeat(words)))
newdt = list(filter(None, list(map(checkNone,dt,data))))

print(newdt)

Curr_Fri 是当前一周的星期五日期。在我的解决方案中是9/8/2019

=TODAY()-WEEKDAY(TODAY(),2)+1

发件人支票是介于发件人日期和当前星期一

之间的较大值
=TODAY()-WEEKDAY(TODAY(),2)+5

To_Check 是介于 To 日期和当前星期五

之间的较小值
=MAX(E2,G2)

总天数 To_Check 日期与 From_Check 日期之间的差,如果为负数则使用0

=MIN(F2,H2)

总时数小时/天乘以总天数

=MAX(0,J2-I2+1)

有关说明,请参见以下屏幕截图: Solution

我添加了一些示例数据(以黄色突出显示)以测试结果。

如果您有任何问题,请告诉我。

干杯:)

相关问题