如何根据其他2个条件设置单元格的值

时间:2018-08-14 13:33:15

标签: excel vba excel-vba ms-access excel-formula

我有一个这样的Excel标签。

它为我提供了有关何时计划开始使用产品的信息。

我的输入表的列是:

Product Number, Dummy column, Dummy column, Worker ID, Starting Date, Ending Date

我的输入表中的行是:

Product 1,xyz,xyz,Worker 1,13/08/2018 13:50,20/08/2018 15:30
Product 1,xyz,xyz,Worker 2,08/08/2018 03:50,16/08/2018 08:30
Product 1,xyz,xyz,Worker 9,23/08/2018 08:08,03/09/2018 10:00
Product 2,xyz,xyz,Worker 4,10/08/2018 13:50,27/08/2018 15:30
Product 2,xyz,xyz,Worker 9,18/08/2018 03:50,20/08/2018 08:30
Product 3,xyz,xyz,Worker 2,13/08/2018 08:08,13/09/2018 10:00

我的结果表应具有:

  • 每名工人一线
  • 一年中的每一天

“结果”选项卡中的值应显示给定工人和该工人开始工作的产品的给定日期。 因此,如果此时workerX尚未开始在产品上工作,则该单元格可能为空。

您是否知道如何在Excel中解决此问题(如果无法在Excel中访问,请访问Access)

2 个答案:

答案 0 :(得分:0)

访问可能将是您最好的选择。您将要创建一个列,以从开始日期列中剥离时间值,而只剩下日期值。现在称为开始日。现在基于您的表创建一个交叉表查询。这些行将基于工人ID 列。这些列将基于开始日期列。该值将使用产品编号字段上的称为“ First()”的聚合函数。

我认为它在SQL中应该看起来像这样(用您的表名替换):

TRANSFORM First([Product Number])
SELECT [Worker ID] FROM <YOURTABLE> GROUP BY [Worker ID]
PIVOT [Starting Day]

祝你好运!

答案 1 :(得分:0)

在A列中传输数据。

在C2到C20单元格中,以与数据中显示的相同的方式键入worker 1,Worker 2等的名称。

在第1行中,输入从D1单元格开始的日期。

在我的示例中,单元格D1是2018年8月7日,E1是2018年8月8日。

在单元格D2中,输入以下数组公式

= IF(MAX(IFERROR(FIND($ C2&“,”&TEXT(D $ 1,“ dd / mm / yyyy”),$ A $ 1:$ A $ 1000,1),0))= 0 ,“-”,“是”)

使用 Control + Shift + Enter (而不是Enter)输入

Array Formulas。

将公式拖动到所需的单元格。 如果工人在特定日期启动了项目,则结果为“是”,如果工人在特定日期没有启动任何项目,则结果为“-”。

根据需要更改单元格引用。

如果要获得产品详细信息,请代替“是”,然后在单元格D2中使用下面的数组公式

= IFERROR(LEFT(IF((MAX(IF(IFERROR(FIND($ C2&“,”&TEXT(D $ 1,“ dd / mm / yyyy”),$ A $ 1:$ A $ 1000,1 ),0)> 0,ROW($ 1:$ 1000),“-”)))= 0,“-”,INDEX($ A $ 1:$ A $ 1000,(MAX(IF(IFERROR(FIND($ C2&“, “&TEXT(D $ 1,” dd / mm / yyyy“),$ A $ 1:$ A $ 1000,1),0)> 0,ROW($ 1:$ 1000),”-“))),1))),查找($ C2,IF((MAX(IF(IFERROR(FIND($ C2&“,”&TEXT(D $ 1,“ dd / mm / yyyy”),$ A $ 1:$ A $ 1000,1),0)> 0, ROW($ 1:$ 1000),“-”)))= 0,“-”,INDEX($ A $ 1:$ A $ 1000,(MAX(IF(IFERROR(FIND($ C2&“,”&TEXT(D $ 1,“ dd / mm / yyyy“),$ A $ 1:$ A $ 1000,1),0)> 0,ROW($ 1:$ 1000),”-“))),1)),1)-2),”- “)

请让我知道您是否要这样做。

此致

Vijaykumar Shetye,

卓越的电子表格

Panaji,印度果阿