我的公式中的语法错误在哪里?

我的公式中的语法错误在哪里?

我正在尝试使用这个公式,但 Excel 一直告诉我有错误。

=SI(NB.SI(A2;"*D*");"Data";"SI(NB.SI(A2;"*V*");"Voice";"Autres")")

(用英语讲:

=IF(COUNTIF(A2;"*D*");"Data";"IF(COUNTIF(A2;"*V*");"Voice";"Autres")")

我不明白它在哪里。

SI 的意思是 IF,我在 Win7 上的 Excel 2010 中使用法语版本。

由于我的英语不是很完美,所以我说的某些话可能听起来很奇怪。

以下是我正在做的事情的演示:

屏幕截图

  • 中频X类型数据
  • 中频电压X键入语音
  • 如果有其他情况,则输入 Autres。

X是一个数字。没有其他类型,只有“Data”、“Voice”和“Autres”。

这可能是我自己的公式不正确,如果您有其他方式来输入,请随意使用。

答案1

我没有法语版,所以我不能排除 SI 和 NB.SI 是好是坏。假设它们是好的,下面是分解后的公式:

=SI
(
  NB.SI
  (
    A2;
    "D"              
  );                 *
  "Data";
  "SI                <
  (
    NB.SI
    (
      A2;
      "V"            
    );               *
    "Voice";
    "Autres"
  )"                 <
)

这告诉我有两个“”是不正确的。这些在上文中用 < 突出显示。此外,NB.SI 公式不完整。NB.SI 将返回匹配的数量,但 IF 仅检查真假,因此我们需要通过评估它们是否大于 0 来将匹配的数量更改为真或假。这些在上文中用 * 突出显示。

正确的公式应该是

=SI
(
  NB.SI
  (
    A2;
    "D"
  )>0;
  "Data";
  SI
  (
    NB.SI
    (
      A2;
      "V"
    )>0;
    "Voice";
    "Autres"
  )
)

或者:

=SI(NB.SI(A2;"D")>0;"Data";SI(NB.SI(A2;"V")>0;"Voice";"Autres"))

答案2

=IF(COUNTIF(A2,"D*"),"数据",IF(COUNTIF(A2,"V*"),"语音","其他"))

更新后法语内容如下:

=SI(NB.SI(A2;"D*");"Data",SI(NB.SI(A2;"V*");"Voice";"Autres"))

也许你应该使用 SI 而不是 NB.SI,如果 A2 中的数据只有 D 或 V,因为不需要计数,公式变为

=SI(A2="D";"Data",SI(A2="V";"Voice";"Autres"))

或者更新后:

=SI(GAUCHE(A2,1)="D";"Data",SI(GAUCHE(A2,1)="V";"Voice";"Autres"))

答案3

Yorik 帮助我找到了答案。

我使用了以下公式:

=SI(GAUCHE(A2)="D";"Data";SI(GAUCHE(A2)="V";"Voice";"Autres"))

(英语:

=IF(LEFT(A2)="D";"Data";IF(LEFT(A2)="V";"Voice";"Autres"))

而且效果非常好。这也让我学到了如何正确使用括号和引号!谢​​谢超级用户 :)

相关内容