gpt4 book ai didi

Excel IF 条件,如果作为数组公式输入,则计算结果为 TRUE,否则为 FALSE

转载 作者:行者123 更新时间:2023-12-03 00:47:28 24 4
gpt4 key购买 nike

我正在尝试对我交给其他人的仪表板进行万无一失,它包含一些数组公式。如果有人编辑其中一个数组公式并忘记按 Ctrl+Shift+Enter,那么现在所发生的情况就是公式开始返回以微妙的方式不正确的结果。

我想要的是某种IF检查,我可以添加到公式中,这样如果他们忘记将其作为数组公式输入,我可以返回一个明确的错误。

类似于:

=IF(IsArrayFormula, NormalFormula, "Ctrl+Shift+Enter Required")

VBA 不适合我,但如果您想为不受该限制的人留下 VBA 解决方案,我不会投反对票。

最佳答案

您可以在条件中使用 MATCH,如下所示:

=IF(SUM(IFERROR(MATCH({1,2},{2},0),0)),NormalFormula,"Ctrl+Shift+Enter Required")

如果未使用 Ctrl + Shift + Enter 输入公式,则匹配将仅尝试在 {2,2} 数组中查找 1,将找不到并返回错误。

此错误将向 IF 条件返回 0,从而触发 False 条件。

如果输入正确,它将添加错误中的 0,然后在第一个位置找到 2 并将 1 的总和返回到条件。

这将返回 True 并且正常公式将触发。


只是因为你把它开放给了vba。

如果用户忘记,这会自动将公式转换为数组公式:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("G25")) Is Nothing Then
If Not Target.HasArray Then
Target.FormulaArray = Target.Formula
End If
End If
End Sub

当然,当确保仅检查应包含数组公式的单元格时,这可能会变得复杂。我只检查G25。

关于Excel IF 条件,如果作为数组公式输入,则计算结果为 TRUE,否则为 FALSE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44311903/

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