Прецеденты и иждивенцы

Вступление

  • Предшествующие ячейки — это ячейки, на которые ссылается формула в другом Cell. Например, если ячейка D10 содержит формулу =B5, ячейка B5 является предшествующей ячейке D10.
  • Зависимые ячейки содержат формулы, которые ссылаются на другие ячейки. Например, если ячейка D10 содержит формулу =B5, ячейка D10 зависит от ячейки B5.

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

Aspose.Cells позволяет отслеживать ячейки и выяснять, какие из них связаны.

Отслеживание предшествующего и зависимого Cells: Microsoft Excel

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

Точно так же предположим, что C1 содержит формулу “=(B122)/(М2N32)». Я хочу найти ячейки, от которых зависит C1, то есть предшествующие ячейки B1, M2 и N32.

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

Microsoft Excel позволяет пользователям отслеживать прецеденты и иждивенцев.

  1. НаПанель инструментов просмотра , ВыбратьАудит формул. Появится диалоговое окно аудита формул.
  2. Проследить прецеденты:
  3. Выберите ячейку, содержащую формулу, для которой вы хотите найти предшествующие ячейки.
  4. Чтобы отобразить трассировочную стрелку для каждой ячейки, которая непосредственно предоставляет данные для активной ячейки, щелкнитеОтследить прецеденты наАудит формул панель инструментов.
  5. Формулы трассировки, которые ссылаются на определенную ячейку (зависимые)
  6. Выберите ячейку, для которой вы хотите определить зависимые ячейки.
  7. Чтобы отобразить стрелку трассировки для каждой ячейки, зависящей от активной ячейки, щелкните Отслеживать зависимые элементы на панели инструментов Аудит формул.

Отслеживание прецедента и зависимого Cells: Aspose.Cells

Отслеживание прецедентов

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

В приведенном ниже примере используется файл шаблона Excel Book1.xls. Электронная таблица содержит данные и формулы на первом рабочем листе.

Aspose.Cells обеспечиваетCell учебный класс'Получитьпрецеденты метод, используемый для отслеживания прецедентов ячейки. Он возвращаетReferredAreaCollectionКак видно выше, в Book1.xls ячейка B7 содержит формулу «=СУММ(A1:A3)». Таким образом, ячейки A1: A3 являются предшествующими ячейками для ячейки B7. В следующем примере демонстрируется функция отслеживания прецедентов с использованием файла шаблона Book1.xls.

Отслеживание иждивенцев

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

Aspose.Cells обеспечиваетCell учебный класс'GetDependentsметод, используемый для отслеживания иждивенцев ячейки. Например, в Book1.xlsx есть формулы: “=A1+20” и “=A1+30” в ячейках B2 и C2 соответственно. В следующем примере показано, как отслеживать иждивенцев для ячейки A1 с помощью файла шаблона Book1.xlsx.

Отслеживание предшествующих и зависимых ячеек в соответствии с цепочкой вычислений

Вышеуказанный апис отслеживания прецедентов и иждивенцев осуществляется по самой формуле выражения. Они просто предоставляют удобный способ для пользователя отслеживать взаимозависимости для нескольких формул. Если в рабочей книге большое количество формул, и пользователю необходимо отслеживать прецеденты и зависимости для каждой ячейки, они будут давать низкую производительность. В такой ситуации пользователь должен рассмотреть возможность использованияGetPrecedentsInCalculation иGetDependentsInCalculation методы. Эти два метода отслеживают зависимости по цепочке вычислений. Итак, чтобы их использовать, во-первых, вам нужно включить цепочку вычислений,Workbook.Settings.FormulaSettings.EnableCalculationChain . Затем вы должны выполнить полный расчет для рабочей книги,Рабочая книга.ВычислитьФормулу(). После этого вы можете отслеживать прецеденты или иждивенцы для всех нужных вам ячеек.

Для некоторых формул результирующие прецеденты могут отличаться для GetPrecedents и GetPrecedentsInCalculation, а результирующие зависимые элементы могут отличаться для GetDependents и GetDependentsInCalculation. Например, если формула ячейки A1 — «=ЕСЛИ (ИСТИНА, B2, C3)», GetPrecedents предоставит B2 и C3 в качестве прецедента A1. Соответственно, B2 и C3 имеют зависимого A1 при проверке GetDependents. Однако для расчета по этой формуле очевидно, что только B2 может повлиять на результат расчета. Таким образом, GetPrecedentsInCalculation не предоставит C3 для A1, а GetDependentsInCalculation не предоставит A1 для C3. Иногда пользователю может просто потребоваться отследить те взаимозависимости, которые фактически влияют на вычисленный результат формул на основе текущих данных рабочей книги, тогда им также необходимо использовать GetDependentsInCalculation/GetPrecedentsInCalculation вместо GetDependents/GetPrecedents.

В следующем примере показано, как отслеживать прецеденты и иждивенцы в соответствии с цепочкой вычислений для ячеек: