VALUE message d'erreur
Bonjour,
J'essaie de creer un tableau qui recapituleras les problèmes de pointage éventuels. Voici ma formule :=IF(B2="TiempoCompleto";IF(AND(ISBLANK(E2);ISBLANK(F2);ISBLANK(G2);ISBLANK(I2));"Ausenciatotal";IF(OR(ISBLANK(E2);ISBLANK(F2);ISBLANK(G2);ISBLANK(I2));"Faltanpuntos";IF(E2>D2+TIME(0;5;0);"Retrasoentrada";IF(I2<H2-TIME(0;5;0);"Salidaanticipada";IF(AND(NOT(ISBLANK(F2));NOT(ISBLANK(G2));VALUE(G2)>VALUE(F2);VALUE(G2)-VALUE(F2)>TIME(1;0;0));"Tiempo comida excessivo";"Correcto"))))));IF(B2="TiempoParcial";IF(AND(ISBLANK(E2);ISBLANK(I2));"Ausenciatotal";IF(OR(ISBLANK(E2);ISBLANK(I2));"FaltanPuntos";IF(E2>D2+TIME(0;5;0);"Retrasoentrada";IF(I2<H2-TIME(0;5;0);"SalidaAnticipada";"Correcto"))));"Correcto")
Le mot VALUE apparait pour me montrer une erreur que je n'qrrive pqs a identifier... Pourriez vous m'aider svp ? L'erreur ne vient pas des points virgules et mon excel est en anglais...
Bonjour & bienvenue sur le forum,
Votre formule a une petite erreur de parenthèse/point virgule. Est-ce ceci le résultat attendu ?
=IF(
B2 = "TiempoCompleto";
IF(
AND(ISBLANK(E2); ISBLANK(F2); ISBLANK(G2); ISBLANK(I2));
"Ausenciatotal";
IF(
OR(ISBLANK(E2); ISBLANK(F2); ISBLANK(G2); ISBLANK(I2));
"Faltanpuntos";
IF(
E2 > D2 + TIME(0; 5; 0);
"Retrasoentrada";
IF(
I2 < H2 - TIME(0; 5; 0);
"Salidaanticipada";
IF(
AND(
NOT(ISBLANK(F2));
NOT(ISBLANK(G2));
VALUE(G2) > VALUE(F2);
VALUE(G2) - VALUE(F2) > TIME(1; 0; 0)
);
"Tiempo comida excessivo";
"Correcto"
)
)
)
)
);
IF(
B2 = "TiempoParcial";
IF(
AND(ISBLANK(E2); ISBLANK(I2));
"Ausenciatotal";
IF(
OR(ISBLANK(E2); ISBLANK(I2));
"FaltanPuntos";
IF(
E2 > D2 + TIME(0; 5; 0);
"Retrasoentrada";
IF(I2 < H2 - TIME(0; 5; 0); "SalidaAnticipada"; "Correcto")
)
)
);
"Correcto"
)
)Je n'ai pas trop regardé la "logique" derrière tout ça, mais je suis sur qu'il y a moyen de faire beaucoup plus simple comme formule. Si vous etes intéressé...
En conservant votre logique, on peut/devrait utiliser IFS. Pas vraiment beaucoup plus court mais selon moi un peu plus lisible et facilement adaptable :
=SWITCH(
B2;
"TiempoCompleto"; IFS(
AND(ISBLANK(VSTACK(E2; F2; G2; I2)));
"AT";
OR(ISBLANK(VSTACK(E2; F2; G2; I2)));
"FP";
E2 > D2 + TIME(0; 5; 0);
"RE";
I2 < H2 - TIME(0; 5; 0);
"SA";
AND(ISBLANK(VSTACK(F2; G2)); G2 - F2 > TIME(1; 0; 0));
"TCE";
TRUE;
"C"
);
; "TiempoParcial"; IFS(
AND(ISBLANK(VSTACK(E2; I2)));
"AT";
OR(ISBLANK(VSTACK(E2; I2)));
"FP";
E2 > D2 + TIME(0; 5; 0);
"RE";
I2 < H2 - TIME(0; 5; 0);
"SA";
TRUE;
"C"
);
)(Remplacez les abréviations par le mot complet)