查找任务的下一个截止日期

时间:2017-09-18 22:39:44

标签: sql excel azure-sql-database lookup

大家好日子。这是我的表:

EarnDate  |   Id   |    Task    | Employee

9/01/2017 |  1234  | Task1      | Bob  
9/05/2017 |  4313  | Task2      | Jane   
9/07/2017 |  4144  | Task3      | Drew    
9/21/2017 |  2341  | Task4      | Tyler  
9/21/2017 |  2342  | Task5      | Jim   

在我的工作中,我们有一系列必须每90天完成的任务。此数据将保存到SQL中的数据库中。在Excel中,我创建了报告,说明员工何时必须进行检查。

我尝试创建的报告显示以下内容:

Name | Task1Due   | Task2Due   | Task3Due   |   Task4Due | Task5Due  
Bob  | 01/01/2017 | 01/01/2017 |01/01/2017  | 01/01/2017 | 01/01/2017  
Sue  | 01/01/2017 | 01/01/2017 |01/01/2017  | 01/01/2017 | 01/01/2017  
Tim  | 01/01/2017 | 01/01/2017 |01/01/2017  | 01/01/2017 | 01/01/2017  
Rob  | 01/01/2017 | 01/01/2017 |01/01/2017  | 01/01/2017 | 01/01/2017  
Jim  | 01/01/2017 | 01/01/2017 |01/01/2017  | 01/01/2017 | 01/01/2017

由于我们的主表超过2000条记录,因此我为每位员工创建了一个SQL视图,然后将该视图导入到Excel中的表中。我遇到的问题是找到一个搜索该表的公式,然后返回上一个任务日期+ 90天。该表对于员工来说非常方便,因此他们不必自己进入日志并进行数学计算。

此公式的步骤:

  1. 在选定列(名称)上搜索表。 [我假设这是LOOKUP]
  2. 找到表格后,搜索任务[例如,任务1]
  3. 在员工表中查找日期,然后添加90.
  4. 显示日期。
  5. 也许是在当天晚些时候,也许我是Excel的菜鸟。感谢大家的帮助。祝你有个美好的一天。

    -B

1 个答案:

答案 0 :(得分:1)

我会使用这个公式:

= INDIRECT(“TypeSheet& Column Letter”& MATCH('User Name','Name_Column',0)+'起始行参考和顶部'之间的区别',TRUE)+ 90

确保将这些单元格格式化为短日期。

“type sheet& Column letter”--- Ex)“Sheet1!A”这是指日期栏(引用是必要的)

'用户名'----这可以引用具有用户名的单元格,也可以手动输入引号

'名称列' - 这是指可以找到用户名的范围

'开始行引用和顶部'之间的差异 - 使用匹配要求您将x行数添加到匹配函数中,范围从该处开始到第1行为Ex)范围为A5:A10,将4添加到匹配功能