diff --git a/src/feature/excelEngine/functions.ts b/src/feature/excelEngine/functions.ts index 69b79d5..ec04bb7 100644 --- a/src/feature/excelEngine/functions.ts +++ b/src/feature/excelEngine/functions.ts @@ -67,10 +67,18 @@ export const DEFAULT_FUNCTIONS: Record = { const flatArgs = args.flat() return flatArgs.filter(val => typeof val === 'number').length }, - МАКС: (...args: any[]) => { - const flatArgs = args.flat() - const validArgs = flatArgs.filter(val => typeof val === 'number') - return validArgs.length > 0 ? Math.max(...validArgs) : 0 + МАКС: (число1: number, число2: number) => { + // Проверка валидности входных параметров + if (typeof число1 !== 'number' || typeof число2 !== 'number') { + return '#ЗНАЧ!' // Ошибка значения + } + + if (!isFinite(число1) || !isFinite(число2)) { + return '#ЧИСЛО!' // Ошибка числа + } + + // Возвращаем максимальное из двух чисел + return Math.max(число1, число2) }, МИН: (...args: any[]) => { const flatArgs = args.flat() @@ -138,4 +146,19 @@ export const DEFAULT_FUNCTIONS: Record = { // Возвращаем квадратный корень return Math.sqrt(число) }, + + // Функция модуля числа + ABS: (число: number) => { + // Проверка валидности входного параметра + if (typeof число !== 'number') { + return '#ЗНАЧ!' // Ошибка значения + } + + if (!isFinite(число)) { + return '#ЧИСЛО!' // Ошибка числа + } + + // Возвращаем абсолютное значение + return Math.abs(число) + }, }