我想对不同文件中的单元格进行 sum 或 sumprod 运算。更准确地说:
我有一个包含其他 .ods 文件的文件路径列表,这些文件包含以完全相同方式组织的数据。例如在单元格 A1 'file:///C:/Users/jean__000/Desktop/data1.ods'#$Sheet1
、...、单元格 A9 中'file:///C:/Users/jean__000/Desktop/data9.ods'#$Sheet1
)。在单元格 B1、...、B9 中,我有一个布尔值,表示我是否希望将相应的文件包含在计算中。我现在想计算给定单元格(例如 C1)中设置为 TRUE 的所有文件的总和。如果这只是跨工作表的总和,我可以使用给定范围的间接 sumprod,但我找不到如何指定跨不同文件的范围。
我可以添加一个新列(比如说 C),并出现data1.ods#$Sheet1.C1
在 C1、...、data9.ods#$Sheet1.C1
出现在 C9 中;然后对其执行 sumprod,但我想避免创建无用的列。
答案1
以下是一个有效的公式:
=SUM(IF($B$1,INDIRECT($A$1 & ".C1"),0), IF($B$2,INDIRECT($A$2 & ".C1"),0))
这处理了前两个文件。若要处理更多文件,请IF
为每个文件添加另一个子句。
不过我认为创建“无用列”会更容易,然后求和函数它们。使用附加单元格进行计算正是电子表格的设计目的。