首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Excel偏移性能增益bij添加if()?回答;不

Excel偏移性能增益bij添加if()?回答;不
EN

Stack Overflow用户
提问于 2018-01-22 00:17:28
回答 1查看 146关注 0票数 0

更新这些易失性函数不能用IF()语句减轻。见下面的答案。1

我刚听说我的excel表需要在马铃薯速度笔记本电脑上运行.

会;

代码语言:javascript
复制
=IF(A1="Test"** ; OFFSET(B5 ; MATCH(C8 ; G10:G15) ; OFFSET(B5 ; MATCH(C8 ; G9:F9)) ; 0)

比仅仅是偏移函数更快

代码语言:javascript
复制
=OFFSET(B5 ; MATCH(C8 ; G10:G15) ; OFFSET(B5 ; MATCH(C8 ; G9:F9)) ; 0)

我的直觉说是..。但是,如果IF()函数的“未使用”部分没有计算或“易失性”,我就找不到明确的答案。

我在单张上有大约120个偏移功能和200个匹配函数。根据许多变量的不同,在一次结果中实际上使用了50到90偏移量。

我希望收到你的来信,

柯恩。

如果我切换函数和对零,那就没有什么区别了?这将是一个暂时的修复,直到我可以把东西放入(更快?)指数函数

更新这些易失性函数不能用IF()语句减轻。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-22 10:01:01

我最后一次读到,试图用IF中断一个易失性函数,即使它位于语句的假部分,也会导致执行易失性函数。因此,您要做的是删除易失性偏移功能,而不是尝试短路。INDEX函数可以返回一个动态范围,所以这就是我要使用的。见我在Excel的索引函数能返回数组吗?的答案

查尔斯·威廉姆斯在这件事上说:

在公式中使用易失性函数将包含公式的单元格标记为易失性单元格,即使始终不执行该易失性函数:

  • = IF (1<2,99,NOW())将始终返回99,永远不会调用volatile ()函数,但是包含IF公式的单元格将被视为易失性单元格(感谢Stephen指出这一点)。
  • 如果单元格A1包含=NOW(),那么= If (1<2,99,A1)将始终返回99,但是包含IF公式的单元格将不会被视为易失性。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48373122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档