生产日历 - Excel

问题描述 投票:0回答:1

在谈到我的Excel知识时,我总是咬得比咀嚼更多。我希望有人可以帮助我。

基本上,我有两张纸,第一张是“Schedule”,它是MYOB的数据转储,包含我们订购仓库时的产品。然后我会通过计划在两周内的哪一天需要做什么。

然后,我希望将其放入“计划”中的用户友好日历中。我想做一个comcatenate使周和日独特,并使用IF和公式。然后我意识到我正在做的就是让它寻找第一行。

有没有办法在Excel中执行我要求的操作?我想我希望日历查找一个类别,EG DUCT,然后在相应的连接日历行中放置任何带有Duct的内容。

电子表格可以在这里找到http://www.castekauto.net/stack/PlanningSchedulestack.xlsx

TIA

excel
1个回答
0
投票

对计划表进行一些更改后,包括:

  • 用星期日填写A栏
  • 取消合并列标题(例如,对于Duct)
  • 标准化您需要的字段(例如Composite Hose更改为Hose以匹配Schedule工作表)

我使用了以下数组公式(使用Ctrl + Shift + Enter输入):

=IFERROR(INDEX(INDIRECT("Table3["&C$6&"]"),SMALL(IF((Table3[Helper]=PLAN!$A7)*(Table3[STOCK CATEGORY]=PLAN!C$5),ROW(Table3[ITEM CODE])-8),ROW(7:7)-MATCH("zzz",$B$1:$B7,1)+1)),"")

示例工作簿上传了here


如果你想了解一下公式,可能会有点麻烦:

如果结果是错误,IFERROR(Result, "")将显示空白(没有更多项目可以显示)

INDEX(Column Result,SMALL(Matches, N))在这里,Column Result是我们需要的结果。它可以是商品代码,描述或数量。 Matches是符合某些特定标准的行的索引列表(材料类型,无论是在同一周和日),N是我们需要的Nth结果。如果N为1,那么我们得到匹配的第一个结果,如果N是2,我们得到第2个。

从上面开始,我使用INDIRECT("Table3["&C$6&"]")作为Column结果,使公式更灵活。当它是这样时,公式将决定它需要返回哪一列,无论是项目代码,描述还是数量。

匹配由IF((Table3[Helper]=PLAN!$A7)*(Table3[STOCK CATEGORY]=PLAN!C$5),ROW(Table3[ITEM CODE])-8)定义,它基本上检查周和日匹配以及股票类别。如果两者都匹配,则返回这些行的行号(结果是一个数组)。

N由ROW(7:7)-MATCH("zzz",$B$1:$B7,1)+1)定义,这是我使用的一种小算法,因此在每个新的一天之后,我从1开始得到一个新的N,它增加1直到达到新的一天。它基本上取当前行,从B列减去最后一行到当前行,然后加1.如果两行在同一行,结果将是1.如果当前行是最后一行下面的一行B栏,结果将是2等。

© www.soinside.com 2019 - 2024. All rights reserved.