当 Excel 中有多个 IF 条件引用表参数时如何使用 AND 运算符

当 Excel 中有多个 IF 条件引用表参数时如何使用 AND 运算符

我在 Excel 中有一个数组公式,如果两个值都是非零数字,则返回两列之间的差值,否则返回一个空字符串。

=IFERROR(1/(1/Details[Date1])- 1/(1/Details[Date2]),"")

我正在尝试改变公式,以便它不返回差值,而是返回

  • "Metrics Met"如果差异=0=1
  • "Metrics Not Met"如果差异是>1
  • ""其他一切

我一直在尝试将 IF 与 AND 结合起来,但一直无法成功。这是我目前的公式。

=IF(AND(IFERROR(1/(1/Details[Date1])-1/(1/Details[Date2]),"")>=0,
         IFERROR(1/(1/Details[Date1])-1/(1/Details[Date2]),"")<=1),
    "metrics met", 
    IF(IFERROR(1/(1/Details[Date1])-1/(1/Details[Date2]),"")>1,
      "metrics not met")

在下面的 markdown 表中,

  • C 列中的“差异”是我使用旧公式得到的结果
  • “期望输出”是我想要得到的
A C
1 日期1 日期2 不同之处 期望输出 笔记
2 2023 年 6 月 14 日 2023 年 7 月 15 日 -31
3 2023 年 6 月 14 日 2023 年 6 月 15 日 -1
4 2023 年 7 月 15 日 2023 年 6 月 14 日 31 "Metrics Not Met" >1
5 2023 年 6 月 15 日 2023 年 6 月 14 日 1 "Metrics Met" =1
6 2023 年 6 月 15 日 2023 年 6 月 15 日 0 "Metrics Met" =0
7 2023 年 6 月 15 日
8 2023 年 6 月 15 日

下图中,C 列显示了输出结果
在此处输入图片描述

答案1

逻辑

对于每对值d1d2,返回

  1. "Metrics Met"如果:
    • d1 d2可以强制转换为非零数字;
    • 如果d1 >= d2;
    • 如果d1-d2<=1
  2. 否则,"Metrics Not Met"如果:
    • d1 d2可以强制转换为非零数字
  3. ""其他一切(空字符串)

公式

嵌套如果使用了函数,而不是使用功能以确保配方能够继续溢出。

=IFERROR(
   IF(1/(1/Details[Date1])>=1/(1/Details[Date2]),
      IF(1/(1/Details[Date1])-1/(1/Details[Date2])<=1,
         "Metrics Met", "Metrics Not Met"), ""), "")

相关内容