# Клубок — навигация по формулам и связям финансовых моделей в Excel

Технологии: TypeScript, React, Office.js, Excel.

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

## Контекст
Финансовые аналитики работают с книгами, где итоговая цифра зависит от длинной цепочки формул на разных листах. Чтобы проверить расчёт, нужно восстановить эту цепочку и быстро переходить между её элементами.

## Задача
- Длинную формулу трудно читать целиком и связывать её части с исходными данными.
- Переходы между листами сбивают контекст проверки.
- Перед изменением значения нужно понять, какие расчёты от него зависят.

## Решение
- Вкладка в ленте Excel открывает боковую панель разбора выбранной ячейки.
- Парсер раскладывает формулу на дерево функций, операторов и ссылок.
- Панель показывает исходные ячейки и зависимые значения; переход по ссылке выделяет нужный диапазон в книге.
- Навигация с клавиатуры позволяет раскрывать дерево, идти по ссылкам и возвращаться к предыдущему шагу.
- Работа с Excel отделена от логики разбора: сценарии можно проверять на демонстрационной книге без запуска Office.
- Если нужный API Excel недоступен, интерфейс сообщает об ограничении и извлекает прямые ссылки из текста формулы.

## Роль Tatar.dev
- Tatar.dev подготовил требования и архитектуру надстройки, разработал парсер формул и модель связей.
- Команда реализовала панель, команды ленты, адаптер Excel и демонстрационную книгу.

## Результат
- Формула представлена как структура, по которой можно последовательно пройти от результата к исходным данным.
- Аналитик видит связи и переходит к ячейкам в книге без ручного поиска адресов между листами.

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

## Совместимость с Excel
Доступность отдельных связей зависит от версии Excel и поддерживаемых API. Эти возможности проверяются отдельно, а ограничения показываются пользователю. Интерфейс и логика разбора отделены от платформенного адаптера, чтобы развивать их независимо.

Услуга: https://tatar.dev/services/internal-systems

---
Tatar.dev — разработка информационных систем, интеграций и решений с ИИ. Казань, Республика Татарстан, проекты по России.
Контакты: ai@tatar.dev · Telegram @tatardev (https://t.me/tatardev)
HTML-версия: https://tatar.dev/cases/klubok · Все страницы: https://tatar.dev/llms.txt
