在谈到我的Excel知识时,我总是咬得比咀嚼更多。我希望有人可以帮助我。
基本上,我有两张纸,第一张是“Schedule”,它是MYOB的数据转储,包含我们订购仓库时的产品。然后我会通过计划在两周内的哪一天需要做什么。
然后,我希望将其放入“计划”中的用户友好日历中。我想做一个comcatenate使周和日独特,并使用IF和公式。然后我意识到我正在做的就是让它寻找第一行。
有没有办法在Excel中执行我要求的操作?我想我希望日历查找一个类别,EG DUCT,然后在相应的连接日历行中放置任何带有Duct的内容。
电子表格可以在这里找到http://www.castekauto.net/stack/PlanningSchedulestack.xlsx
TIA
对计划表进行一些更改后,包括:
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
是我们需要的N
th结果。如果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等。