gpt4 book ai didi

excel - 当单元格中的函数 "parses"多次包含对同一函数的相同调用时,Excel有多智能

转载 作者:行者123 更新时间:2023-12-02 16:12:19 27 4
gpt4 key购买 nike

考虑一下:单元格C1有一个多次调用另一个函数的公式:

例如=ExcelFuntionA(ExcelFunctionCallB(1), ExcelFunctionCallB(1)-1, ExcelFunctionCallB(1)-2, ExcelFunctionCallB(1)*3)

请注意,传递给 ExcelFunctionCallB 的参数每次都具有相同的值。

如果 ExcelFunctionCallB(..) 是一个涉及大量处理的函数,如果在花药中找到 ExcelFunctionCallB(..) 的结果,Excel 会更快地处理公式单元格,并将上述公式更改为引用该单元格 4 次。

例如

假设 A2 的公式为 ExcelFunctionCallB(..)C1 将读取 =ExcelFuntionA(A2, A2-1, A2-2, A2*3)

我想知道excel有多智能!

  1. 是否可以看到调用是相同的并且仅处理对函数的调用一次?

  2. 对于数组公式和普通函数公式来说,这样做是否足够智能?

  3. 如果调用一个用 VBA 编写的函数,它是如何工作的?
    请注意 VBA 函数可以直接引用单元格不作为参数传递(我知道这很顽皮,但它发生,并且返回不同结果的可能性很小值,即使与其使用的参数相同。)

根据上面的内容,有没有办法告诉代码VBA函数不直接访问任何Excel单元格? (有点像我想象的application.volatile)

一个更现实的例子:我实际上一直在尝试这样的公式:

=MID($A2, FIND("@",SUBSTITUTE("#"& $A2 & "#","#","@",B$1)), FIND("@", SUBSTITUTE("#"& $A2 & "#","#","@",B$1+1)) - FIND("@",SUBSTITUTE("#"& $A2 & "#","#","@",B$1)) - 1)

这在未批准的 SO 问题 24182334/splitting-text-columns 的拟议答案之一中有详细记录

请注意,此公式使用文本 FIND("@",SUBSTITUTE("#"& $A2 & "#","#","@",B$1)) 三次.

[PS。我知道 VBA 中的拆分和文本到列菜单选项。]

最佳答案

If ExcelFunctionCallB(..) is a function that involves significant processing, would excel process the formula quicker if the result of ExcelFunctionCallB(..) was found in anther cell and the above formula was changed to reference this cell 4 times.

这是正确的,引用已计算的单元格比在单个单元格中多次重新计算同一事物要快。 Excel 将分别计算每一项

此外,正如 pnuts 所指出的,此链接可能令人感兴趣:http://msdn.microsoft.com/en-us/library/office/ff700515%28v=office.14%29.aspx

(作为克里斯·尼尔森建议的答案发布)

关于excel - 当单元格中的函数 "parses"多次包含对同一函数的相同调用时,Excel有多智能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27849655/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com