Делимое как его исправить

Привет, друзья. Ошибки в Экселе часто пугают новичков, ведь их исправление не всегда понятно и очевидно. Сегодня поговорим об ошибке, #ДЕЛ/0!, которая иногда появляется там, где её совсем не ждёшь.

Эта ошибка возникает, когда ваша формула пытается произвести деление на ноль. Да, в высшей математике такая операция вернёт «бесконечность», а в большинстве языков программирования – Infinity. Но в Экселе это вызовет ошибку, которая «поломает» все связанные расчёты. Давайте рассмотрим основные причины описанного.

Формула ссылается на пустую ячейку, или нулевое значение

Это простейший случай, который очень легко отследить.

В примере на картинке мы видим, что делитель – пустое значение (или ноль). Это могло случиться из-за того, что:

  • Эта ячейка еще не заполнена, но это будет сделано позднее
  • В ячейке правильное значение, равное нулю

Первое, что нужно сделать – проверить, все ли данные правильно внесены в таблицу, ввести или исправить некорректные величины.

Если все данные корректны, ошибку можно обойти с помощью формул, но об этом ниже в статье.

Формула среднего значения без подходящих аргументов

Когда вы пользуетесь функциями расчёта среднего значения СРЗНАЧ, СРЗНАЧЕСЛИ, СРЗНАЧЕСЛИМН, программа суммирует элементы и делит сумму на их количество. При том, если подходящих элементов для суммирования в диапазоне нет, их сумма и количество будет равны нулю, функция вернет #ДЕЛ/0!

В примере выше я попытался посчитать средний показатель Сидорова, но такого человека нет в списке, функция вернула злосчастную ошибку.

Чтобы это исправить, нужно либо проверить список работников на ошибки и добавить Сидорова, либо применять формулы обхода.

Формула ссылается на ячейку, в которой содержится ошибка

Если ваша формула ссылается на ячейку, в которой ошибка #ДЕЛ/0!, она тоже вернёт эту ошибку. Смотрите, на примере:

В ячейке F12 – функция суммирования, там вообще нет никакого деления, но есть ошибка. Внутри диапазона суммирования, в ячейке F5, программа не смогла вычислить среднее значение, что и вызвало «цепное» распространение ошибки. В этом случае, нужно проверить внутренние формулы на предмет корректности, исправить и повторить расчёт.

Обход деления на ноль с помощью функции ЕСЛИ

Сейчас расскажу, как с помощью функций устранить ошибки и сохранить корректность расчёта. Но перед их применением следует убедиться, что ошибки нельзя исправить другими способами.

Применяя функцию ЕСЛИ, можно проверить значение делителя. Вот так:

=ЕСЛИ(делитель=0; 0; делимое/делитель)

Формула проконтролирует значение делителя. Если он нулевой – вернёт ноль. Если нет – отношение делимого к делителю:

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

Перехват с помощью функции ЕСЛИОШИБКА

Вы можете использовать функцию ЕСЛИШИБКА для «отлова» любых ошибок, не только этой. Достаточно обернуть вашу формулу этой функцией:

Если результат выражения – ошибка, функция вернет «значение_если_ошибка». В противном случае, результат вычисления выражения. Вот так:

Всегда с осторожностью используйте формулы и функции отлова ошибок. Они не разбираются, корректны ли исходные данные. Возможно, в таблице опечатка, а вы её не исправите, т.к. не увидите сообщения об ошибке!

Неплохим решением для минимизации неправильного ввода данных будет применение выпадающего списка.

А у меня на этом всё. Если у вас что-то не получается по теме статьи – пишите комментарии с вопросами!

Исправление ошибки #DIV/0! #BUSY!

Ошибка #ДЕЛ/0! возникает в Microsoft Excel, когда число делится на ноль (0). Это происходит, если вы вводите простую формулу, например =5/0, или если формула ссылается на ячейку с 0 или пустую ячейку, как показано на этом рисунке.

Примеры формул, которые вызывают #DIV/0! исчезнут.

Есть несколько способов исправления этой ошибки.

Убедитесь в том, что делитель в функции или формуле не равен нулю и соответствующая ячейка не пуста.

Измените ссылку в формуле, чтобы она указывала на ячейку, не содержащую ноль (0) или пустое значение.

Введите в ячейку, которая используется в формуле в качестве делителя, значение #Н/Д, чтобы изменить результат формулы на #Н/Д, указывая на недоступность делителя.

Во многих случаях это #DIV/0! их можно избежать, поскольку формулы ожидают ввода от вас или другого пользователя. В этом случае сообщение об ошибке отображаться не нужно, поэтому для ее подавления можно использовать несколько способов обработки ошибок.

Оценка знаменателя на наличие нуля или пустого значения

Самый простой способ избавиться от ошибки #ДЕЛ/0! — воспользоваться функцией ЕСЛИ для оценки знаменателя. Если он равен нулю или пустой, в результате вычислений можно отображать значение «0» или не выводить ничего. В противном случае будет вычислен результат формулы.

Например, если ошибка возникает в формуле =A2/A3, можно заменить ее формулой =ЕСЛИ(A3;A2/A3;0), чтобы возвращать 0, или формулой =ЕСЛИ(A3;A2/A3;»»), чтобы возвращать пустую строку. Также можно выводить произвольное сообщение. Пример: =ЕСЛИ(A3;A2/A3;»Ожидается значение.»). Он сообщает Excel ЕСЛИ(существует, то вернуть результат формулы, в противном случае игнорировать ее).

Примеры устранения #DIV/0! исчезнут.

Чтобы подавления этой #DIV/0, используйте #DIV. #BUSY!

Вы также можете скрыть эту ошибку, вложенную операцию деления в функцию ЕСЛИERROR. При использовании A2/A3 можно также использовать =ЕСЛИERROR(A2/A3;0). Он сообщает Excel, если формула возвращает ошибку, возвращается 0, в противном случае возвращается результат формулы.

В версиях до Excel 2007 можно использовать синтаксис ЕСЛИ(ЕОШИБКА()): =ЕСЛИ(ЕОШИБКА(A2/A3);0;A2/A3) (см. статью Функции Е).

Примечание. Как методы ЕСЛИERROR, так и ЕСЛИ(ЕERROR()) — это подавляющие обработчики всех ошибок, а не только #DIV/0!. Прежде чем применять обработку ошибок, убедитесь, что формула работает правильно. В противном случае вы можете не понимать, что формула работает неправильно.

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

У вас есть вопрос об определенной функции?

Помогите нам улучшить Excel

У вас есть предложения по улучшению следующей версии Excel? Если да, ознакомьтесь с темами на портале пользовательских предложений для Excel.

При работе в Excel вы можете столкнуться с ошибкой #ДЕЛ/0, которая значит что вы пытаетесь поделить число на 0, а как вы знаете, делить на 0 нельзя. Исправить эту ошибку в Экселе можно несколькими способами.

Как исправить ошибку #ДЕЛ/0! в Excel

Способ 1. При помощи функции ЕСЛИ

При помощи функции ЕСЛИ() мы сможем обработать ситуацию, при которой числитель равен 0. Синтаксис функции следующий ЕСЛИ(условие; результат при верном значении; результат при неверном значении). В примере выше мы должны проверить, является ли значение в ячейке С4 равно 0, если равно 0, то присваиваем значение «-«, а если нет — то вычисляем значение от деления. Итого формула выглядит так: =ЕСЛИ(C4=0;»-«;C3/C4)

Как исправить ошибку #ДЕЛ/0! в Excel

Способ 2. При помощи функции ЕСЛИОШИБКА

Функция ЕСЛИОШИБКА возвращает заданное значение, если в ячейке ошибка, иначе вычисляет заданную формулу. Синтаксис функции следующий  ЕСЛИОШИБКА(Формула; Значение если ошибка). В нашем случае будет так: =ЕСЛИОШИБКА(C3/C4;»-«)

 

Как исправить ошибку #ДЕЛ/0! в Excel

Спасибо, что прочитали статью. Теперь вы знаете, как исправить ошибку #ДЕЛ/0 в Excel. Есть вопросы — добро пожаловать в комментарии ;)

Изменение частного с изменением делимого и делителя

  • Увеличение или уменьшение делимого
  • Увеличение или уменьшение делителя
  • Основное свойство частного

Увеличение или уменьшение делимого

Если увеличить (или уменьшить) делимое в несколько раз, то частное увеличится (или уменьшится) во столько же раз.

В общем виде: если записать частное в виде равенства

a : b = c,

то изложенное свойство частного можно записать так:

(a · m) : b = c · m

и

(a : m) : b = c : m.

Пример. Возьмём частное двух чисел:  12 : 3 = 4  и проследим, как оно изменится при увеличении или уменьшении делимого в несколько раз. Так, если увеличить делимое, например, в  2  раза, то получится:

(12 · 2) : 3 = 24 : 3 = 8.

Новое частное оказалось больше прежнего в  2  раза. Так оно и должно быть, потому что, если  3  в  12  содержится  4  раза, то  3  в сумме  12 + 12  очевидно содержится  8  раз, т. е. в  2  раза больше, чем оно содержится в  12.

Если уменьшить делимое, например, в  2  раза, то получится:

(12 : 2) : 3 = 6 : 3 = 2.

Новое частное оказалось меньше прежнего в  2  раза, потому что, если  3  в  12  содержится  4  раза, то  3  в  6  содержится  2  раза, т. е. в  2  раза меньше, чем оно содержится в  12.

Следовательно, если увеличить или уменьшить делимое в несколько раз, то частное увеличится или уменьшится во столько же раз.

Увеличение или уменьшение делителя

Если увеличить (или уменьшить) делитель в несколько раз, то частное уменьшится (или увеличится) во столько же раз.

В общем виде: если

a : b = c,

то

a : (b · m) = c : m

и

a : (b : m) = c · m.

Пример. Возьмём частное двух чисел:  24 : 6 = 4  и проследим, как оно изменится при увеличении или уменьшении делителя в несколько раз. Так, если увеличить делитель, например, в  2  раза, то получится:

24 : (6 · 2) = 24 : 12 = 2.

Новое частное оказалось меньше прежнего в  2  раза. Так оно и должно быть, потому что  12  есть произведение  6 · 2,  а чтобы разделить на произведение, можно разделить делимое на первый сомножитель (на  6)  и полученное число  (4)  разделить затем на второй сомножитель (на  2),  отчего оно уменьшится (в  2  раза).

Если уменьшить делитель, например, в  2  раза, то получится:

24 : (6 : 2) = 24 : 3 = 8.

Новое частное оказалось больше прежнего в  2  раза. Так как  6  в  24  содержится  4  раза, а  3  в два раза меньше  6,  то  3,  будучи меньше  6  в  2  раза, будет содержаться в  24  в  2  раза больше, т. е.  8  раз.

Следовательно, если увеличить или уменьшить делитель в несколько раз, то частное увеличится или уменьшится во столько же раз.

Предполагается, что деление совершается без остатка. Если же есть остаток, то частное может измениться иначе, чем было до этого указано.

Пример. Возьмём, например, такое деление:

23 : 5 = 4 (остаток 3),

и увеличим делимое в  3  раза. Получим:

69 : 5 = 13 (остаток 4);

по сравнению с делимым, частное увеличилось более, чем в  3  раза.

Основное свойство частного

Частное не изменится, если делимое и делитель одновременно умножить или разделить на одно и то же число.

Основное свойство частного в общем виде: если

a : b = c,

то

(a · m) : (b · m) = c

и

(a : m) : (b : m) = c.

Пример. Возьмём, например, такое деление:  60 : 15 = 4.  Если увеличить делимое и делитель в  5  раз, то получим:

(60 · 5) : (15 · 5) = 300 : 75 = 4.

Частное не изменилось, потому что от увеличения делимого частное увеличивается, а от увеличения делителя оно уменьшается во столько же раз.

Если уменьшить делимое и делитель в  5  раз, то получим:

(60 : 5) : (15 : 5) = 12 : 3 = 4.

Частное не изменилось, потому что от уменьшения делимого частное уменьшается, а от уменьшения делителя оно увеличивается во столько же раз.

Привет, друзья. Ошибки в Экселе часто пугают новичков, ведь их исправление не всегда понятно и очевидно. Сегодня поговорим об ошибке, #ДЕЛ/0!, которая иногда появляется там, где её совсем не ждёшь.

Эта ошибка возникает, когда ваша формула пытается произвести деление на ноль. Да, в высшей математике такая операция вернёт «бесконечность», а в большинстве языков программирования – Infinity. Но в Экселе это вызовет ошибку, которая «поломает» все связанные расчёты. Давайте рассмотрим основные причины описанного.

Формула ссылается на пустую ячейку, или нулевое значение

Это простейший случай, который очень легко отследить.

В примере на картинке мы видим, что делитель – пустое значение (или ноль). Это могло случиться из-за того, что:

  • Эта ячейка еще не заполнена, но это будет сделано позднее
  • В ячейке правильное значение, равное нулю

Первое, что нужно сделать – проверить, все ли данные правильно внесены в таблицу, ввести или исправить некорректные величины.

Если все данные корректны, ошибку можно обойти с помощью формул, но об этом ниже в статье.

Формула среднего значения без подходящих аргументов

Когда вы пользуетесь функциями расчёта среднего значения СРЗНАЧ, СРЗНАЧЕСЛИ, СРЗНАЧЕСЛИМН, программа суммирует элементы и делит сумму на их количество. При том, если подходящих элементов для суммирования в диапазоне нет, их сумма и количество будет равны нулю, функция вернет #ДЕЛ/0!

В примере выше я попытался посчитать средний показатель Сидорова, но такого человека нет в списке, функция вернула злосчастную ошибку.

Чтобы это исправить, нужно либо проверить список работников на ошибки и добавить Сидорова, либо применять формулы обхода.

Формула ссылается на ячейку, в которой содержится ошибка

Если ваша формула ссылается на ячейку, в которой ошибка #ДЕЛ/0!, она тоже вернёт эту ошибку. Смотрите, на примере:

В ячейке F12 – функция суммирования, там вообще нет никакого деления, но есть ошибка. Внутри диапазона суммирования, в ячейке F5, программа не смогла вычислить среднее значение, что и вызвало «цепное» распространение ошибки. В этом случае, нужно проверить внутренние формулы на предмет корректности, исправить и повторить расчёт.

Обход деления на ноль с помощью функции ЕСЛИ

Сейчас расскажу, как с помощью функций устранить ошибки и сохранить корректность расчёта. Но перед их применением следует убедиться, что ошибки нельзя исправить другими способами.

Применяя функцию ЕСЛИ, можно проверить значение делителя. Вот так:

=ЕСЛИ(делитель=0; 0; делимое/делитель)

Формула проконтролирует значение делителя. Если он нулевой – вернёт ноль. Если нет – отношение делимого к делителю:

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

Перехват с помощью функции ЕСЛИОШИБКА

Вы можете использовать функцию ЕСЛИШИБКА для «отлова» любых ошибок, не только этой. Достаточно обернуть вашу формулу этой функцией:

Если результат выражения – ошибка, функция вернет «значение_если_ошибка». В противном случае, результат вычисления выражения. Вот так:

Всегда с осторожностью используйте формулы и функции отлова ошибок. Они не разбираются, корректны ли исходные данные. Возможно, в таблице опечатка, а вы её не исправите, т.к. не увидите сообщения об ошибке!

Неплохим решением для минимизации неправильного ввода данных будет применение выпадающего списка.

А у меня на этом всё. Если у вас что-то не получается по теме статьи – пишите комментарии с вопросами!

Исправление ошибки #DIV/0! #BUSY!

Ошибка #ДЕЛ/0! возникает в Microsoft Excel, когда число делится на ноль (0). Это происходит, если вы вводите простую формулу, например =5/0, или если формула ссылается на ячейку с 0 или пустую ячейку, как показано на этом рисунке.

Примеры формул, которые вызывают #DIV/0! исчезнут.

Есть несколько способов исправления этой ошибки.

Убедитесь в том, что делитель в функции или формуле не равен нулю и соответствующая ячейка не пуста.

Измените ссылку в формуле, чтобы она указывала на ячейку, не содержащую ноль (0) или пустое значение.

Введите в ячейку, которая используется в формуле в качестве делителя, значение #Н/Д, чтобы изменить результат формулы на #Н/Д, указывая на недоступность делителя.

Во многих случаях это #DIV/0! их можно избежать, поскольку формулы ожидают ввода от вас или другого пользователя. В этом случае сообщение об ошибке отображаться не нужно, поэтому для ее подавления можно использовать несколько способов обработки ошибок.

Оценка знаменателя на наличие нуля или пустого значения

Самый простой способ избавиться от ошибки #ДЕЛ/0! — воспользоваться функцией ЕСЛИ для оценки знаменателя. Если он равен нулю или пустой, в результате вычислений можно отображать значение «0» или не выводить ничего. В противном случае будет вычислен результат формулы.

Например, если ошибка возникает в формуле =A2/A3, можно заменить ее формулой =ЕСЛИ(A3;A2/A3;0), чтобы возвращать 0, или формулой =ЕСЛИ(A3;A2/A3;»»), чтобы возвращать пустую строку. Также можно выводить произвольное сообщение. Пример: =ЕСЛИ(A3;A2/A3;»Ожидается значение.»). Он сообщает Excel ЕСЛИ(существует, то вернуть результат формулы, в противном случае игнорировать ее).

Примеры устранения #DIV/0! исчезнут.

Чтобы подавления этой #DIV/0, используйте #DIV. #BUSY!

Вы также можете скрыть эту ошибку, вложенную операцию деления в функцию ЕСЛИERROR. При использовании A2/A3 можно также использовать =ЕСЛИERROR(A2/A3;0). Он сообщает Excel, если формула возвращает ошибку, возвращается 0, в противном случае возвращается результат формулы.

В версиях до Excel 2007 можно использовать синтаксис ЕСЛИ(ЕОШИБКА()): =ЕСЛИ(ЕОШИБКА(A2/A3);0;A2/A3) (см. статью Функции Е).

Примечание. Как методы ЕСЛИERROR, так и ЕСЛИ(ЕERROR()) — это подавляющие обработчики всех ошибок, а не только #DIV/0!. Прежде чем применять обработку ошибок, убедитесь, что формула работает правильно. В противном случае вы можете не понимать, что формула работает неправильно.

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

У вас есть вопрос об определенной функции?

Помогите нам улучшить Excel

У вас есть предложения по улучшению следующей версии Excel? Если да, ознакомьтесь с темами на портале пользовательских предложений для Excel.

Предположим, мы – программисты. Почему бы не предположить такое? Нам дали задание написать программу, которая выполняет деление в Excel чисел.

Деление в Excel чисел

Содержание:
1. Как осуществляется ввод данных в ячейки Excel
2. Деление в Excel чисел, чтобы A разделить на B
3. Есть ли критические значения в программном коде
4. Об ошибке деления на ноль
5. Ввод буквы вместо цифры — это ошибка?
6. Видео: Деление в Excel двух чисел и ошибки при вводе данных
7. Какие могут быть ошибки при вводе данных
8. Исправление ошибок
9. Функция «ТИП» и проверка типов вводимых данных
10. Итоговая проверка правильности ввода данных
11. Функция «Если» и изменение формулы для деления в Excel
12. Какие можно выводить сообщения об ошибках при вводе данных
13. О роли программистов в кодировании

Деление в Excel чисел: пишем маленькую программу

Наша программа должна быть предназначена для выполнения следующих действий:

  • пользователь (не мы сами, а какой-то «посторонний человек») вводит две цифры A и B;
  • цифры могут быть любыми, положительными, отрицательными, нулевыми, огромными как в плюс, так и в минус. Ограничений на величину вводимых цифр нет;
  • программа, написанная нами, программистами, должна выдать ответ в виде частного от деления A на B;
  • сделать программу нужно в табличном редакторе Microsoft Excel, который позволяет программировать (кодировать) с помощью формул в ячейках таблиц.

Фактически, суть задания – деление в Excel чисел, чтобы получить частное от деления двух чисел друг на друга. Результат деления давайте назовем буквой C. То есть, нам надо запрограммировать довольно простую формулу:

C = A / B

Программируем ввод данных в ячейки Excel

Итак, мы как программисты беремся за дело. Открываем пустую книгу Excel, и видим ряд ячеек, которые пока не заполнены никем (рис. 1). Ячейки ждут нас!

Фрагмент пустой книги Excel

Рис. 1. Фрагмент пустой книги Excel, в которой пока нет ни одной заполненной ячейки.

Мы будем первые, кто начнет заполнять ячейки таблицы цифрами, буквами и формулами. Договоримся (это наше право выбора, поскольку мы являемся программистами, и сами все решаем), что первое число A пользователь будет заносить в ячейку B2. Второе число будет заноситься в ячейку B3. Результат деления A на B должен быть записан в ячейку B4.

Выглядеть это может так, как показано на рисунке 2.

ячейки Excel ввод и вывод результата деления A на B

Рис. 2. Фрагмент книги Excel с ячейками для ввода значений A и B и для вывода результата деления A на B.

На рис. 2 имеются тексты «Введите A:», «Введите B:», «Итог A / B =». Эти тексты введены вручную в соответствующие ячейки A2, A3 иA4. Ячейки B2, B3, B4 дополнительно обведены в рамочку (для наглядности).

Теперь у нашего будущего пользователя пока еще не написанной нами программы (кода) появилась возможность ввести значения A и B в соответствующие ячейки. Допустим, пользователи захотят ввести A=4, B=2.

Мы как программисты, должны попробовать ввести данные за пользователей. Это обязательно. Ведь любую написанную или еще не написанную программу надо попытаться выполнить самому, прежде чем ее предлагать другим людям.

Итак, вводим число 4 в ячейку B2 и вводим число 2 в ячейку B3. Получим результат, как показано на рис. 3.

ввод чисел в ячейки B2 и B3 в Excel

Рис. 3. Результаты ввода чисел 4 и 2 в ячейки B2 и B3 в редакторе Excel.

На этом пока всё. С вводом данных мы, вроде бы, разобрались – данные можно вводить. Первая часть нашего кода, нашей работы закончена. Будем переходить к вычислению частного от деления A на B.

Программируем деление в Excel чисел: A разделить на B

В редакторе таблиц Excel вычисления программируются с помощью формул. Вводить формулы можно прямо в ячейку, куда должен быть помещен результат вычисления. В нашем случае результат должен быть помещен в ячейку B4.

Вводить формулу можно в строку формул. Для этого наверху таблицы есть поле возле характерного значка — fx. На рис. 3 это поле подчеркнуто красной линией. Перед вводом формулы в данное поле, всё равно курсор нужно поместить в ячейку, где должен быть размещен итог вычислений – это ячейка B4.

Сама же формула вычисления достаточно проста. Она выглядит так:

=B2/B3

Написанная формула означает буквально следующее:

  • знак «=» означает, что нужно выполнить вычисление – это своего рода команда табличному редактору Excel: «вычислить!» или «выполнить!».
  • B2 означает, что делимое нужно взять из ячейки B
  • Знак «/» обозначает операцию деления. Символ «/» — это знак деления в Excel.
  • B3 означает, что делитель нужно взять из ячейки B

Итак, вводим формулу в ячейку B4 (рис. 4):

Вводим формулу в ячейку Excel

Рис. 4. Ввод формулы =B2/B3 в ячейку B4 таблицы Excel.

Чтобы в ячейке B4 появился итог вычислений, а не сама формула, нужно нажать на клавишу Enter (Ввод) после окончания ввода формулы. Тогда вместо формулы мы увидим результаты деления числа 4 на число 2, который равен 2 (рис. 5):

Демонстрация в ячейке B4 результата деления

Рис. 5. Демонстрация в ячейке B4 результата деления числа 4 из ячейки B2 на число 2 из ячейки B3.

Для наглядности текст «Итог A / B =» в ячейке A4 выделим жирным шрифтом, так как это результат работы нашей программы (кода). Выделим жирным шрифтом результат, который выводится в ячейке B4. Ячейку B4 дополнительно закрасим желтым цветом – тоже для наглядности.

Вроде бы, мы завершили программирование согласно данному заданию. Но так ли это? Давайте посмотрим на результаты (рис. 5) более критически. Результат, конечно, есть. Но можно ли данную программу отдать другому человеку, чтобы он работал с ней?..

Проверка критических значений в программе

Что будет, если поменять значения в ячейках B2 и B3 нашей небольшой программы? Скажем, вместо 4 и 2 поставить 12 и 3.

Зачем менять значения? Дело в том, что мы пишем программу не для себя, а для других пользователей. Мы ведь программисты, вернее, мы представляем себя на месте программистов. Но ведь другой пользователь может ввести в B2 и B3 совсем другие числа.

Итак, пробуем наш код с числами 12 и 3. Получаем закономерный результат деления 12 на 3, равный 4 (рис. 6).

Пример подстановки в ячейки B2 и B3 чисел

Рис. 6. Пример подстановки в ячейки B2 и B3 чисел 12 и 3. Получается закономерный результат деления 12 на 3 равный 4 в ячейке B4.

Получается, что мы написали хорошую работающую программу? И ее можно спокойно отдавать другим пользователям в работу? Ладно, а если пользователь введет еще другую пару чисел? Как проверить, что программа будет работать при любых значениях? Перебирать все возможные варианты? Но ведь их число – бесконечное!..

Об ошибке при делении на ноль в Excel

Конечно, не надо подставлять все возможные значения A и B в ячейки B2 и B3. Жизни не хватит, чтобы перепробовать все варианты. Нужно пробовать испытывать код на так называемых критических значениях. Что это такое? Это – нулевые, максимальные, минимальные значения или попросту ошибочные значения.

Для начала подставим ноль в ячейки B3 (рис. 7):

Подстановка в ячейку нуля

Рис. 7. Пример подстановки в ячейку B3 нулевого значения. В итоге выводится сообщение об ошибке деления на ноль.

Получим… ошибку!!! Программа не работает! Почему? Потому что на ноль делить нельзя – это правило арифметики чуть ли не из начальной школы.

Можно ли оставить программу в таком виде? Пусть пользователь введет нули, или один ноль в ячейку B3, и тогда он увидит сообщение об ошибке. Но ведь тут «виноват» не программист, а сам пользователь – зачем вводить ноль в качестве делителя?!

Ошибочный ввод букв вместо цифр

Допустим, пользователь ввел 12 в ячейку A2. Но из-за плохого знания клавиатуры или просто из-за невнимательности, предположим, он введет вместо тройки в ячейку B3 русскую букву «З».

Буква «З» похожа на цифру «3». Получится уже другая ошибка – ошибка неправильного ввода значений в ячейки B2 или B3 (рис. 8):

неправильный ввод в ячейку вместо цифры введена буква

Рис. 8. Пример неправильного ввода в ячейку B3 – вместо цифры «3» введена русская буква «З». В итоге в ячейке B4 видим ошибку ввода неправильных значений.

Видео: Деление в Excel двух чисел и работа над ошибками при вводе данных

Другие возможные ошибочные варианты ввода данных

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

Например, в Excel можно иной раз вместо чисел ненароком ввести даты (числа, месяцы, годы). Внешне даты могут быть похожи на обычные цифры. Скажем, число 1.1 иной раз может быть интерпретировано как 1 января 1900 года. Такая дата автоматически преобразуется в странное число 44197 – это число дней, прошедших с какой-то древней даты.

Excel может использовать странное число 44197 вместо подставленного числа 1.1 при вычислениях, давая совершенно непредсказуемые результаты. Ведь 1.1 и 44197 – это совсем разные числа, не правда ли?

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

Работа над ошибками при вводе данных в Excel

С работы над возможными ошибками начинается то, что можно назвать «искусство программирования». Воспользоваться синтаксисом и семантикой языка программирования, принятого в редакторе Excel, не так уж сложно. Это показано выше и является всего лишь ремеслом: делай по инструкции, и получишь подобие результата.

А вот добиться того, чтобы программа работала верно при любых введенных значениях – это и есть искусство, которое требуется осваивать, порой, долгим и всегда упорным трудом. Покажем далее, как занимаются искусством программирования на нашем небольшом примере деления в Excel двух чисел одно на другое.

Приступим к устранению ошибки неправильного ввода букв вместо цифр в нашей программе. Это необходимо, чтобы программа работала только с верным результатом. Начнем с того, что проверим, что за значения вводит «дорогой наш» пользователь? Проверку выполним в соседних с B2 и B3 ячейках С2 и C3.

Функция ТИП для проверки типов данных, введенных пользователем

Что может ввести пользователь неправильно? Он может вместо чисел ввести в ячейки B2 и B3 не числовые значения. Проверить, что ввел пользователь, можно с помощью экселевской функции ТИП. Эта функция выдает значение 1, если в проверяемой ячейке записано число. Но если в проверяемую ячейку вводится не число, то функция даст другой результат, например, 2, 4, 16, 32 и тому подобное.

Начнем предупреждать возможные ошибки при вводе данных в Excel.

Введем в ячейку C2 формулу =ТИП(B2), а в ячейку C3 запишем формулу =ТИП(B3).

Формулы позволят нам пока визуально, глазами увидеть, ввел ли пользователь в ячейки B2 и B3 числа, или там введены какие-то другие значения (рис. 9):

ввод функций ТИП в ячейки Excel

Рис. 9. Пример ввода проверочных функций ТИП в ячейки С2 и C3 для определения ввода чисел или иных значений в ячейки B2 и B3.

Наглядно видим, что в ячейке B2 введено число, потому что результат выполнения функции =ТИП(B2) равен 1.

Но в ячейке B3 явно введено не число, так как результат выполнения функции =ТИП(B3) равен 2, а не 1. Вот тут-то и закралась ошибка ввода данных!

И как же теперь быть? Получается, что Excel по нашей формуле «честно» разделил 12 на непонятно что. Ведь буква З («зе») только внешне похожа на цифру 3 («три»), а на самом деле это совсем не цифра и не число.

Автоматическое определение правильности ввода данных пользователем

Как будем действовать дальше? Давайте сложим числа в ячейках C2 и C3. А результат поместим в ячейку C4, справа от выделенного желтым цветом итогового результата вычислений в B4. Получим, очевидно, итог равный 3 (рис. 10):

Сложение результатов определения типов данных

Рис. 10. Сложение результатов определения типов данных, введенных в ячейки B2 и B3. Итоговый результат должен быть 2, что означало бы, что в B2 и B3 введены числа, а не иные значения.

Получается, что мы, как программисты, можем выводить в ячейку B4, окрашенную желтым цветом, результат вычисления =B2/B3, только в том случае, если в ячейке C4 стоит значение 2.

У нас на рисунке 12 в С4 получилось другое значение — 3. А в ячейке В4 записано сообщение об ошибке #ЗНАЧ!. Это потому, что в ячейке B3 было введено неправильное число, что и привело к неверному ошибочному результату.

Функция «Если» для изменения формулы для деления в Excel

Выходит, что надо менять формулу в ячейке B4. Что там было записано? Деление B2 на B3, то есть там была формула =B2/B3. А что надо написать? Давайте попробуем разобраться:

  • Мы можем в ячейку B4 записать формулу =B2/B3 только в том случае, если в ячейке C4 стоит число 2.
  • Если же в ячейке C4 не стоит число 2, то в ячейке B4 нельзя выводить результат, поскольку он будет неверным и введет в заблуждение пользователя нашей программы (именно такой неверный результат мы видим на рис. 9)

Для таких сложных случаев в Excel есть функция ЕСЛИ. С помощью ЕСЛИ мы сможем разделить результат вычисления в ячейке B4 на 2 ветки:

  1. что делать, ЕСЛИ в C4 стоит число 2, и
  2. что делать, ЕСЛИ в C4 записано другое число.

Итак, записываем в ячейку B4 следующую формулу:

=ЕСЛИ(C4=2;B2/B2;”Ошибка”)

Кратко суть формулы, то есть, как она работает. Если в ячейке C4 стоит число 2, то результатом в B4 станет частное от деления B2 на B3. В любом другом случае в ячейке B4 появится текст «Ошибка» (без кавычек).

Давайте введем формулу в ячейку B4 и посмотрим на результат (рис. 11):

Изменение формулы в ячейке Excel

Рис. 11. Изменение формулы в ячейке B4 с тем, чтобы туда попадало частное от деления B2 на B3 только при условии, что в ячейке C4 записана «двойка» 2. Это в свою очередь означает, что в ячейках B2 и B3 введены правильные данные, введены числа, а не что-то другое.

Теперь наглядно видно, что в результате ввода числа12 и буквы З («зе») вместо «тройки» 3, пользователь нашей программы НЕ получит частное от деления 12 на 3. Выйдет предупреждающее сообщение об ошибке – слово «Ошибка».

Выбор вариантов написания диагностических сообщений о неправильном вводе данных

Вместо слова «Ошибка» мы могли бы написать что-то другое в формуле в ячейке B4. Скажем, можно написать: «Проверьте правильность ввода данных в ячейки B2 и B3». Это уже дело вкуса и тех задач, которые стоят перед программистом.

Мы в данном примере ограничились сообщением «Ошибка» из-за лаконичности сообщения – коротко и ясно, что «Что-то пошло не так!».

Пользователь, увидев диагностическое сообщение, попытается исправить ошибку. Теперь он введет в ячейку B3 не букву З («зе»), а настоящую тройку 3. И тогда – пожалуйста, вот он, точный результат деления 12 на 3 (рис. 12):

деление в Excel чисел Правильный ввод данных

Рис. 12. Пример правильного ввода данных в ячейки B2 и B3 для получения правильного результат в ячейке B4. В проверочных ячейках C2 и C3 стоят только «единички» 1.

Легко ли быть программистом

Примерно так, как описано в этой статье, программистам приходится работать над ВСЕМИ формулами (над мнемоническими программными кодами). Чтобы программа выдавала верные результаты при любом раскладе, при любых действиях пользователей. Иначе программа может выдать неверные результаты, вводящие в заблуждение, а это недопустимо.

Программы, программный код, как правило, весьма объемный. Это могут быть сотни тысяч ячеек с формулами. Формулы (программные коды) должны работать правильно при любых вариантах ввода данных.

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

Поэтому проверка данных, их коррекция там, где это возможно, занимают у программистов львиную долю времени. Написать сразу правильный код (например, формулы, как показано в данной статье) – это не самое сложное в работе программистов.

Намного сложнее написать ПРАВИЛЬНЫЙ код, который может работать даже при НЕПРАВИЛЬНЫХ данных. Вот что отнимает время и вынуждает вести разработки намного дольше, чем может показаться в самом начале.

Тернии на пути программистов к конечному результату

Выше был приведен пример программирования (кодирования) для простого деления в Excel чисел C=A/B. В этом примере нам понадобилось изменить простой код на более сложный, а также добавить несколько дополнительных проверочных данных. При этом мы даже не подступили к решению задачи о том, что делать, если придется делить на ноль.

Мы рассмотрели только вопрос замены цифр на похожие буквы. Значит, на очереди – противодействие ошибке деления на ноль. Этот проверочный и корректирующий код тоже надо бы написать.

Кроме того, нам, возможно, понадобится еще поработать над вопросами автоматического превращения чисел от 1.1 до 12.12 в даты от 1 января 1900 года до 12 декабря 1900 года. Это тоже, вообще-то серьезная проблема.

Мы к тому же не проверяли, как ведет себя наш код при работе с отрицательными числами. Не проверяли его на работу с очень большими числами, которые записываются в экспоненциальном виде.

Мы не смотрели, что покажет нам код, если некоторое значение разделить не на ноль, но на число, которое очень близко к нулю. Результат такого деления будет огромен, и неизвестно, поместится ли он в ячейку B4, и как он там будет выглядеть.

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

А если работа сделана – можно порадоваться и получить несказанное удовлетворение и удовольствие от полученного результата. Каждая завершенная программа есть уверенная победа программиста на пути собственного совершенствования и постепенного превращения в незаменимого высокопрофессионального специалиста.

Другие материалы:

1. Как определить срок покупки железнодорожных билетов с помощью Microsoft Excel

2. Сравнение возможностей Word и Excel для работы с таблицами

3. Извлечение фамилии из ФИО в Excel: способ перевода на язык цифр

4. Что такое переменная с индексами, массив, комментарий, цикл и счетчик в программировании на конкретном примере

5. Про использование английского языка в программировании

Получайте новые статьи по компьютерной грамотности на ваш почтовый ящик:

Необходимо подтвердить подписку в своей почте. Спасибо!

Понравилась статья? Поделить с друзьями:
  • Маска с бородой в инстаграм как найти
  • Как найти корень глагола
  • Ведьмак как найти бестиарий
  • Ошибка в имени в снилс как исправить
  • Как найти длину стен в квартире