AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / coding / 问题

问题[date](coding)

Martin Hope
Ezio
Asked: 2025-04-10 12:42:20 +0800 CST

COUNTIF 仅使用 DATE 和名称匹配条件

  • 4

我的任务是统计销售代理每天能拿到多少线索。所以我创建了一个电子表格,数据会从 CRM 平台自动填充,并且还专门为追踪器创建了一个标签页。

我使用两个条件进行计数:日期和代理人姓名。代理人姓名没有问题。唯一的问题是日期。

问题是,Countif 不计算单元格,因为它无法匹配我的单元格引用(仅日期),而在潜在客户数据中,它包含日期和时间。

此外,潜在客户数据必须放在单独的选项卡上,我无法合并这两个选项卡,它应该被隐藏和锁定,因为其中的数据是由 CRM 平台自动填充的。

我创建了一个类似的电子表格作为示例。链接如下: https ://docs.google.com/spreadsheets/d/1-kEKHCQk1qF_k8oPnu-166fYdHukozfChEQ4bixwwB0/edit?usp=sharing

任何有关此事的指导或帮助都将不胜感激。

date
  • 3 个回答
  • 74 Views
Martin Hope
Becky Welch
Asked: 2024-12-22 13:56:23 +0800 CST

如何构建和编写公式到 Google Sheets 来执行动态日期计算

  • 5

我将从我的数据库软件中导入电子表格形式的数据。我希望能够获取我的单元格,该单元格包含 MM/DD/YY 格式的出生日期,并通过 Google 脚本创建一个公式,该公式将以 xxYY/xxMM/xxDD 格式报告年龄。例如:dob=06/03/2021 Google 表格中的 Google 公式将报告年龄为 3Y/6M/19D。然后随着日子和星期的流逝,年龄会不断更新,因为日期差异会在电子表格中显示。(如果您对该应用程序感到好奇,请参阅 Cat rescue 计算猫的年龄。)

以下公式在电子表格中运行良好,但我希望脚本从单元格中读取出生日期,将其转换为以下公式(当然带有适当的日期)并将该计算放回到同一个单元格中。

=DATEDIF(VALUE("2021 年 6 月 3 日"),NOW(),"Y")&"Y/"&DATEDIF(VALUE("2021 年 6 月 3 日"),NOW(),"ym")&"M/"&DATEDIF(VALUE("2021 年 6 月 3 日"),NOW(),"md")&"D"

我已经研究了一段时间,发现在创建公式时,我必须传递引号,我必须在引号前面加上反斜杠。我仍然无法让它工作。我甚至在写公式时都很挣扎。下一步是使用 dob 读取并嵌入到公式中。

  function calcAGE (){

    //  This function should get the date contents of a cell.
    //  A string will be assembled to replace the dob with a formula containing that dob.
    //  It will be written back to the same cell.
    //  The formula written to the spreadsheet will make a calculation
    //  of the current age in Years, months and days using the sheet NOW function
    //  This way the calcuation will be dynamic in the sheet and will update with time.


    // example contents of current active cell : 4/20/2024
    // example of formula that will be written to the active cell
    //        =DATEDIF(VALUE("4/20/2022"),NOW(),"Y")&"Y/"&DATEDIF(VALUE("4/20/2022"),NOW(),"ym")&"M/"&DATEDIF(VALUE("4/20/2022"),NOW(),"md")&"D"

    var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
    var cell = sheet.getActiveCell();

    var dob= cell.getDisplayValues();

  // var string1="=a1 "
  //var string2="& \" \" & c1 & \" \" & " + dob
  // var string=string1 + string2


    // =DATEDIF(VALUE("4/20/2022"),NOW(),"Y")&"Y/"&DATEDIF(VALUE("4/20/2022"),NOW(),"ym")&"M/"&DATEDIF(VALUE("4/20/2022"),NOW(),"md")&"D"
    var string1="=a1"
  //var string2=\"),NOW(),\"Y")&\"Y/\"&DATEDIF(VALUE(\"
  //var string3=\"),NOW(),\"ym\")&\"M/\"&DATEDIF(VALUE(\"
  //var string4=\"),NOW(),\"md\")&\"D\"

    var string="\"=DATEDIF(VALUE(\"4/20/2022\"),NOW(),\"Y\")&\"Y/\"&DATEDIF(VALUE(\"4/20/2022\"),NOW(),\"ym\")&\"M/\"&DATEDIF(VALUE(\"4/20/2022\"),NOW(),\"md")&\"D\""

    
    cell.setFormula(string)

    
  }
date
  • 1 个回答
  • 52 Views
Martin Hope
JFS
Asked: 2024-12-21 06:48:19 +0800 CST

如何计算日期之间的天数?

  • 5

我有一个日期数组dateGas = ["09/28/2013", "10/10/2013"]; ,我想计算两个日期之间的整天数。使用这个:

d1 = datetime(dateGas(1), "InputFormat", "mm/dd/yyyy")
d2 = datetime(dateGas(2), "InputFormat", "mm/dd/yyyy")
delta = days(d2-d1)

会导致delta = 17.999306明显错误的结果。我在这里遗漏了什么?

谢谢!

date
  • 1 个回答
  • 17 Views
Martin Hope
user3466413
Asked: 2024-12-03 02:16:53 +0800 CST

如何在 Google 表格中执行基本的日期分组操作?

  • 6

我有如下数据(示例):

胶原蛋白 胶束B 科尔
值 1 值 2 1/4/24 下午 4:15
值 3 值 4 1/4/24 下午 6:30
值 5 值 6 1/5/24 下午 2:30
值 7 值 8 1/5/24 下午 3:30
价值 9 价值 10 1/5/24 下午 5:30

我正在尝试做一些在正确的 SQL 中应该非常简单的事情:“对于表中的每个日期 Col C(而不是日期/时间)Col A ,找出该日期最早和最晚事件之间经过的小时数(包括小数小时数)。”和中的值Col B不相关。

最终结果是我希望它能回来,或者类似的东西(这里的评论只是为了易读性):

日期 小时 评论
1/4/24 2.25 下午 6:30 — 下午 4:15
1/5/24 3 下午 5:30 - 下午 2:30,因为下午 3:30 不是最短时间或最长时间

在 SQL 中,我猜测查询将是这样的,带有一些伪代码:

SELECT
   number_of_hours(MAX(col_c) - MIN(col_c))
FROM
   my_table
GROUP BY
   DATE(col_c)

我不知道如何在 Google 表格中执行此操作。鉴于我认为这个问题更像是数据库问题,而不是您在电子表格中执行的操作,我尝试了该QUERY函数,但我所做的一切都以无效查询结束。我认为 Google 表格不允许您提取日期/时间的日期部分并对其进行聚合。

我尝试过但失败的事情:

  • =query(A:C, "SELECT A, B, C, " & TEXT(C, "yyyy-mm-dd"), 1):公式解析错误
  • =query(A:C, "SELECT A, B, C, " & DATE(C), 1):公式解析错误
  • =query(A:C, "SELECT C, COUNT(B) GROUP BY " & DATE(C), 1):公式解析错误
  • =query(A:C, "SELECT C, COUNT(B) GROUP BY DATE(C)", 1):无法解析函数 QUERY 参数 2 的查询字符串:PARSE_ERROR:在第 1 行第 33 列遇到“”(“”(“”)
  • =query(A:C, "SELECT C, DATE '" & YEAR(C) & "-" & (MONTH(C) + 1) & "-" & DAY(C) & "'", 1):公式解析错误
  • =query(A:C, "SELECT C, " & DATEVALUE(YEAR(C) & "-" & (MONTH(C) + 1) & "-" & DAY(C)), 1):公式解析错误
  • =query(A:C, "SELECT C, DATE(YEAR(C), MONTH(C), DAY(C))", 1):无法解析函数 QUERY 参数 2 的查询字符串:PARSE_ERROR:在第 1 行第 15 列遇到“”(“”(“”)

那么我该如何做呢?

date
  • 2 个回答
  • 48 Views
Martin Hope
bigjdawg43
Asked: 2024-11-06 01:36:43 +0800 CST

Power BI 中日历季度的最后一天不受表格列的限制

  • 5

我在 Power BI 中有一个名为“组合”的表,其中有一列名为“日期”,该日期从 2003 年 12 月 31 日开始,到 2024 年 10 月 28 日结束,并将继续每周更新。在表中,我还有一个名为 MonthEnd 的列,它根据日期列标识月份的最后一天,还有一个名为 QuarterEnd 的列,它根据日期列标识季度的最后一天。

目前,MonthEnd 列工作正常,因为即使 Dates 列中的最后一个日期是 10/28/2024,MonthEnd 列中也会显示 10/31/2024,因为我使用了下面的公式,该公式根据日历查看月份的最后一天,与实际数据集中包含的内容无关。

MonthEnd2 = EOMONTH(combined[Dates], 0)

但是,对于 QuarterEnd 列,我使用了不同的公式(因为似乎没有可用的与我使用的月度公式相当的公式),因此结果是错误的,因为该公式仅包含 Dates 列而不是整个日历季度(并且,Dates 列结束于 2024 年 10 月 28 日。

QuarterEnd = ENDOFQUARTER(combined[Dates])

我试图找到日历季度的季度结束日期,而不管日期列中的内容是什么。以下是表格本身的片段。

日期 月末2 季度末 修正后的季度末
2024 年 9 月 26 日 2024 年 9 月 30 日 2024 年 9 月 30 日 2024 年 9 月 30 日
2024 年 9 月 27 日 2024 年 9 月 30 日 2024 年 9 月 30 日 2024 年 9 月 30 日
2024 年 9 月 30 日 2024 年 9 月 30 日 2024 年 9 月 30 日 2024 年 9 月 30 日
2024 年 10 月 1 日 2024 年 10 月 31 日 2024 年 10 月 28 日 2024 年 12 月 31 日
2024 年 10 月 2 日 2024 年 10 月 31 日 2024 年 10 月 28 日 2024 年 12 月 31 日
2024 年 10 月 3 日 2024 年 10 月 31 日 2024 年 10 月 28 日 2024 年 12 月 31 日
2024 年 10 月 4 日 2024 年 10 月 31 日 2024 年 10 月 28 日 2024 年 12 月 31 日
2024 年 10 月 7 日 2024 年 10 月 31 日 2024 年 10 月 28 日 2024 年 12 月 31 日
2024 年 10 月 8 日 2024 年 10 月 31 日 2024 年 10 月 28 日 2024 年 12 月 31 日
2024 年 10 月 9 日 2024 年 10 月 31 日 2024 年 10 月 28 日 2024 年 12 月 31 日
2024 年 10 月 10 日 2024 年 10 月 31 日 2024 年 10 月 28 日 2024 年 12 月 31 日
2024 年 10 月 11 日 2024 年 10 月 31 日 2024 年 10 月 28 日 2024 年 12 月 31 日
2024 年 10 月 14 日 2024 年 10 月 31 日 2024 年 10 月 28 日 2024 年 12 月 31 日
2024 年 10 月 15 日 2024 年 10 月 31 日 2024 年 10 月 28 日 2024 年 12 月 31 日
2024 年 10 月 16 日 2024 年 10 月 31 日 2024 年 10 月 28 日 2024 年 12 月 31 日
2024 年 10 月 17 日 2024 年 10 月 31 日 2024 年 10 月 28 日 2024 年 12 月 31 日
2024 年 10 月 18 日 2024 年 10 月 31 日 2024 年 10 月 28 日 2024 年 12 月 31 日
2024 年 10 月 21 日 2024 年 10 月 31 日 2024 年 10 月 28 日 2024 年 12 月 31 日
2024 年 10 月 22 日 2024 年 10 月 31 日 2024 年 10 月 28 日 2024 年 12 月 31 日
2024 年 10 月 23 日 2024 年 10 月 31 日 2024 年 10 月 28 日 2024 年 12 月 31 日
2024 年 10 月 24 日 2024 年 10 月 31 日 2024 年 10 月 28 日 2024 年 12 月 31 日
2024 年 10 月 25 日 2024 年 10 月 31 日 2024 年 10 月 28 日 2024 年 12 月 31 日
2024 年 10 月 28 日 2024 年 10 月 31 日 2024 年 10 月 28 日 2024 年 12 月 31 日

您可以在最后一行清楚地看到问题,其中 Date 列为 10/28/2024,MonthEnd 列为 10/31/2024(正确),QuarterEnd 列为 10/28/2024(不正确),更正后的 QuarterEnd 列为 12/31/2024(正确)。

我还尝试将其作为 DAX 中的计算列来执行,以促进我的下游工作流程。任何帮助都值得感激。

谢谢。

date
  • 1 个回答
  • 16 Views
Martin Hope
Ryan
Asked: 2024-09-25 02:22:55 +0800 CST

尝试在 SAS 中计算后续约会之间的时间

  • 5

我正在处理一个数据集,每个 ID 有多个访问日期。我试图计算每次后续预约之间的时间(访问 1 与访问 2、访问 2 与访问 3 等)。

我的数据目前看起来像这样

data test;
input ID visit_dt :mmddyy10.;
format visit_dt mmddyy10.;
datalines;
1 06-14-2021
1 10-18-2021
1 12-16-2021
1 01-29-2022
2 07-17-2021
2 11-22-2021
2 12-23-2021
2 02-06-2022
;
run;

我正在寻找一个变量来显示访问之间的天数(例如:上述数据的第二次观察将在变量中列出 6 月 14 日至 10 月 18 日之间的 126 天)

任何帮助都将不胜感激!提前谢谢

date
  • 1 个回答
  • 14 Views
Martin Hope
Jelena Popovic
Asked: 2024-09-20 15:13:01 +0800 CST

比较 Google 表格中包含日期的文本字段

  • 5

我获取以下格式的日期:

5.9.2024。 所以d.m.yyyy。

我需要在查询公式中使用该字段来检查该日期是否介于两个日期之间(例如>=5.9.2024, 和<=12.9.2025是日期范围的单元格的值)。

我正在努力将文本单元格转换为日期,以便可以进行此比较。

图像

我尝试了所有不同的公式来将文本转换为日期,但没有任何效果。

=query(A4:B, "select Col1 where Col2>='"&$A2&"'AND Col2<='"&$B2&"'")
date
  • 4 个回答
  • 69 Views
Martin Hope
jtscheirer
Asked: 2024-09-13 08:15:55 +0800 CST

如何在 SAS 中按组计算日期之间的差异

  • 5

我有类似下面的数据,需要计算 Event_date 列中按 Subject_ID 分组的日期之间的平均时间(以月为单位)。换句话说,对于数据中的每个主题,我需要知道与该主题相关的事件之间的平均月数。每个主题都有不同数量的相关事件。有没有相对简单的方法可以做到这一点?我知道如何在 R 中做到这一点,但我对 SAS 还比较陌生,还没有找到解决方案。

提前感谢这个社区提供的任何帮助!

主题ID 活动日期
1 日期_1
1 日期_2
1 日期_3
2 日期_1
2 日期_2
3 日期_1
3 日期_2
3 日期_3
3 日期_4
3 日期_5
3 日期_6
4 日期_1
4 日期_2
5 日期_1
5 日期_2
5 日期_3
5 日期_4
6 日期_1
6 日期_2
date
  • 1 个回答
  • 20 Views
Martin Hope
Kevin L
Asked: 2024-09-11 19:59:09 +0800 CST

试图弄清楚为什么我的 GoogleSheets 日期公式不起作用

  • 5

我的订单日期在“A”列,还有“B”列,其中包含要添加到 A 列的年数。假设 A 列中的日期为:1/1/2024,B 列中的数字为 10。理想情况下,我希望公式显示:=Date((year(A2+B2),month(A2),day(B2+5)),结果为 1/6/2034。但是,公式不起作用。我确保在格式选项中将 A 列格式化为日期。

它只是没有将年数(10)添加到单元格 A2 中的参考年份。我确保我的语言环境和时间设置为美国(东部时间)。

任何帮助都将不胜感激,因为我过去曾多次使用过这个公式,没有任何问题。

date
  • 1 个回答
  • 27 Views
Martin Hope
EsotericPunk
Asked: 2024-08-22 10:09:32 +0800 CST

尝试创建日期宏变量以在 WHERE 语句中使用

  • 5

我终其一生都无法弄清楚如何让这些格式正确用于可用的日期宏。我有两条信息想要用来创建日期宏变量。第一条是年份,第二条是标签,用于让我知道我是否为给定年份或前一年创建变量。例如,如果我将年份设置为 2025 年并将期间设置为 PREV,我想为 2024 年创建日期变量。我想要的日期是年初、年底、年初前 6 个月和年底后 6 个月。我希望它们都采用 01JAN2024 的形式。

我一直在浏览论坛和 SAS 帮助网站,尝试了上千种组合。我找不到任何可行的方法,我甚至不知道如何正确打印结果进行检查。以下是我最近尝试过的方法:

%let year   = 2025;
%let period     = PREV;
%let start_date = %sysfunc(mdy(1, 1, &meas_yr));

%macro set_dates;
    %if &period = PREV 
    %then %do;
        %let p_start = %sysfunc(intnx(year, &start_date, -1, beg));
        %let p_end   = %sysfunc(intnx(year, &start_date, -1, end));
        %let period_start  = %sysfunc(putn(&p_start, date9.));
        %let period_end    = %sysfunc(putn(&p_end,   date9.));
    %end;
    %else %do;
        %let p_start = %sysfunc(intnx(year, &start_date,  0, beg));
        %let p_end   = %sysfunc(intnx(year, &start_date,  0, end));
        %let period_start  = %sysfunc(putn(&p_start, date9.));
        %let period_end    = %sysfunc(putn(&p_end,   date9.));
    %end;
%mend set_dates;
%set_dates;

%let period_lkbk  = %sysfunc(intnx(month, &p_start., -6, beg), date9.);
%put &period_lkbk;
%let period_lkfw  = %sysfunc(intnx(month, &p_end.,    6, end), date9.);
%put &period_lkfw;

以下是我用来测试正在设置的内容的代码:

%put Date_Test_1 : %sysfunc(putn(&p_start, date9.));
%put Date_Test_2 : &period_start;
%put Date_Test_3 : %sysfunc(putn(&p_end,   date9.));
%put Date_Test_4 : &period_end;
%put Date_Test_5 : &period_lkbk;

我得到的结果是:

SYMBOLGEN:  Macro variable P_START resolves to 23376
27         
28         %put Date_Test_1 : %sysfunc(putn(&p_start, date9.));
Date_Test_1 : 01JAN2024
29         %put Date_Test_2 : &period_start;
SYMBOLGEN:  Macro variable PERIOD_START resolves to 01JAN2024
Date_Test_2 : 01JAN2024
30         %put Date_Test_3 : %sysfunc(putn(&p_end,   date9.));
WARNING: Apparent symbolic reference P_END not resolved.
WARNING: Apparent symbolic reference P_END not resolved.
ERROR: Argument 1 to function PUTN referenced by the %SYSFUNC or %QSYSFUNC macro function is not a number.
ERROR: Invalid arguments detected in %SYSCALL, %SYSFUNC, or %QSYSFUNC argument list.  Execution of %SYSCALL statement or %SYSFUNC 
   or %QSYSFUNC function reference is terminated.
Date_Test_3 :
31         %put Date_Test_4 : &period_end;
SYMBOLGEN:  Macro variable PERIOD_END resolves to 31DEC2024
Date_Test_4 : 31DEC2024
32         %put Date_Test_5 : &period_lkbk;
SYMBOLGEN:  Macro variable PERIOD_LKBK resolves to 01JUL2023
Date_Test_5 : 01JUL2023
33         %put Date_Test_6 : &period_lkfw;
SYMBOLGEN:  Macro variable PERIOD_LKFW resolves to .
Date_Test_6 : .

最终我想在 proc sql 中的语句中使用它,如下所示:

WHERE startdate >= "&period_lkbk."d and enddate <= "&period_lkfw."d;

为什么 p_end 没有解析?我感觉我已经很接近了,但却无法到达终点。

date
  • 1 个回答
  • 19 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    重新格式化数字,在固定位置插入分隔符

    • 6 个回答
  • Marko Smith

    为什么 C++20 概念会导致循环约束错误,而老式的 SFINAE 不会?

    • 2 个回答
  • Marko Smith

    VScode 自动卸载扩展的问题(Material 主题)

    • 2 个回答
  • Marko Smith

    Vue 3:创建时出错“预期标识符但发现‘导入’”[重复]

    • 1 个回答
  • Marko Smith

    具有指定基础类型但没有枚举器的“枚举类”的用途是什么?

    • 1 个回答
  • Marko Smith

    如何修复未手动导入的模块的 MODULE_NOT_FOUND 错误?

    • 6 个回答
  • Marko Smith

    `(表达式,左值) = 右值` 在 C 或 C++ 中是有效的赋值吗?为什么有些编译器会接受/拒绝它?

    • 3 个回答
  • Marko Smith

    在 C++ 中,一个不执行任何操作的空程序需要 204KB 的堆,但在 C 中则不需要

    • 1 个回答
  • Marko Smith

    PowerBI 目前与 BigQuery 不兼容:Simba 驱动程序与 Windows 更新有关

    • 2 个回答
  • Marko Smith

    AdMob:MobileAds.initialize() - 对于某些设备,“java.lang.Integer 无法转换为 java.lang.String”

    • 1 个回答
  • Martin Hope
    Fantastic Mr Fox msvc std::vector 实现中仅不接受可复制类型 2025-04-23 06:40:49 +0800 CST
  • Martin Hope
    Howard Hinnant 使用 chrono 查找下一个工作日 2025-04-21 08:30:25 +0800 CST
  • Martin Hope
    Fedor 构造函数的成员初始化程序可以包含另一个成员的初始化吗? 2025-04-15 01:01:44 +0800 CST
  • Martin Hope
    Petr Filipský 为什么 C++20 概念会导致循环约束错误,而老式的 SFINAE 不会? 2025-03-23 21:39:40 +0800 CST
  • Martin Hope
    Catskul C++20 是否进行了更改,允许从已知绑定数组“type(&)[N]”转换为未知绑定数组“type(&)[]”? 2025-03-04 06:57:53 +0800 CST
  • Martin Hope
    Stefan Pochmann 为什么 {2,3,10} 和 {x,3,10} (x=2) 的顺序不同? 2025-01-13 23:24:07 +0800 CST
  • Martin Hope
    Chad Feller 在 5.2 版中,bash 条件语句中的 [[ .. ]] 中的分号现在是可选的吗? 2024-10-21 05:50:33 +0800 CST
  • Martin Hope
    Wrench 为什么双破折号 (--) 会导致此 MariaDB 子句评估为 true? 2024-05-05 13:37:20 +0800 CST
  • Martin Hope
    Waket Zheng 为什么 `dict(id=1, **{'id': 2})` 有时会引发 `KeyError: 'id'` 而不是 TypeError? 2024-05-04 14:19:19 +0800 CST
  • Martin Hope
    user924 AdMob:MobileAds.initialize() - 对于某些设备,“java.lang.Integer 无法转换为 java.lang.String” 2024-03-20 03:12:31 +0800 CST

热门标签

python javascript c++ c# java typescript sql reactjs html

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve