Логарифмические функции в Microsoft Excel — незаменимый инструмент для инженеров, финансовых аналитиков и студентов. Среди них натуральный логарифм (обозначается как ln) занимает особое место: он используется в статистике, экономических моделях, расчётах процентных ставок и даже в алгоритмах машинного обучения. Однако многие пользователи путают его с десятичным логарифмом или не знают, как правильно применить в формулах.
В этой статье вы узнаете, как вычислить натуральный логарифм в Excel с помощью функции LN, чем он отличается от LOG, и как избежать типичных ошибок. Мы разберём практические примеры — от простых расчётов до сложных формул с массивами данных. А для тех, кто работает с большими таблицами, покажем, как автоматизировать процесс с помощью динамических массивов (доступно в Excel 365 и Excel 2021).
Если вы никогда не сталкивались с логарифмами, не переживайте: мы объясним всё простым языком. Если же вы опытный пользователь — найдёте здесь нюансы, о которых не пишут в стандартных руководствах. Например, как рассчитать натуральный логарифм для отрицательных чисел через комплексные функции (только в Excel 2013+) или почему иногда LN возвращает ошибку #ЧИСЛО! даже для корректных данных.
Чем натуральный логарифм отличается от десятичного
Прежде чем переходить к формулам, важно понять разницу между двумя основными типами логарифмов в Excel:
- 🔹 Натуральный логарифм (
LN) — это логарифм по основанию e (число Эйлера, ≈2.71828). Используется в высшей математике, физике и финансовых моделях. - 🔹 Десятичный логарифм (
LOG10илиLOGбез второго аргумента) — это логарифм по основанию 10. Чаще применяется в инженерии и повседневных расчётах.
В Excel для натурального логарифма есть отдельная функция LN, а для десятичного — LOG10. Однако функция LOG универсальна: если указать только один аргумент, она вернёт десятичный логарифм, а если добавить второй аргумент (основание), то рассчитает логарифм по любому основанию. Например:
=LOG(100;10) // Вернёт 2 (десятичный логарифм)
=LOG(100;2.718) // Вернёт ≈4.605 (натуральный логарифм, аналогично LN)
Почему это важно? Потому что ошибка в выборе функции может исказить результаты. Например, при расчёте процентной доходности инвестиций по формуле непрерывного начисления процентов используется именно LN, а не LOG10. Подменив одну функцию другой, вы получите неверные данные для анализа.
Функция LN: синтаксис и базовые примеры
Функция LN в Excel имеет простейший синтаксис:
=LN(число)
где число — это положительное вещественное число, для которого вычисляется натуральный логарифм.
Примеры использования:
- 📌
=LN(1)→ вернёт0(потому что e⁰ = 1). - 📌
=LN(2.718)→ вернёт ≈1(так как e¹ ≈ 2.718). - 📌
=LN(100)→ вернёт ≈4.605.
Обратите внимание: если передать в LN ноль или отрицательное число, Excel вернёт ошибку #ЧИСЛО!. Это связано с математическим определением логарифма — он существует только для положительных чисел. Однако есть обходной путь для комплексных чисел (об этом расскажем в разделе про ошибки).
☑️ Проверка перед использованием LN
Практические задачи: где применяется LN в Excel
Натуральный логарифм — не просто абстрактная математическая функция. Он активно используется в реальных задачах:
1. Финансовый анализ. Формула непрерывного начисления процентов:
=P EXP(r t)
где P — начальная сумма, r — процентная ставка, t — время. Чтобы найти r или t, потребуется LN. Например, расчёт времени удвоения капитала:
=LN(2) / ставка
2. Статистика. Логарифмическое преобразование данных помогает "выровнять" распределение при анализе временных рядов или построении регрессионных моделей. Например, для линеаризации экспоненциальной зависимости:
=ЛИНЕЙН(LN(y); x; ИСТИНА; ИСТИНА)
3. Инженерия. Расчёт затухания сигналов, тепловых процессов или химических реакций часто требует логарифмических функций. Например, формула для уровня звука в децибелах:
=20 * LN(амплитуда / опорное_значение)
| Задача | Формула с LN | Пример |
|---|---|---|
| Процентная доходность | =LN(конечная_сумма/начальная_сумма)/период | =LN(1500/1000)/5 → 8.1% годовых |
| Время удвоения инвестиций | =LN(2)/ставка | =LN(2)/0.07 → ~10 лет при 7% ставке |
| Экспоненциальная регрессия | =НАКЛОН(LN(y); x) | Находит коэффициент роста в модели y = aebx |
| Децибелы (звук) | =20*LN(амплитуда) | =20*LN(10) ≈ 46.05 дБ |
Ошибки при работе с LN и как их исправить
Даже опытные пользователи Excel сталкиваются с ошибками при использовании LN. Разберём самые распространённые:
⚠️ Внимание: Если вы видите ошибку#ЗНАЧ!вместо#ЧИСЛО!, проблема не в аргументе функции, а в формате ячейки. Скорее всего, вы передаёте вLNтекст вместо числа. Проверьте формат с помощьюЧИСЛОВОЙФОРМАТили умножьте значение на 1 (=LN(A1*1)).
1. Ошибка #ЧИСЛО! для отрицательных чисел. Какmentioned earlier, LN не работает с отрицательными значениями. Но если вам нужно рассчитать логарифм для комплексного числа (например, в электротехнике), используйте функцию ИМЛН (доступна с Excel 2013):
=ИМЛН(комплексное_число)
Пример для числа -5:
=ИМЛН(КОМПЛЕКСН(-5; 0))
Вернёт комплексный результат: 1.609 + 3.142i (где 3.142 — это π, а 1.609 ≈ ln(5)).
2. Ошибка #ДЕЛ/0! при делении на LN. Часто возникает в формулах вида =A/B, где B содержит LN. Например:
=10 / LN(1)
вернёт #ДЕЛ/0!, потому что LN(1) = 0. Решение: добавьте проверку с ЕСЛИОШИБКА:
=ЕСЛИОШИБКА(10 / LN(A1); "Ошибка: ln=0")
3. Неточные результаты из-за округления. Excel хранит числа с ограниченной точностью (15 знаков). Если вам нужны сверхточные расчёты (например, в научных вычислениях), используйте функцию Из-за ограниченной точности вычислений с плавающей запятой в Excel. Например, ТОЧНОСТЬ или увеличьте количество десятичных знаков в формате ячейки.
Почему LN(EXP(x)) не всегда равен x?
=LN(EXP(1000)) вернёт не 1000, а 999.999... из-за округления. Для критичных расчётов используйте библиотеки произвольной точности (VBA или Python).
LN vs LOG: когда какую функцию использовать
Многие пользователи путают LN и LOG, особенно когда речь идёт о формулах с переменным основанием. Разберём ключевые различия:
1. LN — всегда по основанию e. Нет аргументов, только одно число:
=LN(10) // Натуральный логарифм
2. - Без второго аргумента: десятичный логарифм ( - С двумя аргументами: логарифм по любому основанию ( 3. Когда что использовать:
В современных версиях Excel 1. Применение LN ко всему столбцу. Вместо того чтобы тянуть формулу вниз, используйте:
Эта формула вернёт массив натуральных логарифмов для каждого значения в 2. Фильтрация ошибок. Если в данных есть нули или отрицательные числа, добавьте проверку:
3. Логарифмическое преобразование для регрессии. Чтобы линеаризовать экспоненциальную зависимость, создайте два динамических массива:
=A1:A10 // Y-значения (логарифмированные) =LN(B1:B10)LOG — универсальная функция:
=LOG(100) → 2).=LOG(8; 2) → 3, потому что 2³=8).LOG10 — специализированная функция для десятичных логарифмов (аналог LOG без второго аргумента, но работает быстрее).
LN.LOG10 (если шкала по основанию 10) или LOG с явным указанием основания.LOG с основанием 2.Расширенные приёмы: LN с массивами и динамическими формулами
LN ко всему диапазону сразу, без копирования формулы. Рассмотрим несколько примеров:
=BYROW(A1:A10; LAMBDA(x; LN(x)))A1:A10.=BYROW(A1:A10; LAMBDA(x; ЕСЛИ(x>0; LN(x); "Ошибка")))// X-значения (без изменений)
Затем используйте ЛИНЕЙН или НАКЛОН для нового диапазона.
4. LN с условным форматированием. Подсветите ячейки, где логарифм превышает пороговое значение:
- Выделите диапазон с данными. - Создайте правило условного форматирования с формулой: - Задайте формат (например, зелёную заливку). Эти приёмы экономят время и уменьшают риск ошибок при работе с большими наборами данных.
Если встроенных функций Excel недостаточно, можно использовать VBA или Power Query для расширенных расчётов.
1. VBA-функция для LN с обработкой ошибок. Создайте пользовательскую функцию, которая будет возвращать текст вместо ошибки:
If x <= 0 Then SafeLN = "Ошибка: число <= 0" Else SafeLN = Application.WorksheetFunction.Ln(x) End If End Function=LN(A1)>1Альтернативы LN в Excel: VBA и Power Query
Function SafeLN(x As Double) As Variant
Теперь в ячейке можно использовать =SafeLN(A1).
2. Power Query для логарифмического преобразования. Если вы импортируете данные из внешнего источника:
1. Загрузите данные в Power Query (Данные → Получить данные).
2. Добавьте пользовательский столбец с формулой:
= if [Column1] > 0 then Number.Log([Column1]) else null
3. Загрузите результат обратно в Excel.
3. Логарифм для комплексных чисел. В Excel 2013+ есть функция ИМЛН, но если её нет, можно написать на VBA:
Function ComplexLN(z As Complex) As Complex
ComplexLN = Complex.Log(z)
End Function
(Требуется подключить библиотеку Microsoft Complex Math Type*.)
Эти методы полезны для автоматизации рутинных задач или работы с нестандартными данными.
FAQ: Частые вопросы о натуральном логарифме в Excel
Можно ли в Excel рассчитать натуральный логарифм для отрицательного числа?
Да, но только через комплексные числа. Используйте функцию ИМЛН (с Excel 2013):
=ИМЛН(КОМПЛЕКСН(-5; 0))
Результат будет в формате a + bi, где a — вещественная часть, b — мнимая.
Почему LN(EXP(x)) не равен x для больших значений x?
Это связано с ограниченной точностью вычислений с плавающей запятой в Excel. Например, =LN(EXP(1000)) вернёт ≈999.999 вместо 1000. Для критичных расчётов используйте специализированное ПО (например, Wolfram Mathematica) или увеличьте разрядность в VBA.
Как построить график с логарифмической шкалой по оси Y?
1. Постройте обычный график (Вставка → График).
2. Кликните правой кнопкой по оси Y → Формат оси.
3. Поставьте галочку Логарифмическая шкала.
4. Если нужна натуральная шкала (по основанию e), предварительно преобразуйте данные с помощью LN.
Можно ли использовать LN в условном форматировании?
Да. Например, чтобы подсветить ячейки, где натуральный логарифм больше 1:
- Выделите диапазон.
- Создайте правило
Условное форматирование → Создать правило → Использовать формулу. - Введите формулу:
=LN(A1)>1. - Задайте формат (цвет заливки, шрифта и т.д.).
Как рассчитать натуральный логарифм для всего столбца без копирования формулы?
В Excel 365 или Excel 2021 используйте динамические массивы:
=BYROW(A1:A100; LAMBDA(x; LN(x)))
В более старых версиях придётся копировать формулу вниз или использовать VBA.