Ваша оригинальная формула, без обработки ошибок, может быть введена как обычно.Это не требует Ctl + Shift + Enter.Также он не может выдавать ошибку #NUM, потому что функции SUM () и SUMPRODUCT () интерпретируют нечисловые значения как ноль.Поэтому, если вы получите ошибку #NUM, эта ошибка будет создана формулами в диапазоне R2: W2.Вы должны ввести обработку ошибок там, а не в формулу, которую мы здесь рассматриваем.
Формула здесь - это ваша первая, оригинальная формула - выдаст ошибку деления на ноль, если SUM (R2: T2) равеннуль.=IFERROR(SUMPRODUCT(R2:T2,U2:W2)/SUM(R2:T2),0)
вернет ноль в случае такой ошибки.Вы можете изменить формулу на что-то вроде =IFERROR(SUMPRODUCT(R2:T2,U2:W2)/SUM(R2:T2),"ERROR")
, если хотите.
Этот тип обработчика ошибок вступит в силу также, если необработанная ошибка унаследована от R2: W2.Я рекомендую обрабатывать ошибки там, где они возникают, но если вы хотите использовать более конкретный обработчик ошибок в формуле, которую мы здесь просматриваем, приведенная ниже формула пропустит импортированные ошибки #NUM и будет обрабатывать только ошибки #DIV BY ZERO, созданные по этой формуле.,=SUMPRODUCT(R3:T3,U3:W3)/IF(SUM(R3:T3),SUM(R3:T3),1)
Эта формула делит результат функции SUMPRODUCT () на 1, если SUM (R3: T3) равно нулю.Это возвращает результат по формуле 0, потому что часть SUMPRODUCT будет возвращать ноль (если она не наследует ошибку #NUM).