【问题标题】:searching for a date in a range of dates in Excel在 Excel 中的日期范围内搜索日期
【发布时间】:2017-10-25 00:09:34
【问题描述】:

我正在努力寻找一个公式或宏,以帮助我在两个日期范围内找到特定日期。我尝试了一些不同的东西,但我都空了。有什么解决方案吗?我有 3 个日期字符串,我正在查看第三个日期是否在该范围内。

例如。日期范围是 var1 5/1/17 到 var2 5/7/17,我正在查看 var3 5/5/17 是否在该周内。真输出真,假输出假。

提前致谢!

【问题讨论】:

  • “找约会”是什么意思?你想返回那个日期吗?返回它所在的单元格地址等?您尝试了什么,请与我们分享您所做的任何尝试,以及 cmet 为什么他们没有按照您的意愿行事。此外,一些示例数据和示例预期输出也会有所帮助。
  • 根据我的谷歌搜索,我使用了以下几个公式。我知道其中一些可能并不理想,但我只是在反复试验。 =IF(F2=MEDIAN(D2:E2),"Yes","No") =IF(COUNTIF(D:E,K:K),"Yes","No")
  • 你能用你想要找到的东西更新你的 OP 吗?您是否在寻找中间日期(意思是其他两个日期中间的日期)?
  • 我有 3 个日期字符串,其中第三个,我试图比较它是否在前两个之间。所以输出只会是真或假。

标签: excel date range formulas vba


【解决方案1】:

使用公式,您可以做到

=IF(AND([earliest date]<=[check date],[latest date]>=[check date]),"Yes","No")。

如果您在 VBA 中需要它,您可以执行以下操作:

Function checkDate(date1 As String, date2 As String, chkDate As String) As String
If date1 <= chkDate And date2 >= chkDate Then
    checkDate = "Falls between!"
Else
    checkDate = "Outside the range"
End If
End Function

然后使用=checkDate(A2,B2,C2) 运行。

【讨论】:

  • 您可以为 [earliest date] 运行 MIN(A2:B2) 并为另一个运行 MAX。
  • @Jeeped - 哦,好主意。如果他们有更大的清单,那会有所帮助。但是,OP 说他们有三个日期,所以我想按照我的做法去做。好电话,但我没想到!
  • 回复:date1 As String, date2 As String 为什么作为字符串?
  • @Jeeped - ...我不知道,我根本不确定数据是如何呈现的。它已经作为字符串在 VBA 中了吗? (OP 标记了Formula 和Macro,并在他们的帖子中使用var1)。我会等待 OP 进来并提供更多细节......老实说,在提供解决方案之前我可能应该这样做。
  • 可能应该是date1 As Date, date2 As Date, chkDate As Date,但我会使用date1 As Long, date2 As Long, chkDate As Long。即使日期以字符串形式出现,也很难相互使用&gt; 和&lt;。不要认为比较字符串会得到可靠的结果。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-06
  • 2014-01-07
  • 2012-02-26
  • 2018-01-01
相关资源
最近更新 更多