Категория

Аудит Excel с помощью ИИ на C#: обнаружение ошибок и аномалий данных

2026-09-23 02:14:53 Jack Du
AI Summarize:
ChatGPT
ChatGPT ✓
Claude ✓
Grok ✓
Perplexity ✓
Quick
Quick
Concise overview
Highlights
Key takeaways
Detailed
Structured explanation
Brief
One sentence summary
Summarize |

Обзор выделенных проблем

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

С помощью ИИ-агента такие проблемы можно выявлять посредством инструкций по аудиту на естественном языке, вместо того чтобы полностью полагаться на жестко заданные правила проверки. В этой статье показано, как использовать Spire.Agent.Office в C# для аудита книги Excel, выявления потенциальных проблем с данными и формулами, выделения подозрительных ячеек и создания структурированного отчета об аудите.

1. Что такое аудит Excel на основе ИИ?

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

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

Например, ИИ-агенту можно поручить искать:

  • Отсутствующие или неполные данные
  • Дублирующиеся или подозрительные записи
  • Необычные числовые значения или выбросы
  • Несогласованные шаблоны данных
  • Отсутствующие формулы
  • Формулы, которые неожиданно отличаются от соседних строк
  • Подозрительные результаты вычислений или ссылки на ячейки

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

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

2. Настройка проекта C#

Создайте новое консольное приложение C# и добавьте в проект необходимый пакет Spire.Agent.Office.

В примере используются следующие пространства имен:

using Spire.Agent.Office.AI;
using Spire.Agent.Office.Extensions;
using Spire.Xls;

Для доступа к функциональности ИИ требуется действующий токен Spire. Вы можете запросить временный тестовый токен на странице временной лицензии Spire.

Базовая конфигурация выглядит так:

AIOptions options = new AIOptions();
options.SpireToken = "YOUR_SPIRE_TOKEN";

В приведенных ниже примерах используется книга Excel с именем:

SalesData.xlsx

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

3. Подготовка книги Excel к аудиту

Первый шаг — загрузить книгу с помощью Workbook.

Workbook workbook = new Workbook();
workbook.LoadFromFile("SalesData.xlsx");

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

Агент может работать с электронной таблицей как со структурированным документом Office и проверять такую информацию, как:

  • Содержимое листов
  • Значения ячеек
  • Формулы
  • Строки и столбцы
  • Шаблоны данных
  • Связи между соседними ячейками

Например, лист с продажами может содержать данные, подобные следующим:

Номер заказа Дата Товар Количество Цена за единицу Скидка Итого
ORD-1001 2026-08-01 Ноутбук 2 850 0.10 1530
ORD-1002 2026-08-02 Монитор 5 260 0.05 1235
ORD-1003 2026-08-03 Клавиатура 10 45 0.10 405
ORD-1004 2026-08-04 Ноутбук 3 850 0.80 510

Последняя строка может заслуживать внимания, поскольку скидка 80 % существенно отличается от окружающих записей.

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

4. Создание ИИ-агента для аудита книг Excel

Основная часть рабочего процесса — определение задачи аудита.

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

Определение правил и инструкций аудита

Например:

string instruction = @"
Audit this Excel workbook for potential data quality and formula issues.

Check for:
- Missing or incomplete values
- Duplicate records
- Unusual or suspicious numeric values
- Inconsistent data patterns
- Missing formulas
- Formulas that differ unexpectedly from nearby rows
- Suspicious cell references or calculation results

Do not modify valid source data.

For every detected issue, record:
- Worksheet name
- Cell or range
- Issue type
- Explanation

Highlight problematic cells and create a new worksheet named
'Audit Report' containing the audit results.
";

Инструкция определяет как то, что агент должен проверить, так и то, как следует представить результаты.

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

Анализ данных и шаблонов формул

После загрузки книги и настройки параметров ИИ создайте обработчик документов ИИ на основе книги:

AIDocumentProcessor processor = workbook.AI(options);

Затем отправьте агенту инструкцию по аудиту:

processor.ExecuteInstruction(
    workbook,
    instruction,
    "AuditedSalesData.xlsx",
    Array.Empty<string>()
);

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

using Spire.Agent.Office.AI;
using Spire.Agent.Office.Extensions;
using Spire.Xls;

string inputPath = "SalesData.xlsx";
string outputPath = "AuditedSalesData.xlsx";
string spireToken = "YOUR_SPIRE_TOKEN";

Workbook workbook = new Workbook();
workbook.LoadFromFile(inputPath);

AIOptions options = new AIOptions();
options.SpireToken = spireToken;

string instruction = @"
Audit this Excel workbook for potential data quality and formula issues.

Check for missing values, duplicate records, unusual numeric values,
inconsistent data patterns, missing formulas, formulas that differ
unexpectedly from nearby rows, and suspicious calculation results.

Do not modify valid source data.

Highlight cells containing potential issues and create a worksheet named
'Audit Report' with the following columns:

Worksheet | Cell | Issue | Explanation
";

AIDocumentProcessor processor = workbook.AI(options);

processor.ExecuteInstruction(
    workbook,
    instruction,
    outputPath,
    Array.Empty<string>()
);

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

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

Важно сообщить агенту, как следует организовать результаты аудита.

Например:

Worksheet | Cell | Issue | Explanation

Сгенерированный отчет об аудите может выглядеть так:

Лист Ячейка Проблема Пояснение
Sales F5 Необычное значение Скидка 80 % значительно выше, чем в окружающих записях.
Sales A12 Дублирующаяся запись Этот номер заказа также встречается в другой строке.
Sales B18 Отсутствующее значение Дата заказа не заполнена.
Sales G24 Несогласованность формул Формула отличается от шаблона формул, используемого в соседних строках.

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

5. Выделение обнаруженных проблем и создание отчета об аудите

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

В инструкции можно попросить агента выполнить два действия:

string outputInstruction = @"
Highlight every cell that contains a potential issue.

Create an 'Audit Report' worksheet and list every issue using these columns:

Worksheet | Cell | Issue | Explanation

Do not change cells that do not contain an identified issue.
";

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

Просмотр выделенных проблем на исходном листе

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

Обзор выделенных проблем

Рисунок 1. Потенциальные проблемы, выделенные на исходном листе. Для находок одного типа используется один и тот же цвет.

В этом примере агент выявил несколько типов проблем, включая необычно высокую скидку в G6, выброс по количеству в E10, отсутствующую дату заказа в B17, отрицательную цену за единицу в F23 и проблемы, связанные с формулами, в столбце «Итого».

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

Просмотр подробного отчета об аудите

Помимо выделения исходных данных, агент создает лист Audit Report, в котором для каждой находки указаны затронутая ячейка, тип проблемы и пояснение.

Просмотр подробного отчета об аудите

Рисунок 2. Сгенерированный отчет об аудите содержит расположение, тип и пояснение для каждой обнаруженной проблемы.

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

Например, агент обнаружил, что:

  • A8 и A13 содержат одинаковый номер заказа.
  • G6 содержит скидку 80 %, которая значительно выше остальных скидок.
  • H13 содержит жестко заданное значение вместо шаблона формулы, используемого в соседних строках.
  • H19 использует сложение вместо вычитания при применении скидки.
  • H30 дает итог, не соответствующий ожидаемому вычислению.

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

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

6. Лучшие практики аудита Excel на основе ИИ

Аудит на основе ИИ работает особенно хорошо, когда он применяется вместе с четкими требованиями к аудиту.

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

Во-вторых, различайте детерминированные правила и контекстный анализ. Такие условия, как «Количество никогда не должно быть отрицательным», можно надежно проверять с помощью обычных правил. ИИ более полезен в ситуациях, например, когда нужно выявить значение, которое выглядит несоответствующим окружающим записям, или распознать неожиданный шаблон формулы.

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

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

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

7. Заключение

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

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

Используя Spire.Agent.Office в C#, рабочий процесс может оставаться относительно простым: загрузить книгу Excel, определить требования к аудиту, выполнить инструкцию и создать новую книгу с выделенными проблемами и структурированным отчетом об аудите.

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

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

Может ли ИИ обнаруживать неправильные формулы в Excel?

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

Можно ли настраивать правила аудита?

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

Например:

"Flag discounts above 50% and orders with a missing customer ID."

Может ли ИИ обнаруживать дублирующиеся записи Excel?

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

Для более детерминированного обнаружения дубликатов обычную логику Excel или C# также можно объединить с ИИ-аудитом.

Может ли ИИ автоматически исправлять обнаруженные ошибки?

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

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

Можно ли использовать тот же подход для разных типов файлов Excel?

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

Смотрите также