Excel 公式将相似的值替换为单个公式

Posted

技术标签:

【中文标题】Excel 公式将相似的值替换为单个公式【英文标题】:Excel Formula substitute similar values into a single formula 【发布时间】:2019-09-30 19:04:58 【问题描述】:

我已经设置了这个公式,对于每个单元格,它应该从我存储在数据中的内容中减去内容!$B$1,在这种情况下是 300,所以如果“时间 1”的内容是 100,这个将显示 200,然后将所有这些值从时间 1 到时间 15 相加,这也将忽略任何不是数字的值。目前我有:

=SUM(IF(ISNUMBER([@[Time 1]]),data!$B$1-[@[Time 1]], 0),IF(ISNUMBER([@[Time 2]]),data!$B$1-[@[Time 2]], 0),IF(ISNUMBER([@[Time 3]]),data!$B$1-[@[Time 3]], 0),IF(ISNUMBER([@[Time 4]]),data!$B$1-[@[Time 4]], 0),IF(ISNUMBER([@[Time 5]]),data!$B$1-[@[Time 5]], 0),IF(ISNUMBER([@[Time 6]]),data!$B$1-[@[Time 6]], 0),IF(ISNUMBER([@[Time 7]]),data!$B$1-[@[Time 7]], 0),IF(ISNUMBER([@[Time 8]]),data!$B$1-[@[Time 8]], 0),IF(ISNUMBER([@[Time 9]]),data!$B$1-[@[Time 9]], 0),IF(ISNUMBER([@[Time 10]]),data!$B$1-[@[Time 10]], 0),IF(ISNUMBER([@[Time 11]]),data!$B$1-[@[Time 11]], 0), IF(ISNUMBER([@[Time 12]]),data!$B$1-[@[Time 12]], 0),IF(ISNUMBER([@[Time 13]]),data!$B$1-[@[Time 13]], 0), IF(ISNUMBER([@[Time 14]]),data!$B$1-[@[Time 14]], 0), IF(ISNUMBER([@[Time 15]]),data!$B$1-[@[Time 15]], 0))

这基本上只是

=SUM(IF(ISNUMBER([@[Time 1]]),data!$B$1-[@[Time 1]], 0))

但每次都重复。对于实际上使用相同公式的东西来说似乎非常冗长,是否可以通过用列表替换“时间 1”来实现相同的结果?

这是当前的计算示例:

提前致谢。

【问题讨论】:

【参考方案1】:

使用 SUM(IFERROR()) 作为数组公式:

=SUM(IFERROR(data!$B$1-[@[Time 1]:[Time 15]],0))

作为数组公式,退出编辑模式时必须使用 Ctrl-Shift-Enter 确认,而不是 Enter。

【讨论】:

以上是关于Excel 公式将相似的值替换为单个公式的主要内容,如果未能解决你的问题,请参考以下文章

excel遇到难题,为啥复制数据后所计算公式处显示#VALUE?

Excel中常用的公式

电源查询替换值

excel怎么快速的将新数据替换旧数据?

Excel公式 - 检查单元格是否具有公式

poi 导出excel2007的时候,自动执行excel中的公式?