【发布时间】:2017-02-07 16:24:15
【问题描述】:
我在一个单元格中有超过 10,000 个字符的公式。我不能引用多个单元格,因为要求限制了它。
例子:
=IF(NOT(ISERROR(SEARCH(String1,IFERROR(IF(INDEX(INDIRECT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE($J2,"&","_"),"-","_")," ",""),":","_")),COLUMNS($K$1:K$1))="","",INDEX(INDIRECT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE($J2,"&","_"),"-","_")," ",""),":","_")),COLUMNS($K$1:K$1))),"")))),SUBSTITUTE(IFERROR(IF(INDEX(INDIRECT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE($J2,"&","_"),"-","_")," ",""),":","_")),COLUMNS($K$1:K$1))="","",INDEX(INDIRECT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE($J2,"&","_"),"-","_")," ",""),":","_")),COLUMNS($K$1:K$1))),""),String1,$G2),IF(NOT(ISERROR(SEARCH(String2,IFERROR(IF(INDEX(INDIRECT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE($J2,"&","_"),"-","_")," ",""),":","_")),COLUMNS($K$1:K$1))="","",INDEX(INDIRECT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE($J2,"&","_"),"-","_")," ",""),":","_")),COLUMNS($K$1:K$1))),"")))),SUBSTITUTE(IFERROR(IF(INDEX(INDIRECT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE($J2,"&","_"),"-","_")," ",""),":","_")),COLUMNS($K$1:K$1))="","",INDEX(INDIRECT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE($J2,"&","_"),"-","_")," ",""),":","_")),COLUMNS($K$1:K$1))),""),String2,$F2), IFERROR(IF(INDEX(INDIRECT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE($J2,"&","_"),"-","_")," ",""),":","_")),COLUMNS($K$1:K$1))="","",INDEX(INDIRECT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE($J2,"&","_"),"-","_")," ",""),":","_")),COLUMNS($K$1:K$1))),"")))
我不确定该公式是否有帮助。但是那个公式的例子。
在 Excel 中获得了命名范围(定义的名称),公式可能会根据该范围的名称调用单元格。
公式/函数有类似的东西吗?由于嵌套公式,我的函数很长。
我可以用我自己的字符替换 "SUBSTITUTE" 吗?像前。 SUBTE?
【问题讨论】:
-
你考虑过VBA吗?包含数千个字符的公式很难调试。
-
VBA 对于不了解它的其他人来说相当混乱。试图解释将使我的工作增加三倍。另外,我不太擅长 VBA。
-
解释一个 开始
=IF(NOT(ISERROR(SEARCH(String1,IFERROR(IF(INDEX(INDIRECT(SUBSTITUTE的 10,000 个字符的公式很容易解释吗?像这样的公式本质上是只写的,除了他们的作者之外几乎没有人能理解它们(而且,作者自己通常不理解,不完全),而等效的 VBA 很容易理解和分享。跨度> -
但是——我认为不应该投反对票。这仍然是一个好问题。
-
恰恰相反。如果您向我们很好地解释了问题,我们可以帮助您编写 VBA 代码。那么只要把代码放到正确的地方就可以了。
标签: vba excel excel-formula