Формулы таблиц диаграмм
О формуле таблицы диаграмм в презентации
Таблица диаграмм (или таблица рабочего листа диаграммы) в презентации является источником данных для диаграммы. Таблица диаграмм содержит данные, которые графически представлены на диаграмме. Когда вы создаете диаграмму в PowerPoint, рабочий лист, связанный с этой диаграммой, также создается автоматически. Рабочий лист диаграммы создается для всех типов диаграмм: линейных диаграмм, столбчатых диаграмм, диаграмм-солариев, круговых диаграмм и т. д. Чтобы увидеть таблицу диаграмм в PowerPoint, вы должны дважды щелкнуть по диаграмме:
Таблица диаграмм содержит названия элементов диаграммы (Название категории: Категория1, Название серии) и таблицу с числовыми данными, соответствующими этим категориям и сериям. По умолчанию, когда вы создаете новую диаграмму, данные таблицы диаграмм устанавливаются с помощью данных по умолчанию. Затем вы можете изменить данные таблицы в рабочем листе вручную.
Обычно диаграмма представляет сложные данные (например, финансовые аналитики, научные аналитики), имея ячейки, значения которых вычисляются на основе значений в других ячейках или из других динамических данных. Вычисление значения ячейки вручную и его жесткое кодирование в ячейке затрудняет изменение в будущем. Если вы измените значение определенной ячейки, все ячейки, зависящие от нее, также потребуют обновления. Более того, данные таблицы могут зависеть от данных из других таблиц, создавая сложную схему данных презентации с необходимостью обновления в простом и гибком формате.
Формула таблицы диаграмм в презентации — это выражение, автоматически вычисляющее и обновляющее данные таблицы диаграмм. Формула таблицы определяет логику вычисления данных для определенной ячейки или набора ячеек. Формула таблицы представляет собой математическую формулу или логическую формулу, которая использует: ссылки на ячейки, математические функции, логические операторы, арифметические операторы, функции преобразования, строковые константы и т. д. Определение формулы записывается в ячейку, и эта ячейка не содержит простого значения. Формула таблицы вычисляет значение и возвращает его, затем это значение присваивается ячейке. Формулы таблицы диаграмм в презентациях на самом деле такие же, как формулы Excel, и поддерживаются те же функции, операторы и константы по умолчанию для их реализации.
В Aspose.Slides таблица диаграмм представлена с помощью ChartData::get_ChartDataWorkbook() метода типа IChartDataWorkbook. Формула таблицы может быть назначена и изменена с помощью IChartDataCell::set_Formula() метода. Для формул в Aspose.Slides поддерживается следующая функциональность:
- Логические константы
- Числовые константы
- Строковые константы
- Константы ошибок
- Арифметические операторы
- Операторы сравнения
- Ссылки на ячейки в формате A1
- Ссылки на ячейки в формате R1C1
- Предопределенные функции
Обычно таблицы хранят последние вычисленные значения формул. Если после загрузки презентации данные диаграммы не были изменены, метод IChartDataCell.get_Value() вернет эти значения при чтении. Однако, если данные таблицы были изменены, метод ChartDataCell.get_Value() выбросит CellUnsupportedDataException для неподдерживаемых формул. Это происходит потому, что когда формулы успешно разбираются, определяются зависимости ячеек, и устанавливается правильность последних значений. Однако, если формула не может быть разобрана, корректность значения ячейки не может быть гарантирована.
Добавить формулу таблицы диаграмм в презентацию
Сначала добавьте диаграмму на первый слайд новой презентации с помощью IShapeCollection::AddChart(). Рабочий лист диаграммы создается автоматически и может быть доступен с помощью ChartData::get_ChartDataWorkbook() метода:
auto presentation = System::MakeObject<Presentation>();
auto chart = presentation->get_Slides()->idx_get(0)->get_Shapes()->AddChart(ChartType::ClusteredColumn, 150.0f, 150.0f, 500.0f, 300.0f);
auto workbook = chart->get_ChartData()->get_ChartDataWorkbook();
// ...
Давайте запишем несколько значений в ячейки с помощью IChartDataCell.set_Value() метода типа Object, что означает, что вы можете передать любое значение в метод:
workbook->GetCell(0, u"F2")->set_Value(System::ObjectExt::Box<double>(-2.5));
workbook->GetCell(0, u"G3")->set_Value(System::ObjectExt::Box<double>(6.3));
workbook->GetCell(0, u"H4")->set_Value(System::ObjectExt::Box<int32_t>(3));
Теперь чтобы записать формулу в ячейку, вы можете использовать IChartDataCell::set_Formula() метод:
Примечание: IChartDataCell::set_Formula() метод используется для установки ссылок на ячейки в формате A1.
Чтобы установить ссылку ячейки формата R1C1, вы можете использовать метод IChartDataCell::set_R1C1Formula():
Затем, если вы попробуете прочитать значения из ячеек B2 и C2, они будут вычислены:
auto value1 = cell1->get_Value(); // 7.8
auto value2 = cell2->get_Value(); // 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