首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我如何从一个随机的约会中得到下周四的结果?

我如何从一个随机的约会中得到下周四的结果?
EN

Stack Overflow用户
提问于 2012-06-29 09:41:42
回答 4查看 18.6K关注 0票数 5

我想要做的是,你有一个随机日期的列表,它永远不会相同,所以它必须是一个通用公式,但你可以得到任何日期,一年中的任何日期,然后每个星期四都是新的一周的开始。对于每个日期,将日期设置为大于前一周四且小于周四时的周四。

举个例子来说明一下,因为我说得很含糊,假设你得到的是2012年6月24日。6月24日大于2012年6月21日(前一个星期四),小于2012年6月28日(下一个星期四)。这意味着它应该在它旁边的列中生成值2012年6月28日。

这有什么意义吗?根据您获得的任何日期值,您计算它应该生成哪个星期四的日期?有没有办法在excel中做到这一点?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-06-29 18:02:51

此公式将为您提供A1中日期后的星期四

=A1+7-WEEKDAY(A1+2)

如果A1是星期四,则返回日期;如果它应该是A1+7,如果A1是星期四,则更改为此版本

=A1+8-WEEKDAY(A1+3)

票数 14
EN

Stack Overflow用户

发布于 2012-06-29 10:20:26

代码语言:javascript
运行
复制
=IF(WEEKDAY(A1) < 5, A1+5-WEEKDAY(A1), A1+5+7-WEEKDAY(A1))

将为您提供从Excel中的单元格A1中给定的日期起的下一个星期四。如果输入日期是星期四,它将给出下一个星期四。

如果要在给定星期四时显示输入星期四,而不是显示下一个星期四,请在条件中使用<=。

票数 3
EN

Stack Overflow用户

发布于 2021-02-24 23:08:47

我知道这个问题已经得到了完美的回答,但我只想分享一些代码,这些代码可能会帮助任何正在寻找更强大的东西的人,而不仅仅是“星期四”或“星期二”。而是希望向函数传递日期和日期名称,并返回发生的下一个日期。它是一个两部分的函数

代码语言:javascript
运行
复制
    Function nextDateofDay(ByVal xdate As Date, ByVal dayOfWeek As String) As 
     Date
      dow = findWeekDayNum(dayOfWeek)
      nextDayofWeek = xdate + 7 - Weekday(xdate + 7 - dow)

     End Function



     Function findWeekDayNum(ByVal dayName As String)
        dayName = Trim(UCase(dayName))
        daysOfWeek = Array("SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", 
                            "THURSDAY", "FRIDAY", "SATURDAY")
        'Need to find the day of week of that name, so looping through array
        For j = LBound(daysOfWeek) To UBound(daysOfWeek)
             If daysOfWeek(j) = dayName Then
                 findWeekDayNum = j + 1 ' need to add one cause array index 
                     'starts at 1
                 Exit Function
              End If
        Next j

     End Function

然后,如何使用一个简单的函数

代码语言:javascript
运行
复制
   sub test()
       currentDate = now() ' or can be a date from a cell
       dayDesired = "MONDAY" ' or can also be from a cell
       nextDate = nextDateofDay(currentDate,dayDesired)
       debug.print(nextDate)
   end sub 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11255074

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档