嵌套的iferror索引匹配数组函数运行太慢,如何优化?

时间:2019-02-04 17:06:53

标签: date variables indexing match vlookup

我的公式处理时间太长。似乎不确定或超时。

以下是示例数据:

Sheet1 / Table1:

Name,Date,W,1 A,1/11/2019,1 A,1/10/2019,1 A,1/9/2019,1 A,1/8/2019,1 A,1/7/2019,1 A,1/4/2019,1 A,1/3/2019,0 A,1/2/2019,1 A,1/1/2019,0 B,1/11/2019,0 B,1/10/2019,1 B,1/9/2019,1 B,1/8/2019,0 B,1/7/2019,1 B,1/4/2019,1 B,1/3/2019,0 B,1/2/2019,1 B,1/1/2019,0 C,1/11/2019,1

Sheet2 / Table2:

Name,Date,W,1 A,12/29/2018,0 A,12/28/2018,1 A,12/27/2018,1 B,12/28/2018,0 B,12/27/2018,1

这是我在标记为“ 1”的列中输入的公式

{=IFERROR(INDEX([W],MATCH(1,([@Name]=[Name])*([@Date]-D$1>=[Date]),0)),INDEX(Table2[W],MATCH(1,([@Name]=Table2[Name])*([@Date]-D$1>=Table2[Date]),0)))}

有时缺少日期,需要循环到下一个日期,有时缺少日期,需要循环到下一个日期,等等。

结果是:

Name Date W 1 A 1/11/2019 1 1 A 1/10/2019 1 1 A 1/9/2019 1 1 A 1/8/2019 1 1 A 1/7/2019 1 1 A 1/4/2019 1 0 A 1/3/2019 0 1 A 1/2/2019 1 0 A 1/1/2019 0 0 B 1/11/2019 0 1 B 1/10/2019 1 1 B 1/9/2019 1 0 B 1/8/2019 0 1 B 1/7/2019 1 1 B 1/4/2019 1 0 B 1/3/2019 0 1 B 1/2/2019 1 0 B 1/1/2019 0 0 C 1/11/2019 1 #N/A

因此列标题1代表该记录日期之前的几天 “ 1”列中的值是很多天前在“ W”列中的值 将有更多的列添加为'1,2,3,4,5,6,.... 500+',以显示在该记录之前很多天也需要添加的结果

问题:我有8张纸,所有8张纸都有超过70万条记录 基本上我想做的是搜索该名称,即@date之前的下一个可用日期,然后返回位于标记为W

的列中的值

如果有使用VBA或Power Query的更好方法,请告诉我

0 个答案:

没有答案