本帖最后由 jaffedream 于 2019-2-15 12:47 编辑
F4=INDEX('D:\[开标.xls]第一包'!$A$2:$A$5001,COLUMN()-5),右拉。
比如这个,在不打开开标.xls的情况下,可将开标.xls中的A列转换为横向的行,相当于转置。
index、lookup、vlookup这些本身都支持在不打开工作簿时跨簿引用。
offset、cell、indirect、sumif、sumifs、countif、countifs这些函数不支持在不打开工作簿时跨簿引用。 对于sumif、sumifs这种不支持跨簿的函数,有多种方法间接解决。使用普通查询方法引用数据,在改变路径后会失效。
方法一:
在原工作簿使用sumifs等汇总,在新工作簿调用该结果。
方法二:
使用单元格引用的方法调用另一个工作簿的数据,这样比较灵活,改变路径后只要保持相对关系也有效。
方法三:
{=SUM(IF((D26:D29="b")*(E26:E29>=3)*(F26:F29),1,0))},相当于COUNTIFS,优点是支持跨簿,缺点是数组,速度慢。 {=SUM((D26:D29="b")*(E26:E29>=3)*(F26:F29))},相当于SUMIFS,单列单条件,优点是支持跨簿,缺点是数组,速度慢。 方法四:
使用powerquery双重查询法动态获取相对路径,也就是先使用cell函数动态获取原工作簿路径,在第一个query中引用这个路径,在query2中调用query1,获取原工作簿内容,可在改变路径后仍然保持有效引用。
|