【问题标题】:Select "Time Description" based on current date and time in Google Sheets (VLookup, Query)根据Google表格中的当前日期和时间选择“时间描述”(VLookup,Query)
【发布时间】:2020-01-13 22:15:27
【问题描述】:

我正在尝试使用VLookupQUERY 根据当前日期和时间提取日期和时间描述。我认为QUERY 可能是这里最好的,但VLOOKUP 似乎是最好的解决方案。

是否可以从日期和时间范围之间提取日期?描述可能会经常更改,因此无法将它们硬编码到公式中。

这是 Google 表格,也可以复制。 https://docs.google.com/spreadsheets/d/1efQo1t9FJbItYdf1OQJ4vzeG1bUaQ1R0vbFGsgIjzOI/edit?usp=sharing

这是当前的公式,我希望它能提取正确的日期和时间段描述

=ARRAYFORMULA(IFERROR(TEXT(A2:A, "dddd ")&VLOOKUP(TIMEVALUE(A2:A), {
 TIMEVALUE(IFERROR(REGEXEXTRACT(TimeDescription!A2:A, "(.*) -"))), TimeDescription!B2:B}, 2, 1)))

【问题讨论】:

  • 如果在 TimeDescription 选项卡上将“时间槽”列分为两列,即时间开始列和时间结束列,一切都会变得简单得多。这是你可以做出的改变吗?您还可以使工作表(或它的副本)可编辑,以便我们测试/演示一些想法吗?
  • 按原样链接此电子表格没有用处。使用多个硬编码时间。然后在电子表格中突出显示错误和您期望的内容。我怀疑,只有在一天中的某些时候,电子表格才会出错!你需要在那个时候照亮!
  • @MattKing 你应该可以去 File-Make a Copy
  • @Gracie,我确实可以。但是,如果我对每张帮助别人的床单都这样做,我会在几天内堵塞我的云端硬盘。如果我制作一份副本并根据该副本给你一个答案,我认为它很有可能在你的真实工作表上不起作用。但这就是我现在要做的。如果只是副本,我想我看不出公开您的工作表的不利之处。你可以保护原来的标签?
  • @MattKing 顺便说一句,所有谷歌电子表格都没有尺寸。您可以拥有数千张工作表,它们将占用您驱动器的 0 MB。

标签: date google-sheets time array-formulas gs-vlookup


【解决方案1】:

根据你的时间数据逻辑试试:

=ARRAYFORMULA(IFERROR(TEXT(A2:A, "dddd ")&VLOOKUP(TIMEVALUE(A2:A), {
 TIMEVALUE("00:00"), "Evening";
 TIMEVALUE("07:00"), "Breakfast";
 TIMEVALUE("09:00"), "Morning";
 TIMEVALUE("16:00"), "Daytime";
 TIMEVALUE("20:00"), "Evening"}, 2, 1)))


对于非硬编码参考使用:

=ARRAYFORMULA(IFERROR(TEXT(A2:A, "dddd ")&VLOOKUP(TIMEVALUE(A2:A), 
 SORT({TIMEVALUE(REGEXEXTRACT(TimeDescription!A2:A, "(.*) -")), 
 TimeDescription!B2:B}, 1, 1), 2, 1)))

spreadsheet demo

【讨论】:

  • dddd 在这里做什么?
  • @JGFMK 从日期开始输出星期几
  • 工作表中的动态和可变描述是否有方法或替代公式?因此它们不会被硬编码到公式中,因为我们可能需要通过工作表单元格进行更改和扩展。
【解决方案2】:

如果您在 A2 中有 =NOW(),则此公式应该可以在没有任何其他选项卡或说明的情况下工作...

抱歉,我原本也错过了星期几的必要性。这应该有效。同样,只在 A2 中使用 NOW(),在工作表上没有其他内容。

=ARRAYFORMULA(JOIN(" ",VLOOKUP(MOD(A2,{7,1}),SORT({{{7;9;16;20}/24;SEQUENCE(7,1,0)},{"Breakfast";"Morning";"Daytime";"Evening";TEXT(SEQUENCE(7,1,0),"dddd")}}),2)))

【讨论】:

  • 它可以在整个数组的时间戳上工作,而不是把它拖下来,如果你感兴趣的话。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-31
  • 2017-01-22
  • 2021-09-09
  • 1970-01-01
  • 1970-01-01
  • 2017-09-14
相关资源
最近更新 更多