Формулы рабочей таблицы диаграммы

О формуле диаграммной таблицы в презентации

Диаграммная таблица (или рабочая таблица диаграммы) в презентации является источником данных для диаграммы. Диаграммная таблица содержит данные, которые представлены на диаграмме в графическом виде. Когда вы создаете диаграмму в PowerPoint, рабочая таблица, связанная с этой диаграммой, также создается автоматически. Рабочая таблица диаграммы создается для всех типов диаграмм: линейная диаграмма, столбчатая диаграмма, диаграмма с солнечным всплеском, круговая диаграмма и т. д. Чтобы увидеть диаграммную таблицу в PowerPoint, вы должны дважды щелкнуть на диаграмме:

todo:image_alt_text

Диаграммная таблица содержит названия элементов диаграммы (Название категории: Категория1, Название серии) и таблицу с числовыми данными, соответствующими этим категориям и сериям. По умолчанию, когда вы создаете новую диаграмму, данные диаграммной таблицы устанавливаются с использованием стандартных данных. Затем вы можете изменить данные в рабочей таблице вручную.

Обычно диаграмма представляет собой сложные данные (например, финансовая аналитика, научная аналитика), имея ячейки, которые рассчитываются на основе значений в других ячейках или из других динамических данных. Ручной расчет значения ячейки и жесткое кодирование его в ячейку затрудняет его изменение в дальнейшем. Если вы измените значение определенной ячейки, все ячейки, зависимые от нее, также потребуют обновления. Более того, таблица данных может зависеть от данных из других таблиц, создавая сложную схему презентационных данных с необходимостью обновлять ее легким и гибким образом.

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

В Aspose.Slides диаграммная таблица представлена с помощью Chart.ChartData.ChartDataWorkbook свойства типа IChartDataWorkbook. Формула таблицы может быть назначена и изменена с помощью IChartDataCell.Formula свойства. Следующий функционал поддерживается для формул в Aspose.Slides:

  • Логические константы
  • Числовые константы
  • Строковые константы
  • Константы ошибок
  • Арифметические операторы
  • Операторы сравнения
  • Ссылки на ячейки в стиле A1
  • Ссылки на ячейки в стиле R1C1
  • Предопределенные функции

Обычно таблицы хранят последние рассчитанные значения формул. Если после загрузки презентации данные диаграммы не изменились - свойство IChartDataCell.Value возвращает эти значения при чтении. Но если данные таблицы были изменены, при чтении свойства ChartDataCell.Value выбрасывается CellUnsupportedDataException для неподдерживаемых формул. Это происходит потому, что когда формулы успешно парсятся, определяются зависимости ячеек и устанавливается корректность последних значений. Но если формулу невозможно разобрать, нельзя гарантировать корректность значения ячейки.

Добавление формулы диаграммной таблицы в презентацию

Сначала добавьте диаграмму с некоторыми образцовыми данными на первый слайд новой презентации с помощью IShapeCollection.Shapes.AddChart. Рабочая таблица диаграммы создается автоматически и может быть доступна с помощью Chart.ChartData.ChartDataWorkbook свойства:


using (var presentation = new Presentation())

{

    IChart chart = presentation.Slides[0].Shapes.AddChart(ChartType.ClusteredColumn, 150, 150, 500, 300);

    IChartDataWorkbook workbook = chart.ChartData.ChartDataWorkbook;

    // ...

}

Давайте запишем некоторые значения в ячейки с помощью IChartDataCell.Value свойства типа Object, что означает, что вы можете присвоить любое значение этому свойству:


workbook.GetCell(0, "F2").Value = -2.5;

workbook.GetCell(0, "G3").Value = 6.3;

workbook.GetCell(0, "H4").Value = 3;

Теперь, чтобы записать формулу в ячейку, вы можете использовать IChartDataCell.Formula свойство:

workbook.GetCell(0, "B2").Formula = "F2+G3+H4+1";

ПримечаниеIChartDataCell.Formula свойство используется для установки ссылок на ячейки в стиле A1. 

Чтобы установить ссылку на ячейку R1C1Formula, вы можете использовать IChartDataCell.R1C1Formula свойство:

workbook.GetCell(0, "C2").R1C1Formula = "R[1]C[4]/R[2]C[5]";

Затем используйте IChartDataWorkbook.CalculateFormulas метод для расчета всех формул внутри рабочей книги и обновления соответствующих значений ячеек:

workbook.CalculateFormulas();

object value1 = workbook.GetCell(0, "B2"); // 7.8

object value2 = workbook.GetCell(0, "C2"); // 2.1

Логические Константы

Вы можете использовать логические константы такие как FALSE и TRUE в формулах ячеек:

Числовые Константы

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

Строковые Константы

Строковая (или буквенная) константа - это конкретное значение, которое используется как есть и не изменяется. Строковые константы могут быть: даты, тексты, числа и т. д.:

Константы Ошибок

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

  • #DIV/0! - формула пытается делить на ноль.
  • #GETTING_DATA - может отображаться в ячейке, пока ее значение все еще вычисляется.
  • #N/A - информация отсутствует или недоступна. Некоторые причины могут быть: ячейки, используемые в формуле, пусты, лишний пробел, опечатка и т. д.
  • #NAME? - определенная ячейка или другие объект формулы не могут быть найдены по своему имени. 
  • #NULL! - может появляться, когда в формуле есть ошибка, например:  (,) или пробел вместо двоеточия (:).
  • #NUM! - числовое значение в формуле может быть недействительным, слишком длинным или слишком маленьким и т. д.
  • #REF! - недопустимая ссылка на ячейку.
  • #VALUE! - неожидаемый тип значения. Например, строковое значение, установленное для числовой ячейки.

Арифметические Операторы

Вы можете использовать все арифметические операторы в формулах рабочей таблицы диаграммы:

Оператор  Значение  Пример
+ (плюс)  Сложение или унарный плюс 2 + 3
- (минус)  Вычитание или отрицание  2 - 3
-3
* (звездочка) Умножение  2 * 3
/ (косая черта) Деление  2 / 3
% (процент) Процент  30%
^ (крышка) Возведение в степень  2 ^ 3

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

Операторы Сравнения

Вы можете сравнивать значения ячеек с помощью операторов сравнения. Когда два значения сравниваются с использованием этих операторов, результатом будет логическое значение, либо TRUE, либо FALSE:

Оператор  Значение  Значение 
= (знак равенства)  Равно  A2 = 3
<> (знак неравенства) Не равно A2 <> 3
> (знак больше) Больше A2 > 3
>= (знак больше или равен) Больше или равно A2 >= 3
< (знак меньше) Меньше A2 < 3
<= (знак меньше или равен) Меньше или равно A2 <= 3

Ссылки на Ячейки в Стиле A1

Ссылки на ячейки в стиле A1 используются для рабочих таблиц, где колонка имеет буквенный идентификатор (например, “A"), а строка имеет числовой идентификатор (например, “1"). Ссылки на ячейки в стиле A1 могут использоваться следующим образом:

Ссылка на ячейку Пример
Абсолютная  Относительная  Смешанная
Ячейка  $A$2  A2

A$2

$A2

Строка  $2:$2  2:2  -
Колонка  $A:$A  A:A  -
Диапазон  $A$2:$C$4  A2:C4

$A$2:C4

A$2:$C4

Вот пример, как использовать ссылку на ячейку в стиле A1 в формуле:

Ссылки на Ячейки в Стиле R1C1

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

Ссылка на ячейку Пример
Абсолютная  Относительная  Смешанная
Ячейка  R2C3 R[2]C[3] R2C[3]
R[2]C3
Строка  R2 R[2] -
Колонка  C3 C[3] -
Диапазон  R2C3:R5C7 R[2]C[3]:R[5]C[7]  R2C3:R[5]C[7]
R[2]C3:R5C[7]

Вот пример, как использовать ссылку на ячейку в стиле A1 в формуле:

Предопределенные Функции

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

  • ABS
  • AVERAGE
  • CEILING
  • CHOOSE
  • CONCAT
  • CONCATENATE
  • DATE (система дат 1900 года)
  • DAYS
  • FIND
  • FINDB
  • IF
  • INDEX (ссылка)
  • LOOKUP (векторная форма)
  • MATCH (векторная форма)
  • MAX
  • SUM
  • VLOOKUP