gpt4 book ai didi

excel - 在 Excel 中,如何避免为了检查返回值是否为空白而重复大部分公式?

转载 作者:行者123 更新时间:2023-12-04 19:59:56 24 4
gpt4 key购买 nike

我有一种情况,我在不同的工作表中引用单元格并从该工作表返回单元格的值。虽然它有效,但我发现我当前的方法效率低下,因为我必须在 IF 语句的逻辑测试部分重复公式:

=IF(**EXTREMELY LONG COMPLICATED FORMULA** <> "", **EXTREMELY LONG COMPLICATED FORMULA**, "")

如您所见,我必须先重复公式的主要部分,以检查它是否为空白。如果我不这样做,我会在单元格中得到一个零(对于引用的工作表中的空白值)。我正在寻找更多类似的东西:
=IF(**EXTREMELY LONG COMPLICATED FORMULA** <> "", **RETURN VALUE**, "")

这对我来说看起来更干净,因为我不必重复自己。此外,如果我们必须更新公式,我不必将我的更改复制到重复的部分。 有没有办法做到这一点?

以上实际上是我的问题的简化版本,但答案应该让我到达我需要去的地方。我的实际公式有嵌套的 IF 语句检查空格。作为引用,这里是:
=IFERROR(IF(SMALL(IF(ImportedData!$H$2:$H$1000>=DataFilters!$A$1,IF(ImportedData!$G$2:$G$1000=DataFilters!$A$15,ROW(ImportedData!A$2:A$1000)-ROW(ImportedData!A$2)+1)),ROWS(ImportedData!A$2:ImportedData!A2))<>"",IF(INDEX(ImportedData!A$2:A$1000,SMALL(IF(ImportedData!$H$2:$H$1000>=DataFilters!$A$1,IF(ImportedData!$G$2:$G$1000=DataFilters!$A$15,ROW(ImportedData!A$2:A$1000)-ROW(ImportedData!A$2)+1)),ROWS(ImportedData!A$2:ImportedData!A2)))<>"",INDEX(ImportedData!A$2:A$1000,SMALL(IF(ImportedData!$H$2:$H$1000>=DataFilters!$A$1,IF(ImportedData!$G$2:$G$1000=DataFilters!$A$15,ROW(ImportedData!A$2:A$1000)-ROW(ImportedData!A$2)+1)),ROWS(ImportedData!A$2:ImportedData!A2))),""),""),"")

最佳答案

最明显的解决方案是使用辅助列或单元格。就放EXTREMELY LONG COMPLICATED FORMULA在电子表格的某处,然后引用 IF 中的那个单元格公式。

编辑

为了避免出现辅助列,这是我偶尔使用的一个技巧:

=IFERROR(VALUE(long_formula&""),"")

这样做是,将长公式的结果与一个空字符串(将其转换为字符串)连接起来,然后取所有的值(如果可能,将其转换回数字),然后用空白替换任何错误. (如果您尝试获取非数字的值,则会发生错误。)

这仅在您有数字结果或空结果时才有效。如果您有文本结果,它将失败。

关于excel - 在 Excel 中,如何避免为了检查返回值是否为空白而重复大部分公式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36046719/

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