Onde está o erro de sintaxe na minha fórmula?

Onde está o erro de sintaxe na minha fórmula?

Estou tentando usar esta fórmula, mas o Excel continua me informando que há um erro.

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

(Em inglês:

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

)

Eu não entendo onde está.

SI Significa SE, estou usando uma versão em francês no Excel 2010 no Win7.

Como meu inglês não é perfeito, algumas coisas que direi podem parecer estranhas.

Aqui está uma demonstração do que estou fazendo:

Captura de tela

  • SE DxTipo de dados
  • SE VxDigite voz
  • SE houver mais alguma coisa, digite Autres.

xé um número. Não existem outros tipos, apenas “Dados”, “Voz” e “Autres”.

Pode ser que minha própria fórmula esteja incorreta. Se você tiver outra maneira de digitar, fique à vontade para fazê-lo.

Responder1

Não tenho a versão em francês, então não posso descartar que SI e NB.SI sejam bons ou ruins. Supondo que sejam bons, aqui está a fórmula detalhada:

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

Isso me diz que há dois " que estão incorretos. Eles estão destacados acima usando <. Além disso, a fórmula NB.SI está incompleta. NB.SI retornará a quantidade de correspondências, mas IF apenas verifica se há verdadeiro ou falso, então precisamos alterar a quantidade de correspondências em verdadeiro ou falso, avaliando se são maiores que 0. Elas são destacadas acima usando um *.

A fórmula correta seria

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

ou:

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

Responder2

=SE(CONTARSE(A2,"D*"),"Dados",SE(CONTARSE(A2,"V*"),"Voz","Outros"))

Em francês, o seguinte após sua atualização:

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

Talvez você deva usar SI em vez de NB.SI se seus dados em A2 forem apenas D ou V, já que nenhuma contagem é necessária, a fórmula se tornará

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

Ou após sua atualização:

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

Responder3

Yorik me ajudou a encontrar a resposta.

Eu usei a fórmula:

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

(Inglês:

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

E funcionou perfeitamente. Isso também me serviu de lição sobre como usar colchetes e aspas corretamente! Obrigado Superusuários :)

informação relacionada