Конвертер формул Excel в Python

Вставьте формулу Excel или Google Sheets и получите функцию Python с понятными именами переменных, нужными импортами и вспомогательными функциями для SUMIFS, VLOOKUP и округления в стиле Excel.

Обновлено

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

Результат

Ссылки на ячейки

Ссылки появятся здесь после ввода формулы.

Давайте ссылкам понятные имена (B2 → price). Диапазоны превращаются в списки, а многостолбцовые диапазоны — в списки строк.

Ваши данные никогда не покидают ваш компьютер. Вся обработка выполняется на 100% локально в вашем браузере.

Был ли этот инструмент полезен?0.0 Оценок: 0
Переводите формулы Excel и Google Sheets в JavaScriptIF, SUMIFS, VLOOKUP, XLOOKUP, ROUND, функции для текста и дат.Формула Excel в JavaScript →

Как пользоваться: Формула Excel в Python

  1. Вставьте формулу Excel или Google Sheets либо выберите готовую в разделе Примеры.
  2. Выберите целевой язык — по умолчанию открыт Python, а переключиться можно в любой момент.
  3. Переименуйте найденные ссылки на ячейки в понятные имена переменных, например B2 → price.
  4. Выберите полную функцию или только выражение, затем скопируйте или скачайте код. Вспомогательные функции добавляются автоматически, если формула в них нуждается.

Перенос логики таблиц в Python

Аналитические команды регулярно переносят модели Excel в Python — чтобы автоматизировать ежемесячный отчёт, передать данные в конвейер pandas или вынести расчёт за API. Ручной перенос формул медленный и рискованный, потому что Python и Excel по-разному трактуют такие детали, как округление и сравнение текста. Этот конвертер разбирает формулу по собственным правилам приоритета Excel и генерирует эквивалентный, читаемый код на Python.

=SUMIFS(D2:D100, B2:B100, "North", C2:C100, ">=1000")

def calculate(d2_d100, b2_b100, c2_c100):
    return sum_ifs(d2_d100, b2_b100, 'North', c2_c100, '>=1000')

Функция sum_ifs() (и использующая её функция matches_criteria()) добавляется над основной функцией, поэтому результат работает без правок.

Соответствие функций Excel и Python

ExcelPython
IF(c, a, b)a if c else b
IFS / SWITCHchained conditional expressions
AND, OR, NOTand, or, not
= and <>== and !=
a & bstr(a) + str(b)
a ^ ba ** b
SUM(A2:A10)sum(a2_a10)
ROUND(x, 2)excel_round() helper — not round()
MOD(a, b)a % b
SUMIFS / COUNTIF…sum_ifs(), count_if() helpers
VLOOKUP / XLOOKUPvlookup(), xlookup() helpers
IFERROR(x, y)if_error(lambda: x, y)
LEFT / MID / LENslicing, len()
TODAY() / NOW()date.today(), datetime.now()

Подводные камни, которые учитывает конвертер

  • Банковское округление. Встроенная round(2.5) в Python возвращает 2, а round(0.125, 2) — 0.12; Excel даёт 3 и 0.13. Поэтому в результате используется вспомогательная функция excel_round() на основе Decimal с ROUND_HALF_UP.
  • Конкатенация. Выражение "Итого: " + 5 в Python вызывает TypeError, поэтому каждый нетекстовый операнд & оборачивается в str().
  • IF — это выражение. IF превращается в условное выражение Python (a if c else b), а вложенные IF естественно объединяются в цепочку.
  • Целочисленное деление. Оператор / в Python 3 всегда возвращает float, как и в Excel.
  • Ошибки. IFERROR превращается в if_error(lambda: …, fallback), которая перехватывает ZeroDivisionError, LookupError при поиске и другие исключения.
  • Даты. DATE, TODAY и YEAR соответствуют модулю datetime. Excel пересчитывает некорректные даты (например, месяц 13), а Python выдаёт ошибку — конвертер предупреждает вас об этом.

Работа с pandas

Сгенерированные функции работают со скалярами и списками. Чтобы применить построчную формулу к DataFrame, вызовите df.apply(lambda r: calculate(r.price, r.qty), axis=1). Для агрегатов вроде SUMIFS булевы маски pandas (df.loc[(df.region == 'North') & (df.total >= 1000), 'amount'].sum()) работают быстрее на больших объёмах данных.

Поддерживаемые функции: IF, IFS, SWITCH, AND, OR, NOT, XOR, IFERROR, IFNA, ISBLANK, ISNUMBER, ISTEXT, SUM, AVERAGE, MIN, MAX, COUNT, COUNTA, COUNTBLANK, PRODUCT, MEDIAN, ROUND, ROUNDUP, ROUNDDOWN, INT, TRUNC, ABS, SIGN, MOD, POWER, SQRT, EXP, LN, LOG, LOG10, PI, CEILING, FLOOR, RAND, RANDBETWEEN, SUMIF, SUMIFS, COUNTIF, COUNTIFS, AVERAGEIF, AVERAGEIFS, SUMPRODUCT, VLOOKUP, XLOOKUP, MATCH, INDEX, CONCAT, CONCATENATE, TEXTJOIN, LEFT, RIGHT, MID, LEN, UPPER, LOWER, PROPER, TRIM, SUBSTITUTE, REPLACE, FIND, SEARCH, REPT, VALUE, EXACT, TEXT (форматы чисел), TODAY, NOW, DATE, YEAR, MONTH, DAY. Саму таблицу можно загрузить с помощью Excel to JSON и json.load().

Также ищут как: google sheets формула в python, vlookup в python, excel to python онлайн, формула excel pandas.

Инструменты, которые хорошо сочетаются с Формула Excel в Python

  • Формула Excel в JavaScript — Вставьте формулу из таблицы и получите понятный JavaScript: функцию с именованными параметрами, правильным порядком операций и небольшими вспомогательными функциями для того, чего нет в JavaScript, например SUMIFS и VLOOKUP.
  • Формула Excel в SQL — Вставьте формулу Excel и получите эквивалентное SQL-выражение или запрос SELECT: IF и IFS как CASE WHEN, SUMIFS и COUNTIFS как условные агрегаты, а также подходящие строковые и датные функции для вашей базы данных.
  • Формула Excel в PHP — Вставьте формулу из таблицы и получите функцию на PHP 8: тернарные операторы в скобках, строковые функции mb_* и вспомогательные функции для поиска, условных сумм и MOD в стиле Excel.
  • CSV в JSON — Вставьте CSV или TSV и получите JSON-массив объектов.

Часто задаваемые вопросы

Почему в результате используется excel_round(), а не round()?
Python округляет половины до ближайшего чётного числа (банковское округление), поэтому round(2.5) равно 2. Excel округляет половины от нуля. Вспомогательная функция полностью повторяет поведение Excel.
Работает ли это с DataFrame из pandas?
Функции принимают обычные значения и списки. Передавайте столбцы DataFrame через .tolist() или применяйте построчную функцию с помощью df.apply(…, axis=1).
Как переводится VLOOKUP?
Как вспомогательная функция vlookup(value, table, column, approximate), где таблица — это список строк. Точное совпадение (FALSE) сравнивает текст без учёта регистра, как в Excel, а при отсутствии значения выбрасывается LookupError, которую перехватывает IFERROR.
Какая версия Python нужна?
Python 3.8 или новее. Используется только стандартная библиотека (math, statistics, decimal, re, fnmatch, datetime), а импорты добавляются только при необходимости.
Загружается ли формула куда-либо?
Нет. Конвертация выполняется в вашем браузере.
Можно ли установить Формула Excel в Python как веб-приложение и пользоваться им офлайн?
Да. Формула Excel в Python — это веб-приложение (PWA), которое можно установить из браузера, без скачивания из магазина приложений. В Chrome или Edge (Windows, macOS, Linux, ChromeOS) или на Android нажмите вверху этой страницы «Установить приложение»; на iPhone и iPad используйте «Поделиться → На экран «Домой»», а в Safari 17+ на Mac — «Файл → Добавить в Dock». После этого приложение откроется в отдельном окне со своим значком, и так как оно полностью работает в браузере, оно продолжит работать офлайн. Firefox на компьютере не умеет устанавливать веб-приложения. Как работает установка.

Похожие инструменты

localФормула Excel в JavaScriptВставьте формулу из таблицы и получите понятный JavaScript: функцию с именованными параметрами, правильным…localФормула Excel в SQLВставьте формулу Excel и получите эквивалентное SQL-выражение или запрос SELECT: IF и IFS как CASE WHEN,…localФормула Excel в PHPВставьте формулу из таблицы и получите функцию на PHP 8: тернарные операторы в скобках, строковые функции…localExcel в JSONОткройте книгу .xlsx или вставьте ячейки прямо из Excel или Google Sheets и получите чистый JSON. Числа,…localCSV в JSONВставьте CSV или TSV и получите JSON-массив объектов. Поля в кавычках, переносы строк внутри ячеек и…localJSON в ExcelПревратите JSON-массив в настоящую книгу Excel. Вложенные объекты становятся столбцами, числа остаются…