Программирование и ИИ
Python в Excel: как посчитать итоги по таблице листа через pandas в облаке
Python в Excel — это код в ячейке листа для тех, кому мало обычных функций: чистка, группировка и графики через pandas. Данные с листа передаёт функция xl(), а расчёт идёт в облаке Microsoft. По справке Microsoft для работы нужен интернет, а набор библиотек поставляет Anaconda[1]. Ниже — первая формула, тип результата и кому функция доступна сейчас.
Диспетчер такси выгружает поездки в таблицу и хочет сумму по районам, медиану чека и график — без надстроек и отдельной программы. Справка Microsoft ставит одно условие к данным: всё, что обрабатывает Python в Excel, должно прийти с листа или через Power Query[2]. Файлы с диска Python-код не читает, поэтому выгрузку сначала кладут на лист.
Путь здесь такой. Сначала поймите задачу — какой анализ не получается обычными формулами. Затем выберите инструмент: Python-ячейку вместо цепочки формул. Освойте основы — =PY, xl(), pandas и тип результата, — попробуйте собрать формулу в тренажёре и примените её к своим данным. Главная ловушка — подписка: бессрочный Excel эту функцию не получит.
Ключевые факты: Python в Excel
- Python в Excel считает в Microsoft Cloud со стандартной версией языка и библиотеками от Anaconda[1].
- Для Enterprise и Business в Windows функция есть в Current Channel начиная с версии 2408[3].
- Python-код не имеет доступа к сети, компьютеру и учётной записи пользователя[4].
- Значение Excel отличается от объекта Python тем, что переводится в ближайший эквивалент Excel[2].
- Справка Microsoft называет поставщиком библиотек для Python-ячеек компанию Anaconda[1].
Что такое Python в Excel и где выполняется код
Python в Excel выполняет код ячейки в облаке Microsoft и возвращает результат на лист[1]. Справка о безопасности уточняет: код работает в изолированном контейнере на Microsoft Cloud и не имеет доступа к сети[4]. Устанавливать Python на компьютер не нужно.
| Что видит код | Что не видит |
|---|---|
| данные через функцию xl() | компьютер, устройства, учётную запись |
| библиотеки Anaconda в контейнере | сеть и интернет |
| ячейки и таблицы листа | формулы, диаграммы, сводные таблицы, макросы |
Python-код не видит формулы, диаграммы и сводные таблицы книги — только данные из xl()[4]. У каждой книги свой контейнер, поэтому формулы одной книги не мешают другой[4].
Справка о функции относится к Excel для Microsoft 365 и Excel для Microsoft 365 для Mac[3]. Сама ячейка на листе выглядит обычной, а формула видна в строке формул. Что умеет Python-ячейка: сгруппировать и почистить таблицу, посчитать статистику, построить график библиотекой из набора Anaconda.
| Подписка и платформа | Python в Excel |
|---|---|
| Enterprise и Business, Windows | Current Channel с версии 2408 (Build 17928.20114) |
| Enterprise и Business, Excel в Интернете | есть |
| Enterprise и Business, Mac | Current Channel с версии 16.96 |
| Family и Personal | предварительная версия: веб или Current Channel с версии 2405 |
| Education | предварительная версия через Microsoft 365 Insider |
| iPad, iPhone, Android | книгу видно, Python-ячейки при пересчёте дают ошибку |
По справке на 07.11.2026 доступность зависит от подписки и канала обновлений: в Windows для Enterprise и Business нужна версия 2408 или новее[3]. В Google Таблицах программируют на другом языке: запись макроса там создаёт Apps Script[5].
Разобравшись с тем, где работает код, переходим к первой формуле.
Как написать первую Python-формулу: =PY, xl() и pandas
Python-формулу начинают командой Insert Python на вкладке «Формулы» или вводом =PY в ячейку[2]. Возьмём таблицу «Поездки» с тремя столбцами:
| A | B | C | |
|---|---|---|---|
| 1 | Район | Тариф | Сумма |
| 2 | Центр | Эконом | 420 |
| 3 | Север | Комфорт | 780 |
| 4 | Центр | Комфорт | 650 |
- Выделите ячейку под таблицей и выберите Insert Python.
- Передайте таблицу в pandas функцией xl с аргументом headers=True.
- Напишите группировку и подтвердите формулу.
df = xl("Поездки[#All]", headers=True)
df.groupby("Район")["Сумма"].sum()
Аргумент headers=True нужен, чтобы заголовки таблицы обработались правильно[2]. Если ячейка ссылается на переменную из другой Python-ячейки, та должна стоять раньше: ячейки считаются по строкам, слева направо и сверху вниз[2].
Соберите такую формулу в тренажёре: урок спросит, что значит headers=True, и сравнит группировку с формулой листа.
Однако формула вернёт не просто число: тип результата устроен иначе, чем у обычной функции.
Объект Python или значение на листе: чем отличаются результаты
Объект Python удобен для следующей Python-формулы, а значение Excel — для обычных формул и диаграмм. Результат, возвращённый как значение Excel, переводится в ближайший эквивалент Excel, а для повторного использования в коде справка советует объект Python[2].
| Тип результата | Что на листе | Когда выбирать |
|---|---|---|
| объект Python | ячейка с объектом, например DataFrame | результат пойдёт в следующую Python-формулу |
| значение Excel | числа и текст в ячейках | на результат сошлются СУММ, диаграмма или сводная |
Порядок вычислений важен для обоих типов: внутри одной ячейки инструкции выполняются сверху вниз, а переменную нужно определить до первой ссылки на неё[2]. Если на результат будут ссылаться обычные формулы, выбирайте значение Excel.
Быстрые расчёты не бесконечны. Премиальные вычисления ограничены месячной квотой, после неё расчёт идёт в стандартном режиме[3], а квота обновляется в начале месяца[3].
Остаётся понять, у кого функция есть, а у кого её не будет.
Когда Python не подойдёт: подписка, платформа и файлы
Python не подойдёт, если Excel куплен навсегда или книгу пересчитывают на телефоне. Ограничения заданы подпиской и платформой, поэтому проверьте свою версию по таблице выше до начала работы.
- Если у вас Windows с Semi-Annual Enterprise Channel, функция появляется с версии 2502[3].
- При бесплатной или бессрочной потребительской лицензии функция не поддерживается[3].
- Когда книгу пересчитывают на iPad, iPhone или Android, Python-ячейки покажут ошибку[3].
- Если нет интернета, расчёт не выполнится: подключение обязательно[1].
- При данных в файле на диске код их не прочитает — сначала загрузите файл на лист или в запрос Power Query.
Коротко: Python-ячейки не подойдут при бессрочной лицензии, на iPad, iPhone и Android, без интернета и для чтения файлов с диска. Статистику без облака считают функциями листа для описательной статистики, а соседние темы собраны среди всех уроков тренажёра по программированию и анализу.
Частые вопросы
Нужно ли устанавливать Python на компьютер?
Нет: устанавливать Python не нужно, код выполняется в Microsoft Cloud[1]. Нужен только интернет и подходящая подписка Microsoft 365.
Почему Python-ячейки показывают ошибку на телефоне?
Python-ячейки дают ошибку, потому что Excel для iPad, iPhone и Android функцию не поддерживает: книгу видно, но при пересчёте появляется ошибка[3]. Пересчитывайте такие книги в Excel для Windows, Mac или в браузере.
Можно ли в Python-ячейке прочитать CSV-файл с диска?
Нет: прочитать файл с диска в Python-ячейке нельзя, pandas.read_csv и pandas.read_excel с Python в Excel не совместимы[2]. Данные сначала кладут на лист, а код берёт их функцией xl().
Чем Python-объект отличается от обычного значения ячейки?
Объект Python остаётся объектом для следующих Python-формул, а значение Excel переводится в ближайший эквивалент Excel[2]. На значение Excel могут ссылаться обычные формулы и диаграммы.
Источники
- [1] Microsoft, справка «Introduction to Python in Excel» (английская версия), 2026
- [2] Microsoft, справка «Get started with Python in Excel» (английская версия), 2026
- [3] Microsoft, справка «Python in Excel availability» (английская версия), 2026
- [4] Microsoft, справка «Data security and Python in Excel» (английская версия), 2026
- [5] Google, справка «Automate tasks in Google Sheets» (английская версия), 2026