Calcul D Argument Dans Une Fonction Si

Calcul d’argument dans une fonction SI

Simulez instantanément une formule de type SI, testez une condition logique, comparez deux valeurs et visualisez le résultat final. Cet outil est conçu pour aider à comprendre les arguments d’une fonction SI dans Excel, Google Sheets ou tout environnement de logique conditionnelle.

Exemple : note, montant, quantité ou score à tester.
Choisissez la comparaison à appliquer dans l’argument logique.
Seuil, borne, objectif ou référence de comparaison.
Affichez un nombre ou une étiquette selon l’issue du test.
Exemple : “Admis”, “Oui”, “Prime accordée” ou un montant.
Exemple : “Refusé”, “Non”, “Aucune prime” ou un montant.
/g, '>') .replace(/"/g, '"') .replace(/'/g, '''); } function wpcFormatForFormula(value, type) { if (type === 'number') { var num = parseFloat(value); return isNaN(num) ? '0' : String(num); } return '"' + String(value).replace(/"/g, '""') + '"'; } function wpcEvaluateCondition(left, operator, right) { if (operator === '>') return left > right; if (operator === '<') return left < right; if (operator === '>=') return left >= right; if (operator === '<=') return left <= right; if (operator === '==') return left === right; if (operator === '!=') return left !== right; return false; } function wpcReadableOperator(operator) { if (operator === '==') return '='; if (operator === '!=') return '<>'; return operator; } function wpcUpdateFormulaPreview() { var left = parseFloat(wpcLeftValue.value); var right = parseFloat(wpcRightValue.value); var type = wpcResultType.value; var trueVal = wpcTrueValue.value; var falseVal = wpcFalseValue.value; var leftText = isNaN(left) ? '0' : String(left); var rightText = isNaN(right) ? '0' : String(right); var opText = wpcReadableOperator(wpcOperator.value); wpcFormulaPreview.value = '=SI(' + leftText + opText + rightText + ';' + wpcFormatForFormula(trueVal, type) + ';' + wpcFormatForFormula(falseVal, type) + ')'; } function wpcRenderChart(left, right, resultNumeric) { if (wpcChartInstance) { wpcChartInstance.destroy(); } wpcChartInstance = new Chart(wpcChartCanvas, { type: 'bar', data: { labels: ['Valeur testée', 'Seuil de comparaison', 'Résultat numérique'], datasets: [{ label: 'Analyse SI', data: [left, right, resultNumeric], backgroundColor: ['#2563eb', '#0ea5e9', '#14b8a6'], borderColor: ['#1d4ed8', '#0284c7', '#0f766e'], borderWidth: 1.5, borderRadius: 10 }] }, options: { responsive: true, maintainAspectRatio: false, scales: { y: { beginAtZero: true, ticks: { color: '#475569' }, grid: { color: '#e2e8f0' } }, x: { ticks: { color: '#475569' }, grid: { display: false } } }, plugins: { legend: { labels: { color: '#0f172a' } }, tooltip: { backgroundColor: '#0f172a', titleColor: '#ffffff', bodyColor: '#ffffff' } } } }); } function wpcCalculate() { var left = parseFloat(wpcLeftValue.value); var right = parseFloat(wpcRightValue.value); var operator = wpcOperator.value; var type = wpcResultType.value; var trueInput = wpcTrueValue.value; var falseInput = wpcFalseValue.value; if (isNaN(left) || isNaN(right)) { wpcResults.innerHTML = '

Résultat

Veuillez saisir des valeurs numériques valides pour la comparaison.

'; return; } var condition = wpcEvaluateCondition(left, operator, right); var chosenRaw = condition ? trueInput : falseInput; var chosenValue = chosenRaw; var resultNumeric = 0; if (type === 'number') { var parsed = parseFloat(chosenRaw); chosenValue = isNaN(parsed) ? 0 : parsed; resultNumeric = Number(chosenValue); } else { resultNumeric = condition ? 1 : 0; } var ecart = left - right; var badgeText = condition ? 'Condition vraie' : 'Condition fausse'; var badgeColor = condition ? '#dcfce7' : '#fee2e2'; var badgeTextColor = condition ? '#166534' : '#b91c1c'; wpcResults.innerHTML = '

Résultat de la fonction SI

' + '' + wpcEscapeHtml(badgeText) + '' + '
' + '
' + 'Test logique' + '
' + wpcEscapeHtml(String(left) + ' ' + wpcReadableOperator(operator) + ' ' + String(right)) + '
' + '
' + '
' + 'Branche activée' + '
' + (condition ? 'Valeur si VRAI' : 'Valeur si FAUX') + '
' + '
' + '
' + 'Résultat retourné' + '
' + wpcEscapeHtml(String(chosenValue)) + '
' + '
' + '
' + '
' + 'La formule évaluée retourne ' + wpcEscapeHtml(String(chosenValue)) + ' car le test ' + wpcEscapeHtml(String(left) + ' ' + wpcReadableOperator(operator) + ' ' + String(right)) + ' est ' + (condition ? 'vrai' : 'faux') + '. Écart entre les deux valeurs : ' + wpcEscapeHtml(ecart.toFixed(2)) + '.' + '
'; wpcRenderChart(left, right, resultNumeric); } function wpcReset() { wpcLeftValue.value = '75'; wpcRightValue.value = '60'; wpcOperator.value = '>='; wpcResultType.value = 'text'; wpcTrueValue.value = 'Admis'; wpcFalseValue.value = 'Refusé'; wpcUpdateFormulaPreview(); wpcResults.innerHTML = '

Résultat

Renseignez vos valeurs puis cliquez sur « Calculer ».

'; wpcRenderChart(75, 60, 1); } [wpcLeftValue, wpcRightValue, wpcOperator, wpcResultType, wpcTrueValue, wpcFalseValue].forEach(function (element) { element.addEventListener('input', wpcUpdateFormulaPreview); element.addEventListener('change', wpcUpdateFormulaPreview); }); wpcCalculateBtn.addEventListener('click', wpcCalculate); wpcResetBtn.addEventListener('click', wpcReset); wpcUpdateFormulaPreview(); wpcRenderChart(75, 60, 1); })();

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top