1

Скажем, ячейка A1 содержит определенное значение, а в ячейке A2 имеется среднее значение некоторых ячеек.

Я хочу, чтобы ячейка B2 (в которой должна существовать формула) отображала текст "Err", когда A2 - A1> = 0,7, а в противном случае "OK".

Я попробовал следующее без какой-либо удачи:

=IF(A2-A1>=0.5, "ERR", "OK")

РЕДАКТИРОВАТЬ:

Основываясь на ответе @mistersuraj, я создал следующую формулу:

=IF(( (A2-A1)>=0,7 );"ERR";"OK")`

Excel не будет отображать никаких ошибок, но он всегда будет показывать OK даже если должен отображаться ERR .

2 ответа2

0

Возможно, одно из ваших значений - это число, хранящееся в виде текста, поэтому вычитание не работает. Вы можете попытаться преобразовать каждое значение в число перед вычитанием, например так:

= IF((A2+0)-(A1+0)> = 0,5, "ERR", "OK")

Добавление 0 к числу, сохраненному в виде текста, преобразует его в число, а операции сложения и вычитания не возвращают ошибку.

Редактировать.

Ваша таблица выглядит следующим образом:

Формула в ячейке I3 вычисляет среднее значение ячеек от A3 до G25, что, кстати, вы можете сделать намного эффективнее с =AVERAGE(A4:G4) , а не ссылаться на каждую строку, как вы делаете (=AVERAGE(A3:G3,A4:G4,A5:G5,A6:G6,A7:G7,....))

Похоже, что в столбце J вы хотите сравнить значение столбца H в каждой строке со средним значением, которое находится в J3. Вы начинаете с формулы в J3

=IF(( (I3-H3)>=0.7 ),"ERR","OK")

Когда вы копируете это, ссылки будут адаптироваться к текущей строке, поэтому в строке 4 формула гласит:

=IF(( (I4-H4)>=0.7 ),"ERR","OK")

Теперь H4 имеет значение, но I4 пусто. Это сделает вычитание I4-H4 отрицательным числом, поэтому оператор IF возвращает ложную часть, то есть текст "ОК". Я спросил вас в комментарии, каков был результат вычитания. Это важная часть в устранении неполадок. Вы должны проверить свои значения, когда вы получите неожиданные результаты.

Если вы хотите продолжать использовать текущую формулу, вам нужно будет скопировать формулу усреднения вниз, чтобы она была в каждой строке. Помните, что вам нужно изменить ссылки в функции Average на абсолютные, поэтому номера строк остаются неизменными при копировании формулы.

Или вы можете изменить свою формулу так, чтобы она всегда относилась к I3, даже если она скопирована.

Это может быть достигнуто путем изменения I3 от абсолютного эталона с

=IF(( ($I$3-H3)>=0.7 ),"ERR","OK")

Затем скопируйте вниз. Результат на скриншоте. В строке 4 формула будет читать

=IF(( ($I$3-H4)>=0.7 ),"ERR","OK")

так, это ссылается на H4 и все еще I3.

Вам нужно узнать, что делает знак $ в формуле, и понять разницу между абсолютными и относительными ссылками и почему это важно при копировании формул.

-1

Кажется, вы делаете ошибку в условной части выражения. Это должно быть что-то вроде этого:

= IF( ((A2-A1)> = 0,5), "ERR", "OK")

Эта ссылка может быть полезна: Использование оператора IF в MS Excel

Мое предложение добавить скобки () было просто для подтверждения порядка старшинства. Таким образом, выражение в скобках будет работать в блоках, хотя оно будет работать без скобок и в случае простого выражения.

@teylyn: Я думаю, что ваше выражение правильное и дает правильные результаты. Ваше выражение вернет ERR, когда условие ИСТИНА, и OK, если условие ложно

Поэтому, пожалуйста, подумайте сами

  1. Вы хотите показать ERR, когда ваше состояние TRUE
  2. Вы хотите показать ОК, когда ваше состояние ЛОЖЬ

Кроме того, вы можете использовать функцию ROUNDUP((A2-A1), 2)> = 0.5 в выражении для автоматического форматирования результата выражения.

Базовое изображение:

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .