因此,我有两个工作簿,其中工作簿A从工作簿B的不同工作表中提取不同的单元格,并将它们一起添加。问题是,这样做太多了,以至于由于文件路径而最终导致公式超过8000个字符。
是否存在有助于缩短这一时间的公式或方法?也许您只引用一次文件路径,然后公式中的每个单元格引用都知道它是同一文件路径的一种方式?不断重复文件路径只是为了获取“工作表和单元格引用”的过程是导致当前简单加法公式膨胀的原因。我不能使用SUM函数来捕获其他不需要的数据。
答案 0 :(得分:0)
如果您有要合计哪些值的条件,则可以使用SUMIF / S函数根据条件添加这些值。
例如:=SUMIF('D:\test\[test_file.xlsx]Sheet1'!A1:A200,">="&3,'D:\test\[test_file.xlsx]Sheet1'!A1:A200)
将在D:\ test \目录的test_file.xlsx的Sheet1的A1:A200范围内添加等于或大于3的值。
另一种方法是在单元格中的源工作簿目录中键入内容,并利用INDIRECT函数进行添加。
示例:如果在单元格B1中输入'D:\test\[test_file.xlsx]Sheet1'!
作为文本,则可以通过键入=sum(indirect(B1&"A2"),indirect(B1&"A5"),indirect(B1&"A7"))
来添加A2,A5和A7的值,从而大大减少了字符长度。
您还可以尝试将源工作簿的所有相关单元格引用到目标工作簿中的另一个工作表,并从该“帮助程序”工作表中进行添加。
我更喜欢SUMIF / S选项,并且具有可靠的标准可以使用。
答案 1 :(得分:0)
似乎对我有用的是使用SUMPRODUCT。它大大减少了配方的长度。由于有一个我想在不同的工作表中使用的标准条件,因此Array one会从第一个工作表中查找匹配条件,然后将Array 2用于每个工作表。