max/abs
This commit is contained in:
@@ -67,10 +67,18 @@ export const DEFAULT_FUNCTIONS: Record<string, ExcelFunction> = {
|
|||||||
const flatArgs = args.flat()
|
const flatArgs = args.flat()
|
||||||
return flatArgs.filter(val => typeof val === 'number').length
|
return flatArgs.filter(val => typeof val === 'number').length
|
||||||
},
|
},
|
||||||
МАКС: (...args: any[]) => {
|
МАКС: (число1: number, число2: number) => {
|
||||||
const flatArgs = args.flat()
|
// Проверка валидности входных параметров
|
||||||
const validArgs = flatArgs.filter(val => typeof val === 'number')
|
if (typeof число1 !== 'number' || typeof число2 !== 'number') {
|
||||||
return validArgs.length > 0 ? Math.max(...validArgs) : 0
|
return '#ЗНАЧ!' // Ошибка значения
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!isFinite(число1) || !isFinite(число2)) {
|
||||||
|
return '#ЧИСЛО!' // Ошибка числа
|
||||||
|
}
|
||||||
|
|
||||||
|
// Возвращаем максимальное из двух чисел
|
||||||
|
return Math.max(число1, число2)
|
||||||
},
|
},
|
||||||
МИН: (...args: any[]) => {
|
МИН: (...args: any[]) => {
|
||||||
const flatArgs = args.flat()
|
const flatArgs = args.flat()
|
||||||
@@ -138,4 +146,19 @@ export const DEFAULT_FUNCTIONS: Record<string, ExcelFunction> = {
|
|||||||
// Возвращаем квадратный корень
|
// Возвращаем квадратный корень
|
||||||
return Math.sqrt(число)
|
return Math.sqrt(число)
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// Функция модуля числа
|
||||||
|
ABS: (число: number) => {
|
||||||
|
// Проверка валидности входного параметра
|
||||||
|
if (typeof число !== 'number') {
|
||||||
|
return '#ЗНАЧ!' // Ошибка значения
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!isFinite(число)) {
|
||||||
|
return '#ЧИСЛО!' // Ошибка числа
|
||||||
|
}
|
||||||
|
|
||||||
|
// Возвращаем абсолютное значение
|
||||||
|
return Math.abs(число)
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user