Вычисление разницы в Microsoft Excel - TurboComputer.ru
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд (пока оценок нет)
Загрузка...

Вычисление разницы в Microsoft Excel

Вычисление разности двух дат

В этом курсе:

Используйте функцию РАЗНДАТ, если требуется вычислить разницу между двумя датами. Сначала введите дату начала в ячейку и дату окончания в другой. Затем введите формулу, например одну из указанных ниже.

Предупреждение: Если значение нач_дата больше значения кон_дата, возникнет ошибка #ЧИСЛО!

Разница в днях

В этом примере Дата начала находится в ячейке D9, а Дата окончания — в E9. Формула будет показана на F9. “D” возвращает число полных дней между двумя датами.

Разница в неделях

В этом примере Дата начала находится в ячейке D13, а Дата окончания — в E13. “D” возвращает число дней. Но обратите внимание на то, что в конце есть /7 . Это делит количество дней на 7, так как в неделю есть 7 дней. Обратите внимание, что этот результат также необходимо отформатировать как число. Нажмите клавиши CTRL + 1. Затем щелкните число ,> десятичных разрядов: 2.

Разница в месяцах

В этом примере Дата начала находится в ячейке D5, а Дата окончания — в ячейку “вниз”. В формуле “м” возвращает число полных месяцев между двумя днями.

Разница в годах

В этом примере Дата начала находится в ячейке D2, а Дата окончания — в E2. “Y” возвращает число полных лет между двумя днями.

Вычисление возраста в накопленных годах, месяцах и днях

Вы также можете рассчитать возраст или время обслуживания других пользователей. Результат может быть похож на “2 года”, “4 месяца”, “5 дней” “.

1. Используйте РАЗНДАТ для поиска общего числа лет.

В этом примере Дата начала находится в ячейке D17, а Дата окончания — в E17. В формуле “y” возвращает число полных лет между двумя днями.

2. для поиска месяцев используйте РАЗНДАТ еще раз, указав “ГМ”.

В другой ячейке используйте формулу РАЗНДАТ с параметром “ГМ” . “ГМ” возвращает число оставшихся месяцев после последнего полного года.

3. Используйте другую формулу для поиска дней.

Теперь нужно найти количество оставшихся дней. Это можно сделать, написав формулу другого типа, показанную выше. Эта формула вычитает первый день окончания месяца (01.05.2016) из исходной даты окончания в ячейке E17 (06.05.2016). Вот как это делается: сначала функция ДАТА создает дату 01.05.2016. Она создается с помощью года в ячейке E17 и месяца в ячейке E17. 1 обозначает первый день месяца. Результатом функции ДАТА будет 01.05.2016. Затем мы вычитаем эту дату из исходной даты окончания в ячейке E17 (06.05.2016), в результате чего получается 5 дней.

Предупреждение: Мы не рекомендуем использовать аргумент РАЗНДАТ “MD”, так как он может вычислять неверные результаты.

4. необязательно: Объедините три формулы в одну.

Вы можете разместить все три вычисления в одной ячейке, как показано в этом примере. Использование амперсандов, кавычек и текста. Это более длинная формула для ввода, но по крайней мере все это в одной из них. Совет. Нажмите клавиши ALT + ВВОД, чтобы разместить разрывы строк в формуле. Это упрощает чтение. Кроме того, если вы не видите формулу целиком, нажмите клавиши CTRL + SHIFT + U.

Скачивание примеров

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

Другие расчеты даты и времени

Как показано выше, функция РАЗНДАТ вычисляет разницу между датой начала и конечной датой. Однако вместо ввода определенных дат можно также использовать функцию Today () в формуле. При использовании функции TODAY () Excel использует текущую дату на компьютере. Имейте в виду, что при повторном открытии файла в будущем этот файл изменится.

Обратите внимание на то, что на момент написания статьи день – 6 октября 2016 г.

Используйте ЧИСТРАБДНИ. INTL, если требуется вычислить количество рабочих дней между двумя датами. Кроме того, вы можете также исключить выходные и праздничные дни.

Прежде чем начать, выполните указанные ниже действия.Решите, нужно ли исключить даты праздников. Если это так, введите список дат праздников в отдельную область или на лист. Каждый день праздников помещается в отдельную ячейку. Затем выделите эти ячейки, а затем выберите формулы > задать имя. Назовите диапазон михолидайси нажмите кнопку ОК. Затем создайте формулу, выполнив указанные ниже действия.

1. Введите дату начала и дату окончания.

В этом примере Дата начала находится в ячейке D53, а Дата окончания — в ячейке E53.

2. в другой ячейке введите формулу, например:

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

Примечание. в Excel 2007 нет ЧИСТРАБДНИ. МЕЖД. Однако у него есть ЧИСТРАБДНИ. Приведенный выше пример будет выглядеть следующим образом в Excel 2007: = ЧИСТРАБДНИ (D53, E53). Вы не укажете 1, так как ЧИСТРАБДНИ предполагает, что выходные дни — суббота и воскресенье.

3. при необходимости измените значение 1.

Если Суббота и воскресенье не являются выходными днями, измените значение 1 на другой в списке IntelliSense. Например, 2 устанавливает воскресенье и понедельник в выходные дни.

Если вы используете Excel 2007, пропустите этот шаг. Функция ЧИСТРАБДНИ в Excel 2007 всегда предполагает, что выходные дни — суббота и воскресенье.

4. Введите имя диапазона праздников.

Если вы создали имя диапазона праздников в приведенном выше разделе “Начало работы”, введите его в конце, как показано ниже. Если у тебя нет праздников, вы можете покинуть запятую и Михолидайс. Если вы используете Excel 2007, вышеприведенный пример будет выглядеть следующим образом: = ЧИСТРАБДНИ (D53, E53, михолидайс).

ПероЕсли вы не хотите ссылаться на имя диапазона праздников, вы также можете ввести диапазон, например D35: E:39. Кроме того, вы можете ввести каждый праздник в формуле. Например, если праздничные дни – 1 января и 2 из 2016, введите их следующим образом: = ЧИСТРАБДНИ. Межд (D53, E53, 1, <"1/1/2016", "1/2/2016">). В Excel 2007 оно будет выглядеть следующим образом: = ЧИСТРАБДНИ (D53, E53, <"1/1/2016", "1/2. 2016″>)

Чтобы вычислить затраченное время, можно вычесть один раз из другого. Сначала введите время начала в ячейке и время окончания в другой. Убедитесь в том, что все время, в том числе часы, минуты и пробелы, заполните до полудня или PM. Вот что нужно для этого сделать:

1. Введите время начала и время окончания.

В этом примере время начала находится в ячейке D80, а время окончания — в E80. Убедитесь, что вводите часы, минуты и пробелы перед символами AM и PM.

2. Установите формат ч/PM.

Выберите обе даты и нажмите клавиши CTRL + 1 (или + 1 на компьютере Mac). Убедитесь, что выбрано значение ” настраиваемый > ч. д., если оно еще не задано.

3. вычитание двух значений.

В другой ячейке вычитаете начальную ячейку из ячейки “время окончания”.

4. Задайте формат ч.

Нажмите клавиши CTRL+1 (или +1 на Mac). Выберите “пользовательские >”, чтобы исключить из него результаты “AM” и “PM”.

Чтобы вычислить время между двумя датами и временем, вы можете просто вычесть один из них. Однако вы должны применить форматирование к каждой ячейке, чтобы убедиться, что Excel возвращает нужный результат.

1. Введите два полных значения даты и времени.

В одной ячейке введите дату и время начала. В другой ячейке введите дату и время полного окончания. Каждая ячейка должна иметь месяц, день, год, час, минуту и пробел до полудня или PM.

2. Задайте формат 3/14/12 1:30 PM.

Выберите обе ячейки, а затем нажмите клавиши CTRL + 1 (или + 1 на компьютере Mac). Затем выберите дата > 3/14/12 1:30 PM. Это не Дата, которую вы настроили, а вот только пример того, как будет выглядеть формат. Обратите внимание, что в версиях до Excel 2016 этот формат может иметь другой образец даты, например 3/14/ 01 1:30 PM.

3. вычитание двух значений.

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

4. Задайте формат [h]: мм.

Нажмите клавиши CTRL+1 (или +1 на Mac). Выберите пункт (все форматы). В поле тип введите [h]: мм.

Статьи по теме

Примечание: Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Была ли информация полезной? Для удобства также приводим ссылку на оригинал (на английском языке).

Читайте также:  Копирование таблицы в Microsoft Excel

Вычитание чисел в программе Excel

Среди всех арифметических действий можно выделить четыре основных: сложение, умножение, деление и вычитание. О последнем и пойдет в речь в данной статье. Давайте рассмотрим, какими методами можно выполнять данное действие в Excel.

Процедура вычитания

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

Само действие можно выполнить с помощью формулы, которая начинается со знака “равно” (“=”). Затем, согласно законам арифметики, пишем уменьшаемое, после него ставим знак “минус” (“-“) и в конце указываем вычитаемое. В сложных формулах вычитаемых можно быть несколько, и в этом случае, они идут следом, а между ними ставится ставится “-“. Таким образом, мы получаем результат в виде разности чисел.

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

Пример 1: разность конкретных чисел

Допустим, нам нужно найти разность между конкретными числами: 396 и 264. Выполнить вычитание можно с помощью простой формулы:

  1. Переходим в свободную ячейку таблицы, в которой планируем произвести необходимые расчеты. Печатаем в ней знак “=”, после чего пишем выражение: =365-264 .
  2. После того, как формула набрана, нажимаем клавишу Enter и получаем требуемый результат.

Примечание: безусловно, программа Эксель умеет работать и с отрицательными числами, поэтому, вычитание можно выполнить в обратном порядке. В этом случае формула выглядит так: =264-365 .

Пример 2: вычитание числа из ячейки

Теперь, когда мы разобрали принцип и самый простой пример вычитания в Excel, давайте посмотрим, как вычесть конкретное число из ячейки.

  1. Как и в первом методе, сначала выбираем свободную ячейку, куда хотим вывести результат вычисления. В ней:
    • пишем знак “=”.
    • указываем адрес ячейки, в которой находится уменьшаемое. Сделать это можно вручную, прописав координаты с помощью клавиш на клавиатуре. Либо можно выбрать нужную ячейку, кликну по ней левой кнопкой мыши.
    • добавляем в формулу знак вычитания (“-“).
    • пишем вычитаемое (если вычитаемых несколько, добавляем их через символ “-“).
  2. После нажатия клавиши Enter, получаем результат в выбранной ячейке.

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

Пример 3: разность между числами в ячейках

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

  1. Встаем в результирующую ячейку, после чего:
    • ставим символ “=”.
    • аналогично примеру 2, указываем ячейку, содержащую уменьшаемое.
    • таким же образом добавляем в формулу ячейку с вычитаемым, не забыв перед ее адресом добавить знак “минус”.
    • если вычитаемых несколько, добавляем их подряд со знаком “-“ впереди.
  2. Нажав клавишу Enter, мы увидим результат в ячейке с формулой.

Пример 4: Вычитание одного столбца из другого

Таблицы, как мы знаем, содержат данные как по горизонтали (столбцы), так и по вертикали (строки). И довольно часто требуется найти разность между числовыми данными, содержащимися в разных столбцах (двух и более). Причем, желательно автоматизировать данный процесс, чтобы не тратить на выполнение этой задачи много времени.

Программа предоставляет пользователю такую возможность, и вот как ее можно реализовать:

  1. Переходим в первую ячейку столбца, в котором планируем производить расчеты. Пишем формулу вычитания, указав адреса ячеек, которые содержат уменьшаемое и вычитаемое. В нашем случае выражение выглядит следующим образом: =С2-B2 .
  2. Жмем клавишу Enter и получаем разность чисел.
  3. Остается только автоматически выполнить вычитание для оставшихся ячеек столбца с результатами. Для этого наводим указатель мыши на правый нижний угол ячейки с формулой, и после того, как появится маркер заполнения в виде черного плюсика, зажав левую кнопку мыши тянем его до конца столбца.
  4. Как только мы отпустим кнопку мыши, ячейки столбца заполнятся результатами вычитания.

Пример 5: Вычитание конкретного числа из столбца

В некоторых случаях требуется вычесть из всех ячеек столбца одно и то же конкретное число.

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

  1. Пишем в самой верхней ячейке результирующего столбца формулу вычитания. В нашем случае она выглядит так: =A2-65 .
  2. После нажатия Enter разность отобразится в выбранной ячейке.
  3. С помощью маркера заполнения протягиваем формулу на другие ячейки столбца, чтобы получить в них аналогичные результаты.

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

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

Алгоритм действий в данном случае следующий:

  1. Переходим в самую верхнюю ячейку столбца для вычислений. Пишем в нем привычную формулу вычитания между двумя ячейками.
  2. Когда формула готова, не спешим нажимать клавишу Enter. Чтобы при растягивании формулы зафиксировать адрес ячейки с вычитаемым, необходимо напротив ее координат вставить символы “$” (другими словами, сделать адрес ячейки абсолютными, так как по умолчанию ссылки в программе относительные). Сделать это можно вручную, прописав в формуле нужные символы, или же, при ее редактировании переместить курсор на адрес ячейки с вычитаемым и один раз нажать клавишу F4. В итоге формула (в нашем случае) должна выглядеть так:
  3. После того, как формула полностью готова, жмем Enter для получения результата.
  4. С помощью маркера заполнения производим аналогичные вычисления в остальных ячейках столбца.

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

Заключение

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

Как в офисе.

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

Вычисление разницы

Учитывая, что Эксель работает с различными форматами данных, при вычитании одного значения из другого применяются различные варианты формул. Но в целом их все можно свести к единому типу:

А теперь давайте рассмотрим, как производится вычитание значений различных форматов: числового, денежного, даты и времени.

Способ 1: вычитание чисел

Сразу давайте рассмотрим наиболее часто применимый вариант подсчета разности, а именно вычитание числовых значений. Для этих целей в Экселе можно применить обычную математическую формулу со знаком «-».

    Если вам нужно произвести обычное вычитание чисел, воспользовавшись Excel, как калькулятором, то установите в ячейку символ «=». Затем сразу после этого символа следует записать уменьшаемое число с клавиатуры, поставить символ «-», а потом записать вычитаемое. Если вычитаемых несколько, то нужно опять поставить символ «-» и записать требуемое число. Процедуру чередования математического знака и чисел следует проводить до тех пор, пока не будут введены все вычитаемые. Например, чтобы из числа 10 вычесть 5 и 3, нужно в элемент листа Excel записать следующую формулу:

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

Но значительно чаще процесс вычитания в Экселе применяется между числами, размещенными в ячейках. При этом алгоритм самого математического действия практически не меняется, только теперь вместо конкретных числовых выражений применяются ссылки на ячейки, где они расположены. Результат же выводится в отдельный элемент листа, где установлен символ «=».

Посмотрим, как рассчитать разницу между числами 59 и 26, расположенными соответственно в элементах листа с координатами A3 и С3.

    Выделяем пустой элемент книги, в который планируем выводить результат подсчета разности. Ставим в ней символ «=». После этого кликаем по ячейке A3. Ставим символ «-». Далее выполняем клик по элементу листа С3. В элементе листа для вывода результата должна появиться формула следующего вида:

Как и в предыдущем случае для вывода результата на экран щелкаем по клавише Enter.

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

Читайте также:  Построение графика в программе Microsoft Excel

Урок: Как вычесть число из числа в Экселе

Способ 2: денежный формат

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

    Собственно можно провести операцию, как обычное вычитание чисел, и только потом отформатировать итоговый результат под денежный формат. Итак, производим вычисление. Например, вычтем из 15 число 3.

Вслед за тем, как все необходимые изменения сделаны, клацаем по «OK».

Существует ещё один вариант отформатировать полученный итог вычитания под денежный формат. Для этого нужно на ленте во вкладке «Главная» кликнуть по треугольнику, находящемуся справа от поля отображения действующего формата ячейки в группе инструментов «Число». Из открывшегося списка следует выбрать вариант «Денежный». Числовые значения будут преобразованы в денежные. Правда в этом случае отсутствует возможность выбора валюты и количества десятичных знаков. Будет применен вариант, который выставлен в системе по умолчанию, или настроен через окно форматирования, описанное нами выше.

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

Урок: Как изменить формат ячейки в Экселе

Способ 3: даты

А вот вычисление разности дат имеет существенные нюансы, отличные от предыдущих вариантов.

    Если нам нужно вычесть определенное количество дней от даты, указанной в одном из элементов на листе, то прежде всего устанавливаем символ «=» в элемент, где будет отображен итоговый результат. После этого кликаем по элементу листа, где содержится дата. Его адрес отобразится в элементе вывода и в строке формул. Далее ставим символ «-» и вбиваем с клавиатуры численность дней, которую нужно отнять. Для того, чтобы совершить подсчет клацаем по Enter.

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

    Устанавливаем символ «=» в ячейку, где будет отображен результат. После этого клацаем по элементу листа, где содержится более поздняя дата. После того, как её адрес отобразился в формуле, ставим символ «-». Клацаем по ячейке, содержащей раннюю дату. Затем клацаем по Enter.

Также разность между датами можно вычислить при помощи функции РАЗНДАТ. Она хороша тем, что позволяет настроить с помощью дополнительного аргумента, в каких именно единицах измерения будет выводиться разница: месяцы, дни и т.д. Недостаток данного способа заключается в том, что работа с функциями все-таки сложнее, чем с обычными формулами. К тому же, оператор РАЗНДАТ отсутствует в списке Мастера функций, а поэтому его придется вводить вручную, применив следующий синтаксис:

«Начальная дата» — аргумент, представляющий собой раннюю дату или ссылку на неё, расположенную в элементе на листе.

«Конечная дата» — это аргумент в виде более поздней даты или ссылки на неё.

Самый интересный аргумент «Единица». С его помощью можно выбрать вариант, как именно будет отображаться результат. Его можно регулировать при помощи следующих значений:

  • «d» — результат отображается в днях;
  • «m» — в полных месяцах;
  • «y» — в полных годах;
  • «YD» — разность в днях (без учета годов);
  • «MD» — разность в днях (без учета месяцев и годов);
  • «YM» — разница в месяцах.

Итак, в нашем случае требуется вычислить разницу в днях между 27 мая и 14 марта 2017 года. Эти даты расположены в ячейках с координатами B4 и D4, соответственно. Устанавливаем курсор в любой пустой элемент листа, где хотим видеть итоги расчета, и записываем следующую формулу:

Жмем на Enter и получаем итоговый результат подсчета разности 74. Действительно, между этими датами лежит 74 дня.

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

Опять жмем кнопку Enter. Как видим, результат закономерно тот же, только полученный немного другим способом.

Урок: Количество дней между датами в Экселе

Способ 4: время

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

    Итак, перед нами стоит задача узнать, сколько минут прошло с 15:13 по 22:55. Записываем эти значения времени в отдельные ячейки на листе. Что интересно, после ввода данных элементы листа будут автоматически отформатированы под содержимое, если они до этого не форматировались. В обратном случае их придется отформатировать под дату вручную. В ту ячейку, в которой будет выводиться итог вычитания, ставим символ «=». Затем клацаем по элементу, содержащему более позднее время (22:55). После того, как адрес отобразился в формуле, вводим символ «-». Теперь клацаем по элементу на листе, в котором расположилось более раннее время (15:13). В нашем случае получилась формула вида:

Для проведения подсчета клацаем по Enter.

Для того, чтобы получить минуты, нам следует предыдущий результат умножить на коэффициент 1440. Этот коэффициент получается путем умножения количества минут в часе (60) и часов в сутках (24).

Итак, устанавливаем символ «=» в пустой ячейке на листе. После этого производим клик по тому элементу листа, где находится разность вычитания времени (7:42). После того, как координаты данной ячейки отобразились в формуле, жмем на символ «умножить» (*) на клавиатуре, а затем на ней же набираем число 1440. Для получения результата клацаем по Enter.

Можно поступить и по-другому. Выделяем указанный элемент листа и производим нажатие клавиш Ctrl+1. Запускается окно форматирования, с которым мы уже имели дело ранее. Перемещаемся во вкладку «Число» и в списке числовых форматов выбираем вариант «Общий». Клацаем по «OK».

Урок: Как перевести часы в минуты в Экселе

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

Excel неправильно считает. Почему?

Часто при вычислении разницы двух ячеек в Excel можно видеть, что она не равна нулю, хотя числа одинаковые. Например, в ячейках A1 и B1 записано одно и тоже число 10,7 , а в C1 мы вычитаем из одного другое:

И самое странное то, что в итоге мы не получаем 0! Почему?

Причина очевидная – формат ячеек
Сначала самый очевидный ответ: если идет сравнение значений двух ячеек, то необходимо убедиться, что числа там действительно равны и не округлены форматом ячеек. Например, если взять те же числа из примера выше, то если выделить их -правая кнопка мыши –Формат ячеек (Format cells) -вкладка Число (Number) -выбираем формат Числовой и выставляем число десятичных разрядов равным 7:

Теперь все становится очевидным – числа отличаются и были просто округлены форматом ячеек. И естественно не могут быть равны. В данном случае оптимальным будет понять почему числа именно такие, а уже потом принимать решение. И если уверены, что числа надо реально округлять до десятых долей – то можно применить в формуле функцию ОКРУГЛ:
=ОКРУГЛ( B1 ;1)-ОКРУГЛ( A1 ;1)=0
=ROUND(B1,1)-ROUND(A1,1)=0
Так же есть более кардинальный метод:

  • Excel 2007:Кнопка офисПараметры Excel (Excel options)Дополнительно (Advanced)Задать точность как на экране (Set precision as displayed)
  • Excel 2010:Файл (File)Параметры (Options)Дополнительно (Advanced)Задать точность как на экране (Set precision as displayed)
  • Excel 2013 и выше:Файл (File)Параметры (Options)Дополнительно (Advanced)Задать указанную точность (Set precision as displayed)

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

Читайте также:  Программа Microsoft Excel: сводные таблицы

Причина программная
Но нередко в Excel можно наблюдать более интересный “феномен”: разница двух дробных чисел, полученная формулой не равна точно такому же числу, записанному напрямую в ячейку. Для примера, запишите в ячейку такую формулу:
=10,8-10,7=0,1
по виду результатом должен быть ответ ИСТИНА (TRUE) . Но по факту будет ЛОЖЬ (FALSE) . И этот пример не единственный – такое поведение Excel далеко не редкость при вычислениях. Его можно встретить и в менее явной форме – когда вычисления основаны на значении других ячеек, которые тоже в свою очередь вычисляются формулами и т.д. Но причина во всех случаях одна.

Почему с виду одинаковые числа не равны?
Сначала разберемся почему Excel считает приведенное выше выражение ложным. Ведь если вычесть из 10,8 число 10,7 – в любом случае получится 0,1 . Значит где-то по пути что-то пошло не так. Запишем в отдельную ячейку левую часть выражения: =10,8-10,7 . В ячейке появится 0,1 . А теперь выделяем эту ячейку -правая кнопка мыши –Формат ячеек (Format cells) -вкладка Число (Number) -выбираем формат Числовой и выставляем число десятичных разрядов равным 15:

и теперь видно, что на самом деле в ячейке не ровно 0,1 , а 0,100000000000001 . Т.е. в 15 значащем разряде у нас появился “хвостик” в виде лишней единицы.
А теперь будем разбираться откуда этот “хвостик” появился, ведь и логически и математически его там быть не должно. Рассказать я постараюсь очень кратко и без лишних заумностей – их на эту тему при желании можно найти в интернете немало.
Все дело в том, что в те далекие времена(это примерно 1970-е годы), когда ПК был еще чем-то вроде экзотики, не было единого стандарта работы с числами с плавающей запятой(дробных, если по простому). Зачем вообще этот стандарт? Затем, что компьютерные программы видят числа по своему, а дробные так вообще со статусом “все сложно”. И при этом одно и то же дробное число можно представить по-разному и обрабатывать операции с ним тоже. Поэтому в те времена одна и та же программа, при работе с числами, могла выдать различный результат на разных ПК. Учесть все возможные подводные камни каждого ПК задача не из простых, поэтому в один прекрасный момент началась разработка единого стандарта для работы с числами с плавающей запятой. Опуская различные подробности, нюансы и интересности самой истории скажу лишь, что в итоге все это вылилось в стандарт IEEE754. А в соответствии с его спецификацией в десятичном представлении любого числа допускаются ошибки в 15-м значащем разряде. Что и приводит к неизбежным ошибкам в вычислениях. Чаще всего это можно наблюдать именно в операциях вычитания, т.к. именно вычитание близких между собой чисел ведет к потере значимых разрядов.
Подробнее про саму спецификацию так же можно узнать в статье Microsoft: Результаты арифметических операций с плавающей точкой в Excel могут быть неточными
Вот это как раз и является виной подобного поведения Excel. Хотя справедливости ради надо отметить, что не только Excel, а всех программ, основанных на данном стандарте. Конечно, напрашивается логичный вопрос: а зачем же приняли такой глючный стандарт? Я бы сказал, что был выбран компромисс между производительностью и функциональностью. Хотя возможно, были и другие причины.

Куда важнее другое: как с этим бороться?
По сути никак, т.к. это программная “ошибка”. И в данном случае нет иного выхода, как использовать всякие заплатки вроде ОКРУГЛ и ей подобных функций. При этом ОКРУГЛ здесь надо применять не как в было продемонстрировано в самом начале, а чуть иначе:
=ОКРУГЛ( 10,8 – 10,7 ;1)=0,1
=ROUND(10.8-10.7,1)=0,1
т.е. в ОКРУГЛ мы должны поместить само “глючное” выражение, а не каждый его аргумент отдельно. Если поместить каждый аргумент – то эффекта это не даст, ведь проблема не в самом числе, а в том, как его видит программа. И в данном случае 10,8 и 10,7 уже округлены до одного разряда и понятно, что округление отдельно каждого числа не даст вообще никакого эффекта. Можно, правда, выкрутиться и иначе. Умножить каждое число на некую величину(скажем на 1000, чтобы 100% убрать знаки после запятой) и после этого производить вычитание и сравнение:
=((10,8*1000)-(10,7*1000))/1000=0,1

Хочется верить, что хоть когда-нибудь описанную особенность стандарта IEEE754 Microsoft сможет победить или хотя бы сделать заплатку, которая будет производить простые вычисления не хуже 50-рублевого калькулятора 🙂

Статья помогла? Поделись ссылкой с друзьями!

Функции Excel ЕСЛИ (IF) и ЕСЛИМН (IFS) для нескольких условий

Логическая функция ЕСЛИ в Экселе – одна из самых востребованных. Она возвращает результат (значение или другую формулу) в зависимости от условия.

Функция ЕСЛИ в Excel

Функция имеет следующий синтаксис.

ЕСЛИ(лог_выражение; значение_если_истина; [значение_если_ложь])

лог_выражение – это проверяемое условие. Например, A2 30) не выполняется и возвращается альтернативное значение, указанное в третьем поле. В этом вся суть функции ЕСЛИ. Протягивая расчет вниз, получаем результат по каждому товару.

Однако это был демонстрационный пример. Чаще формулу Эксель ЕСЛИ используют для более сложных проверок. Допустим, есть средненедельные продажи товаров и их остатки на текущий момент. Закупщику нужно сделать прогноз остатков через 2 недели. Для этого нужно от текущих запасов отнять удвоенные средненедельные продажи.

Пока все логично, но смущают минусы. Разве бывают отрицательные остатки? Нет, конечно. Запасы не могут быть ниже нуля. Чтобы прогноз был корректным, нужно отрицательные значения заменить нулями. Здесь отлично поможет формула ЕСЛИ. Она будет проверять полученное по прогнозу значение и если оно окажется меньше нуля, то принудительно выдаст ответ 0, в противном случае — результат расчета, т.е. некоторое положительное число. В общем, та же логика, только вместо значений используем формулу в качестве условия.

В прогнозе запасов больше нет отрицательных значений, что в целом очень неплохо.

Формулы Excel ЕСЛИ также активно используют в формулах массивов. Здесь мы не будем далеко углубляться. Заинтересованным рекомендую прочитать статью о том, как рассчитать максимальное и минимальное значение по условию. Правда, расчет в той статье более не актуален, т.к. в Excel 2016 появились функции МИНЕСЛИ и МАКСЕСЛИ. Но для примера очень полезно ознакомиться – пригодится в другой ситуации.

Формула ЕСЛИ в Excel – примеры нескольких условий

Довольно часто количество возможных условий не 2 (проверяемое и альтернативное), а 3, 4 и более. В этом случае также можно использовать функцию ЕСЛИ, но теперь ее придется вкладывать друг в друга, указывая все условия по очереди. Рассмотрим следующий пример.

Нескольким менеджерам по продажам нужно начислить премию в зависимости от выполнения плана продаж. Система мотивации следующая. Если план выполнен менее, чем на 90%, то премия не полагается, если от 90% до 95% — премия 10%, от 95% до 100% — премия 20% и если план перевыполнен, то 30%. Как видно здесь 4 варианта. Чтобы их указать в одной формуле потребуется следующая логическая структура. Если выполняется первое условие, то наступает первый вариант, в противном случае, если выполняется второе условие, то наступает второй вариант, в противном случае если… и т.д. Количество условий может быть довольно большим. В конце формулы указывается последний альтернативный вариант, для которого не выполняется ни одно из перечисленных ранее условий (как третье поле в обычной формуле ЕСЛИ). В итоге формула имеет следующий вид.

Комбинация функций ЕСЛИ работает так, что при выполнении какого-либо указанно условия следующие уже не проверяются. Поэтому важно их указать в правильной последовательности. Если бы мы начали проверку с B2 =1. Однако этого можно избежать, если в поле с условием написать ИСТИНА, указывая тем самым, что, если не выполняются ранее перечисленные условия, наступает ИСТИНА и возвращается последнее альтернативное значение.

Теперь вы знаете, как пользоваться функцией ЕСЛИ в Excel, а также ее более современным вариантом для множества условий ЕСЛИМН.

Ссылка на основную публикацию
Adblock
detector