mirror of
https://github.com/Karaka-Management/Resources.git
synced 2026-10-04 07:18:40 +00:00
update phpexcel
This commit is contained in:
parent
0c69612c48
commit
b652dacd5b
4777
PhpOffice/PhpSpreadsheet/Calculation/Calculation.php
Normal file
4777
PhpOffice/PhpSpreadsheet/Calculation/Calculation.php
Normal file
File diff suppressed because it is too large
Load Diff
19
PhpOffice/PhpSpreadsheet/Calculation/Category.php
Normal file
19
PhpOffice/PhpSpreadsheet/Calculation/Category.php
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Calculation;
|
||||||
|
|
||||||
|
abstract class Category
|
||||||
|
{
|
||||||
|
// Function categories
|
||||||
|
const CATEGORY_CUBE = 'Cube';
|
||||||
|
const CATEGORY_DATABASE = 'Database';
|
||||||
|
const CATEGORY_DATE_AND_TIME = 'Date and Time';
|
||||||
|
const CATEGORY_ENGINEERING = 'Engineering';
|
||||||
|
const CATEGORY_FINANCIAL = 'Financial';
|
||||||
|
const CATEGORY_INFORMATION = 'Information';
|
||||||
|
const CATEGORY_LOGICAL = 'Logical';
|
||||||
|
const CATEGORY_LOOKUP_AND_REFERENCE = 'Lookup and Reference';
|
||||||
|
const CATEGORY_MATH_AND_TRIG = 'Math and Trig';
|
||||||
|
const CATEGORY_STATISTICAL = 'Statistical';
|
||||||
|
const CATEGORY_TEXT_AND_DATA = 'Text and Data';
|
||||||
|
}
|
||||||
632
PhpOffice/PhpSpreadsheet/Calculation/Database.php
Normal file
632
PhpOffice/PhpSpreadsheet/Calculation/Database.php
Normal file
|
|
@ -0,0 +1,632 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Calculation;
|
||||||
|
|
||||||
|
class Database
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* fieldExtract.
|
||||||
|
*
|
||||||
|
* Extracts the column ID to use for the data field.
|
||||||
|
*
|
||||||
|
* @param mixed[] $database The range of cells that makes up the list or database.
|
||||||
|
* A database is a list of related data in which rows of related
|
||||||
|
* information are records, and columns of data are fields. The
|
||||||
|
* first row of the list contains labels for each column.
|
||||||
|
* @param mixed $field Indicates which column is used in the function. Enter the
|
||||||
|
* column label enclosed between double quotation marks, such as
|
||||||
|
* "Age" or "Yield," or a number (without quotation marks) that
|
||||||
|
* represents the position of the column within the list: 1 for
|
||||||
|
* the first column, 2 for the second column, and so on.
|
||||||
|
*
|
||||||
|
* @return null|string
|
||||||
|
*/
|
||||||
|
private static function fieldExtract($database, $field)
|
||||||
|
{
|
||||||
|
$field = strtoupper(Functions::flattenSingleValue($field));
|
||||||
|
$fieldNames = array_map('strtoupper', array_shift($database));
|
||||||
|
|
||||||
|
if (is_numeric($field)) {
|
||||||
|
$keys = array_keys($fieldNames);
|
||||||
|
|
||||||
|
return $keys[$field - 1];
|
||||||
|
}
|
||||||
|
$key = array_search($field, $fieldNames);
|
||||||
|
|
||||||
|
return ($key) ? $key : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* filter.
|
||||||
|
*
|
||||||
|
* Parses the selection criteria, extracts the database rows that match those criteria, and
|
||||||
|
* returns that subset of rows.
|
||||||
|
*
|
||||||
|
* @param mixed[] $database The range of cells that makes up the list or database.
|
||||||
|
* A database is a list of related data in which rows of related
|
||||||
|
* information are records, and columns of data are fields. The
|
||||||
|
* first row of the list contains labels for each column.
|
||||||
|
* @param mixed[] $criteria The range of cells that contains the conditions you specify.
|
||||||
|
* You can use any range for the criteria argument, as long as it
|
||||||
|
* includes at least one column label and at least one cell below
|
||||||
|
* the column label in which you specify a condition for the
|
||||||
|
* column.
|
||||||
|
*
|
||||||
|
* @return array of mixed
|
||||||
|
*/
|
||||||
|
private static function filter($database, $criteria)
|
||||||
|
{
|
||||||
|
$fieldNames = array_shift($database);
|
||||||
|
$criteriaNames = array_shift($criteria);
|
||||||
|
|
||||||
|
// Convert the criteria into a set of AND/OR conditions with [:placeholders]
|
||||||
|
$testConditions = $testValues = [];
|
||||||
|
$testConditionsCount = 0;
|
||||||
|
foreach ($criteriaNames as $key => $criteriaName) {
|
||||||
|
$testCondition = [];
|
||||||
|
$testConditionCount = 0;
|
||||||
|
foreach ($criteria as $row => $criterion) {
|
||||||
|
if ($criterion[$key] > '') {
|
||||||
|
$testCondition[] = '[:' . $criteriaName . ']' . Functions::ifCondition($criterion[$key]);
|
||||||
|
++$testConditionCount;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($testConditionCount > 1) {
|
||||||
|
$testConditions[] = 'OR(' . implode(',', $testCondition) . ')';
|
||||||
|
++$testConditionsCount;
|
||||||
|
} elseif ($testConditionCount == 1) {
|
||||||
|
$testConditions[] = $testCondition[0];
|
||||||
|
++$testConditionsCount;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($testConditionsCount > 1) {
|
||||||
|
$testConditionSet = 'AND(' . implode(',', $testConditions) . ')';
|
||||||
|
} elseif ($testConditionsCount == 1) {
|
||||||
|
$testConditionSet = $testConditions[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Loop through each row of the database
|
||||||
|
foreach ($database as $dataRow => $dataValues) {
|
||||||
|
// Substitute actual values from the database row for our [:placeholders]
|
||||||
|
$testConditionList = $testConditionSet;
|
||||||
|
foreach ($criteriaNames as $key => $criteriaName) {
|
||||||
|
$k = array_search($criteriaName, $fieldNames);
|
||||||
|
if (isset($dataValues[$k])) {
|
||||||
|
$dataValue = $dataValues[$k];
|
||||||
|
$dataValue = (is_string($dataValue)) ? Calculation::wrapResult(strtoupper($dataValue)) : $dataValue;
|
||||||
|
$testConditionList = str_replace('[:' . $criteriaName . ']', $dataValue, $testConditionList);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// evaluate the criteria against the row data
|
||||||
|
$result = Calculation::getInstance()->_calculateFormulaValue('=' . $testConditionList);
|
||||||
|
// If the row failed to meet the criteria, remove it from the database
|
||||||
|
if (!$result) {
|
||||||
|
unset($database[$dataRow]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $database;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static function getFilteredColumn($database, $field, $criteria)
|
||||||
|
{
|
||||||
|
// reduce the database to a set of rows that match all the criteria
|
||||||
|
$database = self::filter($database, $criteria);
|
||||||
|
// extract an array of values for the requested column
|
||||||
|
$colData = [];
|
||||||
|
foreach ($database as $row) {
|
||||||
|
$colData[] = $row[$field];
|
||||||
|
}
|
||||||
|
|
||||||
|
return $colData;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DAVERAGE.
|
||||||
|
*
|
||||||
|
* Averages the values in a column of a list or database that match conditions you specify.
|
||||||
|
*
|
||||||
|
* Excel Function:
|
||||||
|
* DAVERAGE(database,field,criteria)
|
||||||
|
*
|
||||||
|
* @category Database Functions
|
||||||
|
*
|
||||||
|
* @param mixed[] $database The range of cells that makes up the list or database.
|
||||||
|
* A database is a list of related data in which rows of related
|
||||||
|
* information are records, and columns of data are fields. The
|
||||||
|
* first row of the list contains labels for each column.
|
||||||
|
* @param int|string $field Indicates which column is used in the function. Enter the
|
||||||
|
* column label enclosed between double quotation marks, such as
|
||||||
|
* "Age" or "Yield," or a number (without quotation marks) that
|
||||||
|
* represents the position of the column within the list: 1 for
|
||||||
|
* the first column, 2 for the second column, and so on.
|
||||||
|
* @param mixed[] $criteria The range of cells that contains the conditions you specify.
|
||||||
|
* You can use any range for the criteria argument, as long as it
|
||||||
|
* includes at least one column label and at least one cell below
|
||||||
|
* the column label in which you specify a condition for the
|
||||||
|
* column.
|
||||||
|
*
|
||||||
|
* @return float|string
|
||||||
|
*/
|
||||||
|
public static function DAVERAGE($database, $field, $criteria)
|
||||||
|
{
|
||||||
|
$field = self::fieldExtract($database, $field);
|
||||||
|
if ($field === null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Return
|
||||||
|
return Statistical::AVERAGE(
|
||||||
|
self::getFilteredColumn($database, $field, $criteria)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DCOUNT.
|
||||||
|
*
|
||||||
|
* Counts the cells that contain numbers in a column of a list or database that match conditions
|
||||||
|
* that you specify.
|
||||||
|
*
|
||||||
|
* Excel Function:
|
||||||
|
* DCOUNT(database,[field],criteria)
|
||||||
|
*
|
||||||
|
* Excel Function:
|
||||||
|
* DAVERAGE(database,field,criteria)
|
||||||
|
*
|
||||||
|
* @category Database Functions
|
||||||
|
*
|
||||||
|
* @param mixed[] $database The range of cells that makes up the list or database.
|
||||||
|
* A database is a list of related data in which rows of related
|
||||||
|
* information are records, and columns of data are fields. The
|
||||||
|
* first row of the list contains labels for each column.
|
||||||
|
* @param int|string $field Indicates which column is used in the function. Enter the
|
||||||
|
* column label enclosed between double quotation marks, such as
|
||||||
|
* "Age" or "Yield," or a number (without quotation marks) that
|
||||||
|
* represents the position of the column within the list: 1 for
|
||||||
|
* the first column, 2 for the second column, and so on.
|
||||||
|
* @param mixed[] $criteria The range of cells that contains the conditions you specify.
|
||||||
|
* You can use any range for the criteria argument, as long as it
|
||||||
|
* includes at least one column label and at least one cell below
|
||||||
|
* the column label in which you specify a condition for the
|
||||||
|
* column.
|
||||||
|
*
|
||||||
|
* @return int
|
||||||
|
*
|
||||||
|
* @TODO The field argument is optional. If field is omitted, DCOUNT counts all records in the
|
||||||
|
* database that match the criteria.
|
||||||
|
*/
|
||||||
|
public static function DCOUNT($database, $field, $criteria)
|
||||||
|
{
|
||||||
|
$field = self::fieldExtract($database, $field);
|
||||||
|
if ($field === null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Return
|
||||||
|
return Statistical::COUNT(
|
||||||
|
self::getFilteredColumn($database, $field, $criteria)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DCOUNTA.
|
||||||
|
*
|
||||||
|
* Counts the nonblank cells in a column of a list or database that match conditions that you specify.
|
||||||
|
*
|
||||||
|
* Excel Function:
|
||||||
|
* DCOUNTA(database,[field],criteria)
|
||||||
|
*
|
||||||
|
* @category Database Functions
|
||||||
|
*
|
||||||
|
* @param mixed[] $database The range of cells that makes up the list or database.
|
||||||
|
* A database is a list of related data in which rows of related
|
||||||
|
* information are records, and columns of data are fields. The
|
||||||
|
* first row of the list contains labels for each column.
|
||||||
|
* @param int|string $field Indicates which column is used in the function. Enter the
|
||||||
|
* column label enclosed between double quotation marks, such as
|
||||||
|
* "Age" or "Yield," or a number (without quotation marks) that
|
||||||
|
* represents the position of the column within the list: 1 for
|
||||||
|
* the first column, 2 for the second column, and so on.
|
||||||
|
* @param mixed[] $criteria The range of cells that contains the conditions you specify.
|
||||||
|
* You can use any range for the criteria argument, as long as it
|
||||||
|
* includes at least one column label and at least one cell below
|
||||||
|
* the column label in which you specify a condition for the
|
||||||
|
* column.
|
||||||
|
*
|
||||||
|
* @return int
|
||||||
|
*
|
||||||
|
* @TODO The field argument is optional. If field is omitted, DCOUNTA counts all records in the
|
||||||
|
* database that match the criteria.
|
||||||
|
*/
|
||||||
|
public static function DCOUNTA($database, $field, $criteria)
|
||||||
|
{
|
||||||
|
$field = self::fieldExtract($database, $field);
|
||||||
|
if ($field === null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// reduce the database to a set of rows that match all the criteria
|
||||||
|
$database = self::filter($database, $criteria);
|
||||||
|
// extract an array of values for the requested column
|
||||||
|
$colData = [];
|
||||||
|
foreach ($database as $row) {
|
||||||
|
$colData[] = $row[$field];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Return
|
||||||
|
return Statistical::COUNTA(
|
||||||
|
self::getFilteredColumn($database, $field, $criteria)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DGET.
|
||||||
|
*
|
||||||
|
* Extracts a single value from a column of a list or database that matches conditions that you
|
||||||
|
* specify.
|
||||||
|
*
|
||||||
|
* Excel Function:
|
||||||
|
* DGET(database,field,criteria)
|
||||||
|
*
|
||||||
|
* @category Database Functions
|
||||||
|
*
|
||||||
|
* @param mixed[] $database The range of cells that makes up the list or database.
|
||||||
|
* A database is a list of related data in which rows of related
|
||||||
|
* information are records, and columns of data are fields. The
|
||||||
|
* first row of the list contains labels for each column.
|
||||||
|
* @param int|string $field Indicates which column is used in the function. Enter the
|
||||||
|
* column label enclosed between double quotation marks, such as
|
||||||
|
* "Age" or "Yield," or a number (without quotation marks) that
|
||||||
|
* represents the position of the column within the list: 1 for
|
||||||
|
* the first column, 2 for the second column, and so on.
|
||||||
|
* @param mixed[] $criteria The range of cells that contains the conditions you specify.
|
||||||
|
* You can use any range for the criteria argument, as long as it
|
||||||
|
* includes at least one column label and at least one cell below
|
||||||
|
* the column label in which you specify a condition for the
|
||||||
|
* column.
|
||||||
|
*
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public static function DGET($database, $field, $criteria)
|
||||||
|
{
|
||||||
|
$field = self::fieldExtract($database, $field);
|
||||||
|
if ($field === null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Return
|
||||||
|
$colData = self::getFilteredColumn($database, $field, $criteria);
|
||||||
|
if (count($colData) > 1) {
|
||||||
|
return Functions::NAN();
|
||||||
|
}
|
||||||
|
|
||||||
|
return $colData[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DMAX.
|
||||||
|
*
|
||||||
|
* Returns the largest number in a column of a list or database that matches conditions you that
|
||||||
|
* specify.
|
||||||
|
*
|
||||||
|
* Excel Function:
|
||||||
|
* DMAX(database,field,criteria)
|
||||||
|
*
|
||||||
|
* @category Database Functions
|
||||||
|
*
|
||||||
|
* @param mixed[] $database The range of cells that makes up the list or database.
|
||||||
|
* A database is a list of related data in which rows of related
|
||||||
|
* information are records, and columns of data are fields. The
|
||||||
|
* first row of the list contains labels for each column.
|
||||||
|
* @param int|string $field Indicates which column is used in the function. Enter the
|
||||||
|
* column label enclosed between double quotation marks, such as
|
||||||
|
* "Age" or "Yield," or a number (without quotation marks) that
|
||||||
|
* represents the position of the column within the list: 1 for
|
||||||
|
* the first column, 2 for the second column, and so on.
|
||||||
|
* @param mixed[] $criteria The range of cells that contains the conditions you specify.
|
||||||
|
* You can use any range for the criteria argument, as long as it
|
||||||
|
* includes at least one column label and at least one cell below
|
||||||
|
* the column label in which you specify a condition for the
|
||||||
|
* column.
|
||||||
|
*
|
||||||
|
* @return float
|
||||||
|
*/
|
||||||
|
public static function DMAX($database, $field, $criteria)
|
||||||
|
{
|
||||||
|
$field = self::fieldExtract($database, $field);
|
||||||
|
if ($field === null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Return
|
||||||
|
return Statistical::MAX(
|
||||||
|
self::getFilteredColumn($database, $field, $criteria)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DMIN.
|
||||||
|
*
|
||||||
|
* Returns the smallest number in a column of a list or database that matches conditions you that
|
||||||
|
* specify.
|
||||||
|
*
|
||||||
|
* Excel Function:
|
||||||
|
* DMIN(database,field,criteria)
|
||||||
|
*
|
||||||
|
* @category Database Functions
|
||||||
|
*
|
||||||
|
* @param mixed[] $database The range of cells that makes up the list or database.
|
||||||
|
* A database is a list of related data in which rows of related
|
||||||
|
* information are records, and columns of data are fields. The
|
||||||
|
* first row of the list contains labels for each column.
|
||||||
|
* @param int|string $field Indicates which column is used in the function. Enter the
|
||||||
|
* column label enclosed between double quotation marks, such as
|
||||||
|
* "Age" or "Yield," or a number (without quotation marks) that
|
||||||
|
* represents the position of the column within the list: 1 for
|
||||||
|
* the first column, 2 for the second column, and so on.
|
||||||
|
* @param mixed[] $criteria The range of cells that contains the conditions you specify.
|
||||||
|
* You can use any range for the criteria argument, as long as it
|
||||||
|
* includes at least one column label and at least one cell below
|
||||||
|
* the column label in which you specify a condition for the
|
||||||
|
* column.
|
||||||
|
*
|
||||||
|
* @return float
|
||||||
|
*/
|
||||||
|
public static function DMIN($database, $field, $criteria)
|
||||||
|
{
|
||||||
|
$field = self::fieldExtract($database, $field);
|
||||||
|
if ($field === null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Return
|
||||||
|
return Statistical::MIN(
|
||||||
|
self::getFilteredColumn($database, $field, $criteria)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DPRODUCT.
|
||||||
|
*
|
||||||
|
* Multiplies the values in a column of a list or database that match conditions that you specify.
|
||||||
|
*
|
||||||
|
* Excel Function:
|
||||||
|
* DPRODUCT(database,field,criteria)
|
||||||
|
*
|
||||||
|
* @category Database Functions
|
||||||
|
*
|
||||||
|
* @param mixed[] $database The range of cells that makes up the list or database.
|
||||||
|
* A database is a list of related data in which rows of related
|
||||||
|
* information are records, and columns of data are fields. The
|
||||||
|
* first row of the list contains labels for each column.
|
||||||
|
* @param int|string $field Indicates which column is used in the function. Enter the
|
||||||
|
* column label enclosed between double quotation marks, such as
|
||||||
|
* "Age" or "Yield," or a number (without quotation marks) that
|
||||||
|
* represents the position of the column within the list: 1 for
|
||||||
|
* the first column, 2 for the second column, and so on.
|
||||||
|
* @param mixed[] $criteria The range of cells that contains the conditions you specify.
|
||||||
|
* You can use any range for the criteria argument, as long as it
|
||||||
|
* includes at least one column label and at least one cell below
|
||||||
|
* the column label in which you specify a condition for the
|
||||||
|
* column.
|
||||||
|
*
|
||||||
|
* @return float
|
||||||
|
*/
|
||||||
|
public static function DPRODUCT($database, $field, $criteria)
|
||||||
|
{
|
||||||
|
$field = self::fieldExtract($database, $field);
|
||||||
|
if ($field === null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Return
|
||||||
|
return MathTrig::PRODUCT(
|
||||||
|
self::getFilteredColumn($database, $field, $criteria)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DSTDEV.
|
||||||
|
*
|
||||||
|
* Estimates the standard deviation of a population based on a sample by using the numbers in a
|
||||||
|
* column of a list or database that match conditions that you specify.
|
||||||
|
*
|
||||||
|
* Excel Function:
|
||||||
|
* DSTDEV(database,field,criteria)
|
||||||
|
*
|
||||||
|
* @category Database Functions
|
||||||
|
*
|
||||||
|
* @param mixed[] $database The range of cells that makes up the list or database.
|
||||||
|
* A database is a list of related data in which rows of related
|
||||||
|
* information are records, and columns of data are fields. The
|
||||||
|
* first row of the list contains labels for each column.
|
||||||
|
* @param int|string $field Indicates which column is used in the function. Enter the
|
||||||
|
* column label enclosed between double quotation marks, such as
|
||||||
|
* "Age" or "Yield," or a number (without quotation marks) that
|
||||||
|
* represents the position of the column within the list: 1 for
|
||||||
|
* the first column, 2 for the second column, and so on.
|
||||||
|
* @param mixed[] $criteria The range of cells that contains the conditions you specify.
|
||||||
|
* You can use any range for the criteria argument, as long as it
|
||||||
|
* includes at least one column label and at least one cell below
|
||||||
|
* the column label in which you specify a condition for the
|
||||||
|
* column.
|
||||||
|
*
|
||||||
|
* @return float|string
|
||||||
|
*/
|
||||||
|
public static function DSTDEV($database, $field, $criteria)
|
||||||
|
{
|
||||||
|
$field = self::fieldExtract($database, $field);
|
||||||
|
if ($field === null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Return
|
||||||
|
return Statistical::STDEV(
|
||||||
|
self::getFilteredColumn($database, $field, $criteria)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DSTDEVP.
|
||||||
|
*
|
||||||
|
* Calculates the standard deviation of a population based on the entire population by using the
|
||||||
|
* numbers in a column of a list or database that match conditions that you specify.
|
||||||
|
*
|
||||||
|
* Excel Function:
|
||||||
|
* DSTDEVP(database,field,criteria)
|
||||||
|
*
|
||||||
|
* @category Database Functions
|
||||||
|
*
|
||||||
|
* @param mixed[] $database The range of cells that makes up the list or database.
|
||||||
|
* A database is a list of related data in which rows of related
|
||||||
|
* information are records, and columns of data are fields. The
|
||||||
|
* first row of the list contains labels for each column.
|
||||||
|
* @param int|string $field Indicates which column is used in the function. Enter the
|
||||||
|
* column label enclosed between double quotation marks, such as
|
||||||
|
* "Age" or "Yield," or a number (without quotation marks) that
|
||||||
|
* represents the position of the column within the list: 1 for
|
||||||
|
* the first column, 2 for the second column, and so on.
|
||||||
|
* @param mixed[] $criteria The range of cells that contains the conditions you specify.
|
||||||
|
* You can use any range for the criteria argument, as long as it
|
||||||
|
* includes at least one column label and at least one cell below
|
||||||
|
* the column label in which you specify a condition for the
|
||||||
|
* column.
|
||||||
|
*
|
||||||
|
* @return float|string
|
||||||
|
*/
|
||||||
|
public static function DSTDEVP($database, $field, $criteria)
|
||||||
|
{
|
||||||
|
$field = self::fieldExtract($database, $field);
|
||||||
|
if ($field === null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Return
|
||||||
|
return Statistical::STDEVP(
|
||||||
|
self::getFilteredColumn($database, $field, $criteria)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DSUM.
|
||||||
|
*
|
||||||
|
* Adds the numbers in a column of a list or database that match conditions that you specify.
|
||||||
|
*
|
||||||
|
* Excel Function:
|
||||||
|
* DSUM(database,field,criteria)
|
||||||
|
*
|
||||||
|
* @category Database Functions
|
||||||
|
*
|
||||||
|
* @param mixed[] $database The range of cells that makes up the list or database.
|
||||||
|
* A database is a list of related data in which rows of related
|
||||||
|
* information are records, and columns of data are fields. The
|
||||||
|
* first row of the list contains labels for each column.
|
||||||
|
* @param int|string $field Indicates which column is used in the function. Enter the
|
||||||
|
* column label enclosed between double quotation marks, such as
|
||||||
|
* "Age" or "Yield," or a number (without quotation marks) that
|
||||||
|
* represents the position of the column within the list: 1 for
|
||||||
|
* the first column, 2 for the second column, and so on.
|
||||||
|
* @param mixed[] $criteria The range of cells that contains the conditions you specify.
|
||||||
|
* You can use any range for the criteria argument, as long as it
|
||||||
|
* includes at least one column label and at least one cell below
|
||||||
|
* the column label in which you specify a condition for the
|
||||||
|
* column.
|
||||||
|
*
|
||||||
|
* @return float
|
||||||
|
*/
|
||||||
|
public static function DSUM($database, $field, $criteria)
|
||||||
|
{
|
||||||
|
$field = self::fieldExtract($database, $field);
|
||||||
|
if ($field === null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Return
|
||||||
|
return MathTrig::SUM(
|
||||||
|
self::getFilteredColumn($database, $field, $criteria)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DVAR.
|
||||||
|
*
|
||||||
|
* Estimates the variance of a population based on a sample by using the numbers in a column
|
||||||
|
* of a list or database that match conditions that you specify.
|
||||||
|
*
|
||||||
|
* Excel Function:
|
||||||
|
* DVAR(database,field,criteria)
|
||||||
|
*
|
||||||
|
* @category Database Functions
|
||||||
|
*
|
||||||
|
* @param mixed[] $database The range of cells that makes up the list or database.
|
||||||
|
* A database is a list of related data in which rows of related
|
||||||
|
* information are records, and columns of data are fields. The
|
||||||
|
* first row of the list contains labels for each column.
|
||||||
|
* @param int|string $field Indicates which column is used in the function. Enter the
|
||||||
|
* column label enclosed between double quotation marks, such as
|
||||||
|
* "Age" or "Yield," or a number (without quotation marks) that
|
||||||
|
* represents the position of the column within the list: 1 for
|
||||||
|
* the first column, 2 for the second column, and so on.
|
||||||
|
* @param mixed[] $criteria The range of cells that contains the conditions you specify.
|
||||||
|
* You can use any range for the criteria argument, as long as it
|
||||||
|
* includes at least one column label and at least one cell below
|
||||||
|
* the column label in which you specify a condition for the
|
||||||
|
* column.
|
||||||
|
*
|
||||||
|
* @return float
|
||||||
|
*/
|
||||||
|
public static function DVAR($database, $field, $criteria)
|
||||||
|
{
|
||||||
|
$field = self::fieldExtract($database, $field);
|
||||||
|
if ($field === null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Return
|
||||||
|
return Statistical::VARFunc(
|
||||||
|
self::getFilteredColumn($database, $field, $criteria)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DVARP.
|
||||||
|
*
|
||||||
|
* Calculates the variance of a population based on the entire population by using the numbers
|
||||||
|
* in a column of a list or database that match conditions that you specify.
|
||||||
|
*
|
||||||
|
* Excel Function:
|
||||||
|
* DVARP(database,field,criteria)
|
||||||
|
*
|
||||||
|
* @category Database Functions
|
||||||
|
*
|
||||||
|
* @param mixed[] $database The range of cells that makes up the list or database.
|
||||||
|
* A database is a list of related data in which rows of related
|
||||||
|
* information are records, and columns of data are fields. The
|
||||||
|
* first row of the list contains labels for each column.
|
||||||
|
* @param int|string $field Indicates which column is used in the function. Enter the
|
||||||
|
* column label enclosed between double quotation marks, such as
|
||||||
|
* "Age" or "Yield," or a number (without quotation marks) that
|
||||||
|
* represents the position of the column within the list: 1 for
|
||||||
|
* the first column, 2 for the second column, and so on.
|
||||||
|
* @param mixed[] $criteria The range of cells that contains the conditions you specify.
|
||||||
|
* You can use any range for the criteria argument, as long as it
|
||||||
|
* includes at least one column label and at least one cell below
|
||||||
|
* the column label in which you specify a condition for the
|
||||||
|
* column.
|
||||||
|
*
|
||||||
|
* @return float
|
||||||
|
*/
|
||||||
|
public static function DVARP($database, $field, $criteria)
|
||||||
|
{
|
||||||
|
$field = self::fieldExtract($database, $field);
|
||||||
|
if ($field === null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Return
|
||||||
|
return Statistical::VARP(
|
||||||
|
self::getFilteredColumn($database, $field, $criteria)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
1647
PhpOffice/PhpSpreadsheet/Calculation/DateTime.php
Normal file
1647
PhpOffice/PhpSpreadsheet/Calculation/DateTime.php
Normal file
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,73 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Calculation\Engine;
|
||||||
|
|
||||||
|
class CyclicReferenceStack
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The call stack for calculated cells.
|
||||||
|
*
|
||||||
|
* @var mixed[]
|
||||||
|
*/
|
||||||
|
private $stack = [];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the number of entries on the stack.
|
||||||
|
*
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public function count()
|
||||||
|
{
|
||||||
|
return count($this->stack);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Push a new entry onto the stack.
|
||||||
|
*
|
||||||
|
* @param mixed $value
|
||||||
|
*/
|
||||||
|
public function push($value)
|
||||||
|
{
|
||||||
|
$this->stack[$value] = $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Pop the last entry from the stack.
|
||||||
|
*
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function pop()
|
||||||
|
{
|
||||||
|
return array_pop($this->stack);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test to see if a specified entry exists on the stack.
|
||||||
|
*
|
||||||
|
* @param mixed $value The value to test
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function onStack($value)
|
||||||
|
{
|
||||||
|
return isset($this->stack[$value]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Clear the stack.
|
||||||
|
*/
|
||||||
|
public function clear()
|
||||||
|
{
|
||||||
|
$this->stack = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return an array of all entries on the stack.
|
||||||
|
*
|
||||||
|
* @return mixed[]
|
||||||
|
*/
|
||||||
|
public function showStack()
|
||||||
|
{
|
||||||
|
return $this->stack;
|
||||||
|
}
|
||||||
|
}
|
||||||
128
PhpOffice/PhpSpreadsheet/Calculation/Engine/Logger.php
Normal file
128
PhpOffice/PhpSpreadsheet/Calculation/Engine/Logger.php
Normal file
|
|
@ -0,0 +1,128 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Calculation\Engine;
|
||||||
|
|
||||||
|
class Logger
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Flag to determine whether a debug log should be generated by the calculation engine
|
||||||
|
* If true, then a debug log will be generated
|
||||||
|
* If false, then a debug log will not be generated.
|
||||||
|
*
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
private $writeDebugLog = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Flag to determine whether a debug log should be echoed by the calculation engine
|
||||||
|
* If true, then a debug log will be echoed
|
||||||
|
* If false, then a debug log will not be echoed
|
||||||
|
* A debug log can only be echoed if it is generated.
|
||||||
|
*
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
private $echoDebugLog = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The debug log generated by the calculation engine.
|
||||||
|
*
|
||||||
|
* @var string[]
|
||||||
|
*/
|
||||||
|
private $debugLog = [];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The calculation engine cell reference stack.
|
||||||
|
*
|
||||||
|
* @var CyclicReferenceStack
|
||||||
|
*/
|
||||||
|
private $cellStack;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Instantiate a Calculation engine logger.
|
||||||
|
*
|
||||||
|
* @param CyclicReferenceStack $stack
|
||||||
|
*/
|
||||||
|
public function __construct(CyclicReferenceStack $stack)
|
||||||
|
{
|
||||||
|
$this->cellStack = $stack;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enable/Disable Calculation engine logging.
|
||||||
|
*
|
||||||
|
* @param bool $pValue
|
||||||
|
*/
|
||||||
|
public function setWriteDebugLog($pValue)
|
||||||
|
{
|
||||||
|
$this->writeDebugLog = $pValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return whether calculation engine logging is enabled or disabled.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function getWriteDebugLog()
|
||||||
|
{
|
||||||
|
return $this->writeDebugLog;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enable/Disable echoing of debug log information.
|
||||||
|
*
|
||||||
|
* @param bool $pValue
|
||||||
|
*/
|
||||||
|
public function setEchoDebugLog($pValue)
|
||||||
|
{
|
||||||
|
$this->echoDebugLog = $pValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return whether echoing of debug log information is enabled or disabled.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function getEchoDebugLog()
|
||||||
|
{
|
||||||
|
return $this->echoDebugLog;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Write an entry to the calculation engine debug log.
|
||||||
|
*/
|
||||||
|
public function writeDebugLog(...$args)
|
||||||
|
{
|
||||||
|
// Only write the debug log if logging is enabled
|
||||||
|
if ($this->writeDebugLog) {
|
||||||
|
$message = implode($args);
|
||||||
|
$cellReference = implode(' -> ', $this->cellStack->showStack());
|
||||||
|
if ($this->echoDebugLog) {
|
||||||
|
echo $cellReference,
|
||||||
|
($this->cellStack->count() > 0 ? ' => ' : ''),
|
||||||
|
$message,
|
||||||
|
PHP_EOL;
|
||||||
|
}
|
||||||
|
$this->debugLog[] = $cellReference .
|
||||||
|
($this->cellStack->count() > 0 ? ' => ' : '') .
|
||||||
|
$message;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Clear the calculation engine debug log.
|
||||||
|
*/
|
||||||
|
public function clearLog()
|
||||||
|
{
|
||||||
|
$this->debugLog = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the calculation engine debug log.
|
||||||
|
*
|
||||||
|
* @return string[]
|
||||||
|
*/
|
||||||
|
public function getLog()
|
||||||
|
{
|
||||||
|
return $this->debugLog;
|
||||||
|
}
|
||||||
|
}
|
||||||
2807
PhpOffice/PhpSpreadsheet/Calculation/Engineering.php
Normal file
2807
PhpOffice/PhpSpreadsheet/Calculation/Engineering.php
Normal file
File diff suppressed because it is too large
Load Diff
26
PhpOffice/PhpSpreadsheet/Calculation/Exception.php
Normal file
26
PhpOffice/PhpSpreadsheet/Calculation/Exception.php
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Calculation;
|
||||||
|
|
||||||
|
use PhpOffice\PhpSpreadsheet\Exception as PhpSpreadsheetException;
|
||||||
|
|
||||||
|
class Exception extends PhpSpreadsheetException
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Error handler callback.
|
||||||
|
*
|
||||||
|
* @param mixed $code
|
||||||
|
* @param mixed $string
|
||||||
|
* @param mixed $file
|
||||||
|
* @param mixed $line
|
||||||
|
* @param mixed $context
|
||||||
|
*/
|
||||||
|
public static function errorHandlerCallback($code, $string, $file, $line, $context)
|
||||||
|
{
|
||||||
|
$e = new self($string, $code);
|
||||||
|
$e->line = $line;
|
||||||
|
$e->file = $file;
|
||||||
|
|
||||||
|
throw $e;
|
||||||
|
}
|
||||||
|
}
|
||||||
22
PhpOffice/PhpSpreadsheet/Calculation/ExceptionHandler.php
Normal file
22
PhpOffice/PhpSpreadsheet/Calculation/ExceptionHandler.php
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Calculation;
|
||||||
|
|
||||||
|
class ExceptionHandler
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Register errorhandler.
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
set_error_handler([Exception::class, 'errorHandlerCallback'], E_ALL);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unregister errorhandler.
|
||||||
|
*/
|
||||||
|
public function __destruct()
|
||||||
|
{
|
||||||
|
restore_error_handler();
|
||||||
|
}
|
||||||
|
}
|
||||||
2405
PhpOffice/PhpSpreadsheet/Calculation/Financial.php
Normal file
2405
PhpOffice/PhpSpreadsheet/Calculation/Financial.php
Normal file
File diff suppressed because it is too large
Load Diff
623
PhpOffice/PhpSpreadsheet/Calculation/FormulaParser.php
Normal file
623
PhpOffice/PhpSpreadsheet/Calculation/FormulaParser.php
Normal file
|
|
@ -0,0 +1,623 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Calculation;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PARTLY BASED ON:
|
||||||
|
* Copyright (c) 2007 E. W. Bachtal, Inc.
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software
|
||||||
|
* and associated documentation files (the "Software"), to deal in the Software without restriction,
|
||||||
|
* including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
|
* and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
|
||||||
|
* subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in all copies or substantial
|
||||||
|
* portions of the Software.
|
||||||
|
*
|
||||||
|
* The software is provided "as is", without warranty of any kind, express or implied, including but not
|
||||||
|
* limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In
|
||||||
|
* no event shall the authors or copyright holders be liable for any claim, damages or other liability,
|
||||||
|
* whether in an action of contract, tort or otherwise, arising from, out of or in connection with the
|
||||||
|
* software or the use or other dealings in the software.
|
||||||
|
*
|
||||||
|
* https://ewbi.blogs.com/develops/2007/03/excel_formula_p.html
|
||||||
|
* https://ewbi.blogs.com/develops/2004/12/excel_formula_p.html
|
||||||
|
*/
|
||||||
|
class FormulaParser
|
||||||
|
{
|
||||||
|
// Character constants
|
||||||
|
const QUOTE_DOUBLE = '"';
|
||||||
|
const QUOTE_SINGLE = '\'';
|
||||||
|
const BRACKET_CLOSE = ']';
|
||||||
|
const BRACKET_OPEN = '[';
|
||||||
|
const BRACE_OPEN = '{';
|
||||||
|
const BRACE_CLOSE = '}';
|
||||||
|
const PAREN_OPEN = '(';
|
||||||
|
const PAREN_CLOSE = ')';
|
||||||
|
const SEMICOLON = ';';
|
||||||
|
const WHITESPACE = ' ';
|
||||||
|
const COMMA = ',';
|
||||||
|
const ERROR_START = '#';
|
||||||
|
|
||||||
|
const OPERATORS_SN = '+-';
|
||||||
|
const OPERATORS_INFIX = '+-*/^&=><';
|
||||||
|
const OPERATORS_POSTFIX = '%';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Formula.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $formula;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tokens.
|
||||||
|
*
|
||||||
|
* @var FormulaToken[]
|
||||||
|
*/
|
||||||
|
private $tokens = [];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new FormulaParser.
|
||||||
|
*
|
||||||
|
* @param string $pFormula Formula to parse
|
||||||
|
*
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
public function __construct($pFormula = '')
|
||||||
|
{
|
||||||
|
// Check parameters
|
||||||
|
if ($pFormula === null) {
|
||||||
|
throw new Exception('Invalid parameter passed: formula');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Initialise values
|
||||||
|
$this->formula = trim($pFormula);
|
||||||
|
// Parse!
|
||||||
|
$this->parseToTokens();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Formula.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getFormula()
|
||||||
|
{
|
||||||
|
return $this->formula;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Token.
|
||||||
|
*
|
||||||
|
* @param int $pId Token id
|
||||||
|
*
|
||||||
|
* @throws Exception
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getToken($pId = 0)
|
||||||
|
{
|
||||||
|
if (isset($this->tokens[$pId])) {
|
||||||
|
return $this->tokens[$pId];
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new Exception("Token with id $pId does not exist.");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Token count.
|
||||||
|
*
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public function getTokenCount()
|
||||||
|
{
|
||||||
|
return count($this->tokens);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Tokens.
|
||||||
|
*
|
||||||
|
* @return FormulaToken[]
|
||||||
|
*/
|
||||||
|
public function getTokens()
|
||||||
|
{
|
||||||
|
return $this->tokens;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Parse to tokens.
|
||||||
|
*/
|
||||||
|
private function parseToTokens()
|
||||||
|
{
|
||||||
|
// No attempt is made to verify formulas; assumes formulas are derived from Excel, where
|
||||||
|
// they can only exist if valid; stack overflows/underflows sunk as nulls without exceptions.
|
||||||
|
|
||||||
|
// Check if the formula has a valid starting =
|
||||||
|
$formulaLength = strlen($this->formula);
|
||||||
|
if ($formulaLength < 2 || $this->formula[0] != '=') {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Helper variables
|
||||||
|
$tokens1 = $tokens2 = $stack = [];
|
||||||
|
$inString = $inPath = $inRange = $inError = false;
|
||||||
|
$token = $previousToken = $nextToken = null;
|
||||||
|
|
||||||
|
$index = 1;
|
||||||
|
$value = '';
|
||||||
|
|
||||||
|
$ERRORS = ['#NULL!', '#DIV/0!', '#VALUE!', '#REF!', '#NAME?', '#NUM!', '#N/A'];
|
||||||
|
$COMPARATORS_MULTI = ['>=', '<=', '<>'];
|
||||||
|
|
||||||
|
while ($index < $formulaLength) {
|
||||||
|
// state-dependent character evaluation (order is important)
|
||||||
|
|
||||||
|
// double-quoted strings
|
||||||
|
// embeds are doubled
|
||||||
|
// end marks token
|
||||||
|
if ($inString) {
|
||||||
|
if ($this->formula[$index] == self::QUOTE_DOUBLE) {
|
||||||
|
if ((($index + 2) <= $formulaLength) && ($this->formula[$index + 1] == self::QUOTE_DOUBLE)) {
|
||||||
|
$value .= self::QUOTE_DOUBLE;
|
||||||
|
++$index;
|
||||||
|
} else {
|
||||||
|
$inString = false;
|
||||||
|
$tokens1[] = new FormulaToken($value, FormulaToken::TOKEN_TYPE_OPERAND, FormulaToken::TOKEN_SUBTYPE_TEXT);
|
||||||
|
$value = '';
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$value .= $this->formula[$index];
|
||||||
|
}
|
||||||
|
++$index;
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// single-quoted strings (links)
|
||||||
|
// embeds are double
|
||||||
|
// end does not mark a token
|
||||||
|
if ($inPath) {
|
||||||
|
if ($this->formula[$index] == self::QUOTE_SINGLE) {
|
||||||
|
if ((($index + 2) <= $formulaLength) && ($this->formula[$index + 1] == self::QUOTE_SINGLE)) {
|
||||||
|
$value .= self::QUOTE_SINGLE;
|
||||||
|
++$index;
|
||||||
|
} else {
|
||||||
|
$inPath = false;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$value .= $this->formula[$index];
|
||||||
|
}
|
||||||
|
++$index;
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// bracked strings (R1C1 range index or linked workbook name)
|
||||||
|
// no embeds (changed to "()" by Excel)
|
||||||
|
// end does not mark a token
|
||||||
|
if ($inRange) {
|
||||||
|
if ($this->formula[$index] == self::BRACKET_CLOSE) {
|
||||||
|
$inRange = false;
|
||||||
|
}
|
||||||
|
$value .= $this->formula[$index];
|
||||||
|
++$index;
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// error values
|
||||||
|
// end marks a token, determined from absolute list of values
|
||||||
|
if ($inError) {
|
||||||
|
$value .= $this->formula[$index];
|
||||||
|
++$index;
|
||||||
|
if (in_array($value, $ERRORS)) {
|
||||||
|
$inError = false;
|
||||||
|
$tokens1[] = new FormulaToken($value, FormulaToken::TOKEN_TYPE_OPERAND, FormulaToken::TOKEN_SUBTYPE_ERROR);
|
||||||
|
$value = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// scientific notation check
|
||||||
|
if (strpos(self::OPERATORS_SN, $this->formula[$index]) !== false) {
|
||||||
|
if (strlen($value) > 1) {
|
||||||
|
if (preg_match('/^[1-9]{1}(\\.\\d+)?E{1}$/', $this->formula[$index]) != 0) {
|
||||||
|
$value .= $this->formula[$index];
|
||||||
|
++$index;
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// independent character evaluation (order not important)
|
||||||
|
|
||||||
|
// establish state-dependent character evaluations
|
||||||
|
if ($this->formula[$index] == self::QUOTE_DOUBLE) {
|
||||||
|
if (strlen($value) > 0) {
|
||||||
|
// unexpected
|
||||||
|
$tokens1[] = new FormulaToken($value, FormulaToken::TOKEN_TYPE_UNKNOWN);
|
||||||
|
$value = '';
|
||||||
|
}
|
||||||
|
$inString = true;
|
||||||
|
++$index;
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($this->formula[$index] == self::QUOTE_SINGLE) {
|
||||||
|
if (strlen($value) > 0) {
|
||||||
|
// unexpected
|
||||||
|
$tokens1[] = new FormulaToken($value, FormulaToken::TOKEN_TYPE_UNKNOWN);
|
||||||
|
$value = '';
|
||||||
|
}
|
||||||
|
$inPath = true;
|
||||||
|
++$index;
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($this->formula[$index] == self::BRACKET_OPEN) {
|
||||||
|
$inRange = true;
|
||||||
|
$value .= self::BRACKET_OPEN;
|
||||||
|
++$index;
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($this->formula[$index] == self::ERROR_START) {
|
||||||
|
if (strlen($value) > 0) {
|
||||||
|
// unexpected
|
||||||
|
$tokens1[] = new FormulaToken($value, FormulaToken::TOKEN_TYPE_UNKNOWN);
|
||||||
|
$value = '';
|
||||||
|
}
|
||||||
|
$inError = true;
|
||||||
|
$value .= self::ERROR_START;
|
||||||
|
++$index;
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// mark start and end of arrays and array rows
|
||||||
|
if ($this->formula[$index] == self::BRACE_OPEN) {
|
||||||
|
if (strlen($value) > 0) {
|
||||||
|
// unexpected
|
||||||
|
$tokens1[] = new FormulaToken($value, FormulaToken::TOKEN_TYPE_UNKNOWN);
|
||||||
|
$value = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
$tmp = new FormulaToken('ARRAY', FormulaToken::TOKEN_TYPE_FUNCTION, FormulaToken::TOKEN_SUBTYPE_START);
|
||||||
|
$tokens1[] = $tmp;
|
||||||
|
$stack[] = clone $tmp;
|
||||||
|
|
||||||
|
$tmp = new FormulaToken('ARRAYROW', FormulaToken::TOKEN_TYPE_FUNCTION, FormulaToken::TOKEN_SUBTYPE_START);
|
||||||
|
$tokens1[] = $tmp;
|
||||||
|
$stack[] = clone $tmp;
|
||||||
|
|
||||||
|
++$index;
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($this->formula[$index] == self::SEMICOLON) {
|
||||||
|
if (strlen($value) > 0) {
|
||||||
|
$tokens1[] = new FormulaToken($value, FormulaToken::TOKEN_TYPE_OPERAND);
|
||||||
|
$value = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
$tmp = array_pop($stack);
|
||||||
|
$tmp->setValue('');
|
||||||
|
$tmp->setTokenSubType(FormulaToken::TOKEN_SUBTYPE_STOP);
|
||||||
|
$tokens1[] = $tmp;
|
||||||
|
|
||||||
|
$tmp = new FormulaToken(',', FormulaToken::TOKEN_TYPE_ARGUMENT);
|
||||||
|
$tokens1[] = $tmp;
|
||||||
|
|
||||||
|
$tmp = new FormulaToken('ARRAYROW', FormulaToken::TOKEN_TYPE_FUNCTION, FormulaToken::TOKEN_SUBTYPE_START);
|
||||||
|
$tokens1[] = $tmp;
|
||||||
|
$stack[] = clone $tmp;
|
||||||
|
|
||||||
|
++$index;
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($this->formula[$index] == self::BRACE_CLOSE) {
|
||||||
|
if (strlen($value) > 0) {
|
||||||
|
$tokens1[] = new FormulaToken($value, FormulaToken::TOKEN_TYPE_OPERAND);
|
||||||
|
$value = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
$tmp = array_pop($stack);
|
||||||
|
$tmp->setValue('');
|
||||||
|
$tmp->setTokenSubType(FormulaToken::TOKEN_SUBTYPE_STOP);
|
||||||
|
$tokens1[] = $tmp;
|
||||||
|
|
||||||
|
$tmp = array_pop($stack);
|
||||||
|
$tmp->setValue('');
|
||||||
|
$tmp->setTokenSubType(FormulaToken::TOKEN_SUBTYPE_STOP);
|
||||||
|
$tokens1[] = $tmp;
|
||||||
|
|
||||||
|
++$index;
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// trim white-space
|
||||||
|
if ($this->formula[$index] == self::WHITESPACE) {
|
||||||
|
if (strlen($value) > 0) {
|
||||||
|
$tokens1[] = new FormulaToken($value, FormulaToken::TOKEN_TYPE_OPERAND);
|
||||||
|
$value = '';
|
||||||
|
}
|
||||||
|
$tokens1[] = new FormulaToken('', FormulaToken::TOKEN_TYPE_WHITESPACE);
|
||||||
|
++$index;
|
||||||
|
while (($this->formula[$index] == self::WHITESPACE) && ($index < $formulaLength)) {
|
||||||
|
++$index;
|
||||||
|
}
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// multi-character comparators
|
||||||
|
if (($index + 2) <= $formulaLength) {
|
||||||
|
if (in_array(substr($this->formula, $index, 2), $COMPARATORS_MULTI)) {
|
||||||
|
if (strlen($value) > 0) {
|
||||||
|
$tokens1[] = new FormulaToken($value, FormulaToken::TOKEN_TYPE_OPERAND);
|
||||||
|
$value = '';
|
||||||
|
}
|
||||||
|
$tokens1[] = new FormulaToken(substr($this->formula, $index, 2), FormulaToken::TOKEN_TYPE_OPERATORINFIX, FormulaToken::TOKEN_SUBTYPE_LOGICAL);
|
||||||
|
$index += 2;
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// standard infix operators
|
||||||
|
if (strpos(self::OPERATORS_INFIX, $this->formula[$index]) !== false) {
|
||||||
|
if (strlen($value) > 0) {
|
||||||
|
$tokens1[] = new FormulaToken($value, FormulaToken::TOKEN_TYPE_OPERAND);
|
||||||
|
$value = '';
|
||||||
|
}
|
||||||
|
$tokens1[] = new FormulaToken($this->formula[$index], FormulaToken::TOKEN_TYPE_OPERATORINFIX);
|
||||||
|
++$index;
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// standard postfix operators (only one)
|
||||||
|
if (strpos(self::OPERATORS_POSTFIX, $this->formula[$index]) !== false) {
|
||||||
|
if (strlen($value) > 0) {
|
||||||
|
$tokens1[] = new FormulaToken($value, FormulaToken::TOKEN_TYPE_OPERAND);
|
||||||
|
$value = '';
|
||||||
|
}
|
||||||
|
$tokens1[] = new FormulaToken($this->formula[$index], FormulaToken::TOKEN_TYPE_OPERATORPOSTFIX);
|
||||||
|
++$index;
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// start subexpression or function
|
||||||
|
if ($this->formula[$index] == self::PAREN_OPEN) {
|
||||||
|
if (strlen($value) > 0) {
|
||||||
|
$tmp = new FormulaToken($value, FormulaToken::TOKEN_TYPE_FUNCTION, FormulaToken::TOKEN_SUBTYPE_START);
|
||||||
|
$tokens1[] = $tmp;
|
||||||
|
$stack[] = clone $tmp;
|
||||||
|
$value = '';
|
||||||
|
} else {
|
||||||
|
$tmp = new FormulaToken('', FormulaToken::TOKEN_TYPE_SUBEXPRESSION, FormulaToken::TOKEN_SUBTYPE_START);
|
||||||
|
$tokens1[] = $tmp;
|
||||||
|
$stack[] = clone $tmp;
|
||||||
|
}
|
||||||
|
++$index;
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// function, subexpression, or array parameters, or operand unions
|
||||||
|
if ($this->formula[$index] == self::COMMA) {
|
||||||
|
if (strlen($value) > 0) {
|
||||||
|
$tokens1[] = new FormulaToken($value, FormulaToken::TOKEN_TYPE_OPERAND);
|
||||||
|
$value = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
$tmp = array_pop($stack);
|
||||||
|
$tmp->setValue('');
|
||||||
|
$tmp->setTokenSubType(FormulaToken::TOKEN_SUBTYPE_STOP);
|
||||||
|
$stack[] = $tmp;
|
||||||
|
|
||||||
|
if ($tmp->getTokenType() == FormulaToken::TOKEN_TYPE_FUNCTION) {
|
||||||
|
$tokens1[] = new FormulaToken(',', FormulaToken::TOKEN_TYPE_OPERATORINFIX, FormulaToken::TOKEN_SUBTYPE_UNION);
|
||||||
|
} else {
|
||||||
|
$tokens1[] = new FormulaToken(',', FormulaToken::TOKEN_TYPE_ARGUMENT);
|
||||||
|
}
|
||||||
|
++$index;
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// stop subexpression
|
||||||
|
if ($this->formula[$index] == self::PAREN_CLOSE) {
|
||||||
|
if (strlen($value) > 0) {
|
||||||
|
$tokens1[] = new FormulaToken($value, FormulaToken::TOKEN_TYPE_OPERAND);
|
||||||
|
$value = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
$tmp = array_pop($stack);
|
||||||
|
$tmp->setValue('');
|
||||||
|
$tmp->setTokenSubType(FormulaToken::TOKEN_SUBTYPE_STOP);
|
||||||
|
$tokens1[] = $tmp;
|
||||||
|
|
||||||
|
++$index;
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// token accumulation
|
||||||
|
$value .= $this->formula[$index];
|
||||||
|
++$index;
|
||||||
|
}
|
||||||
|
|
||||||
|
// dump remaining accumulation
|
||||||
|
if (strlen($value) > 0) {
|
||||||
|
$tokens1[] = new FormulaToken($value, FormulaToken::TOKEN_TYPE_OPERAND);
|
||||||
|
}
|
||||||
|
|
||||||
|
// move tokenList to new set, excluding unnecessary white-space tokens and converting necessary ones to intersections
|
||||||
|
$tokenCount = count($tokens1);
|
||||||
|
for ($i = 0; $i < $tokenCount; ++$i) {
|
||||||
|
$token = $tokens1[$i];
|
||||||
|
if (isset($tokens1[$i - 1])) {
|
||||||
|
$previousToken = $tokens1[$i - 1];
|
||||||
|
} else {
|
||||||
|
$previousToken = null;
|
||||||
|
}
|
||||||
|
if (isset($tokens1[$i + 1])) {
|
||||||
|
$nextToken = $tokens1[$i + 1];
|
||||||
|
} else {
|
||||||
|
$nextToken = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($token === null) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($token->getTokenType() != FormulaToken::TOKEN_TYPE_WHITESPACE) {
|
||||||
|
$tokens2[] = $token;
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($previousToken === null) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(
|
||||||
|
(($previousToken->getTokenType() == FormulaToken::TOKEN_TYPE_FUNCTION) && ($previousToken->getTokenSubType() == FormulaToken::TOKEN_SUBTYPE_STOP)) ||
|
||||||
|
(($previousToken->getTokenType() == FormulaToken::TOKEN_TYPE_SUBEXPRESSION) && ($previousToken->getTokenSubType() == FormulaToken::TOKEN_SUBTYPE_STOP)) ||
|
||||||
|
($previousToken->getTokenType() == FormulaToken::TOKEN_TYPE_OPERAND)
|
||||||
|
)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($nextToken === null) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(
|
||||||
|
(($nextToken->getTokenType() == FormulaToken::TOKEN_TYPE_FUNCTION) && ($nextToken->getTokenSubType() == FormulaToken::TOKEN_SUBTYPE_START)) ||
|
||||||
|
(($nextToken->getTokenType() == FormulaToken::TOKEN_TYPE_SUBEXPRESSION) && ($nextToken->getTokenSubType() == FormulaToken::TOKEN_SUBTYPE_START)) ||
|
||||||
|
($nextToken->getTokenType() == FormulaToken::TOKEN_TYPE_OPERAND)
|
||||||
|
)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$tokens2[] = new FormulaToken($value, FormulaToken::TOKEN_TYPE_OPERATORINFIX, FormulaToken::TOKEN_SUBTYPE_INTERSECTION);
|
||||||
|
}
|
||||||
|
|
||||||
|
// move tokens to final list, switching infix "-" operators to prefix when appropriate, switching infix "+" operators
|
||||||
|
// to noop when appropriate, identifying operand and infix-operator subtypes, and pulling "@" from function names
|
||||||
|
$this->tokens = [];
|
||||||
|
|
||||||
|
$tokenCount = count($tokens2);
|
||||||
|
for ($i = 0; $i < $tokenCount; ++$i) {
|
||||||
|
$token = $tokens2[$i];
|
||||||
|
if (isset($tokens2[$i - 1])) {
|
||||||
|
$previousToken = $tokens2[$i - 1];
|
||||||
|
} else {
|
||||||
|
$previousToken = null;
|
||||||
|
}
|
||||||
|
if (isset($tokens2[$i + 1])) {
|
||||||
|
$nextToken = $tokens2[$i + 1];
|
||||||
|
} else {
|
||||||
|
$nextToken = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($token === null) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($token->getTokenType() == FormulaToken::TOKEN_TYPE_OPERATORINFIX && $token->getValue() == '-') {
|
||||||
|
if ($i == 0) {
|
||||||
|
$token->setTokenType(FormulaToken::TOKEN_TYPE_OPERATORPREFIX);
|
||||||
|
} elseif ((($previousToken->getTokenType() == FormulaToken::TOKEN_TYPE_FUNCTION) &&
|
||||||
|
($previousToken->getTokenSubType() == FormulaToken::TOKEN_SUBTYPE_STOP)) ||
|
||||||
|
(($previousToken->getTokenType() == FormulaToken::TOKEN_TYPE_SUBEXPRESSION) &&
|
||||||
|
($previousToken->getTokenSubType() == FormulaToken::TOKEN_SUBTYPE_STOP)) ||
|
||||||
|
($previousToken->getTokenType() == FormulaToken::TOKEN_TYPE_OPERATORPOSTFIX) ||
|
||||||
|
($previousToken->getTokenType() == FormulaToken::TOKEN_TYPE_OPERAND)) {
|
||||||
|
$token->setTokenSubType(FormulaToken::TOKEN_SUBTYPE_MATH);
|
||||||
|
} else {
|
||||||
|
$token->setTokenType(FormulaToken::TOKEN_TYPE_OPERATORPREFIX);
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->tokens[] = $token;
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($token->getTokenType() == FormulaToken::TOKEN_TYPE_OPERATORINFIX && $token->getValue() == '+') {
|
||||||
|
if ($i == 0) {
|
||||||
|
continue;
|
||||||
|
} elseif ((($previousToken->getTokenType() == FormulaToken::TOKEN_TYPE_FUNCTION) &&
|
||||||
|
($previousToken->getTokenSubType() == FormulaToken::TOKEN_SUBTYPE_STOP)) ||
|
||||||
|
(($previousToken->getTokenType() == FormulaToken::TOKEN_TYPE_SUBEXPRESSION) &&
|
||||||
|
($previousToken->getTokenSubType() == FormulaToken::TOKEN_SUBTYPE_STOP)) ||
|
||||||
|
($previousToken->getTokenType() == FormulaToken::TOKEN_TYPE_OPERATORPOSTFIX) ||
|
||||||
|
($previousToken->getTokenType() == FormulaToken::TOKEN_TYPE_OPERAND)) {
|
||||||
|
$token->setTokenSubType(FormulaToken::TOKEN_SUBTYPE_MATH);
|
||||||
|
} else {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->tokens[] = $token;
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($token->getTokenType() == FormulaToken::TOKEN_TYPE_OPERATORINFIX &&
|
||||||
|
$token->getTokenSubType() == FormulaToken::TOKEN_SUBTYPE_NOTHING) {
|
||||||
|
if (strpos('<>=', substr($token->getValue(), 0, 1)) !== false) {
|
||||||
|
$token->setTokenSubType(FormulaToken::TOKEN_SUBTYPE_LOGICAL);
|
||||||
|
} elseif ($token->getValue() == '&') {
|
||||||
|
$token->setTokenSubType(FormulaToken::TOKEN_SUBTYPE_CONCATENATION);
|
||||||
|
} else {
|
||||||
|
$token->setTokenSubType(FormulaToken::TOKEN_SUBTYPE_MATH);
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->tokens[] = $token;
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($token->getTokenType() == FormulaToken::TOKEN_TYPE_OPERAND &&
|
||||||
|
$token->getTokenSubType() == FormulaToken::TOKEN_SUBTYPE_NOTHING) {
|
||||||
|
if (!is_numeric($token->getValue())) {
|
||||||
|
if (strtoupper($token->getValue()) == 'TRUE' || strtoupper($token->getValue()) == 'FALSE') {
|
||||||
|
$token->setTokenSubType(FormulaToken::TOKEN_SUBTYPE_LOGICAL);
|
||||||
|
} else {
|
||||||
|
$token->setTokenSubType(FormulaToken::TOKEN_SUBTYPE_RANGE);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$token->setTokenSubType(FormulaToken::TOKEN_SUBTYPE_NUMBER);
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->tokens[] = $token;
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($token->getTokenType() == FormulaToken::TOKEN_TYPE_FUNCTION) {
|
||||||
|
if (strlen($token->getValue()) > 0) {
|
||||||
|
if (substr($token->getValue(), 0, 1) == '@') {
|
||||||
|
$token->setValue(substr($token->getValue(), 1));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->tokens[] = $token;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
150
PhpOffice/PhpSpreadsheet/Calculation/FormulaToken.php
Normal file
150
PhpOffice/PhpSpreadsheet/Calculation/FormulaToken.php
Normal file
|
|
@ -0,0 +1,150 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Calculation;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PARTLY BASED ON:
|
||||||
|
* Copyright (c) 2007 E. W. Bachtal, Inc.
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software
|
||||||
|
* and associated documentation files (the "Software"), to deal in the Software without restriction,
|
||||||
|
* including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
|
* and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
|
||||||
|
* subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in all copies or substantial
|
||||||
|
* portions of the Software.
|
||||||
|
*
|
||||||
|
* The software is provided "as is", without warranty of any kind, express or implied, including but not
|
||||||
|
* limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In
|
||||||
|
* no event shall the authors or copyright holders be liable for any claim, damages or other liability,
|
||||||
|
* whether in an action of contract, tort or otherwise, arising from, out of or in connection with the
|
||||||
|
* software or the use or other dealings in the software.
|
||||||
|
*
|
||||||
|
* https://ewbi.blogs.com/develops/2007/03/excel_formula_p.html
|
||||||
|
* https://ewbi.blogs.com/develops/2004/12/excel_formula_p.html
|
||||||
|
*/
|
||||||
|
class FormulaToken
|
||||||
|
{
|
||||||
|
// Token types
|
||||||
|
const TOKEN_TYPE_NOOP = 'Noop';
|
||||||
|
const TOKEN_TYPE_OPERAND = 'Operand';
|
||||||
|
const TOKEN_TYPE_FUNCTION = 'Function';
|
||||||
|
const TOKEN_TYPE_SUBEXPRESSION = 'Subexpression';
|
||||||
|
const TOKEN_TYPE_ARGUMENT = 'Argument';
|
||||||
|
const TOKEN_TYPE_OPERATORPREFIX = 'OperatorPrefix';
|
||||||
|
const TOKEN_TYPE_OPERATORINFIX = 'OperatorInfix';
|
||||||
|
const TOKEN_TYPE_OPERATORPOSTFIX = 'OperatorPostfix';
|
||||||
|
const TOKEN_TYPE_WHITESPACE = 'Whitespace';
|
||||||
|
const TOKEN_TYPE_UNKNOWN = 'Unknown';
|
||||||
|
|
||||||
|
// Token subtypes
|
||||||
|
const TOKEN_SUBTYPE_NOTHING = 'Nothing';
|
||||||
|
const TOKEN_SUBTYPE_START = 'Start';
|
||||||
|
const TOKEN_SUBTYPE_STOP = 'Stop';
|
||||||
|
const TOKEN_SUBTYPE_TEXT = 'Text';
|
||||||
|
const TOKEN_SUBTYPE_NUMBER = 'Number';
|
||||||
|
const TOKEN_SUBTYPE_LOGICAL = 'Logical';
|
||||||
|
const TOKEN_SUBTYPE_ERROR = 'Error';
|
||||||
|
const TOKEN_SUBTYPE_RANGE = 'Range';
|
||||||
|
const TOKEN_SUBTYPE_MATH = 'Math';
|
||||||
|
const TOKEN_SUBTYPE_CONCATENATION = 'Concatenation';
|
||||||
|
const TOKEN_SUBTYPE_INTERSECTION = 'Intersection';
|
||||||
|
const TOKEN_SUBTYPE_UNION = 'Union';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Value.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $value;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Token Type (represented by TOKEN_TYPE_*).
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $tokenType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Token SubType (represented by TOKEN_SUBTYPE_*).
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $tokenSubType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new FormulaToken.
|
||||||
|
*
|
||||||
|
* @param string $pValue
|
||||||
|
* @param string $pTokenType Token type (represented by TOKEN_TYPE_*)
|
||||||
|
* @param string $pTokenSubType Token Subtype (represented by TOKEN_SUBTYPE_*)
|
||||||
|
*/
|
||||||
|
public function __construct($pValue, $pTokenType = self::TOKEN_TYPE_UNKNOWN, $pTokenSubType = self::TOKEN_SUBTYPE_NOTHING)
|
||||||
|
{
|
||||||
|
// Initialise values
|
||||||
|
$this->value = $pValue;
|
||||||
|
$this->tokenType = $pTokenType;
|
||||||
|
$this->tokenSubType = $pTokenSubType;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Value.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getValue()
|
||||||
|
{
|
||||||
|
return $this->value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Value.
|
||||||
|
*
|
||||||
|
* @param string $value
|
||||||
|
*/
|
||||||
|
public function setValue($value)
|
||||||
|
{
|
||||||
|
$this->value = $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Token Type (represented by TOKEN_TYPE_*).
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getTokenType()
|
||||||
|
{
|
||||||
|
return $this->tokenType;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Token Type (represented by TOKEN_TYPE_*).
|
||||||
|
*
|
||||||
|
* @param string $value
|
||||||
|
*/
|
||||||
|
public function setTokenType($value)
|
||||||
|
{
|
||||||
|
$this->tokenType = $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Token SubType (represented by TOKEN_SUBTYPE_*).
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getTokenSubType()
|
||||||
|
{
|
||||||
|
return $this->tokenSubType;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Token SubType (represented by TOKEN_SUBTYPE_*).
|
||||||
|
*
|
||||||
|
* @param string $value
|
||||||
|
*/
|
||||||
|
public function setTokenSubType($value)
|
||||||
|
{
|
||||||
|
$this->tokenSubType = $value;
|
||||||
|
}
|
||||||
|
}
|
||||||
678
PhpOffice/PhpSpreadsheet/Calculation/Functions.php
Normal file
678
PhpOffice/PhpSpreadsheet/Calculation/Functions.php
Normal file
|
|
@ -0,0 +1,678 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Calculation;
|
||||||
|
|
||||||
|
use PhpOffice\PhpSpreadsheet\Cell\Cell;
|
||||||
|
|
||||||
|
class Functions
|
||||||
|
{
|
||||||
|
const PRECISION = 8.88E-016;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 2 / PI.
|
||||||
|
*/
|
||||||
|
const M_2DIVPI = 0.63661977236758134307553505349006;
|
||||||
|
|
||||||
|
/** constants */
|
||||||
|
const COMPATIBILITY_EXCEL = 'Excel';
|
||||||
|
const COMPATIBILITY_GNUMERIC = 'Gnumeric';
|
||||||
|
const COMPATIBILITY_OPENOFFICE = 'OpenOfficeCalc';
|
||||||
|
|
||||||
|
const RETURNDATE_PHP_NUMERIC = 'P';
|
||||||
|
const RETURNDATE_UNIX_TIMESTAMP = 'P';
|
||||||
|
const RETURNDATE_PHP_OBJECT = 'O';
|
||||||
|
const RETURNDATE_PHP_DATETIME_OBJECT = 'O';
|
||||||
|
const RETURNDATE_EXCEL = 'E';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Compatibility mode to use for error checking and responses.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected static $compatibilityMode = self::COMPATIBILITY_EXCEL;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Data Type to use when returning date values.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected static $returnDateType = self::RETURNDATE_EXCEL;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* List of error codes.
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
protected static $errorCodes = [
|
||||||
|
'null' => '#NULL!',
|
||||||
|
'divisionbyzero' => '#DIV/0!',
|
||||||
|
'value' => '#VALUE!',
|
||||||
|
'reference' => '#REF!',
|
||||||
|
'name' => '#NAME?',
|
||||||
|
'num' => '#NUM!',
|
||||||
|
'na' => '#N/A',
|
||||||
|
'gettingdata' => '#GETTING_DATA',
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the Compatibility Mode.
|
||||||
|
*
|
||||||
|
* @category Function Configuration
|
||||||
|
*
|
||||||
|
* @param string $compatibilityMode Compatibility Mode
|
||||||
|
* Permitted values are:
|
||||||
|
* Functions::COMPATIBILITY_EXCEL 'Excel'
|
||||||
|
* Functions::COMPATIBILITY_GNUMERIC 'Gnumeric'
|
||||||
|
* Functions::COMPATIBILITY_OPENOFFICE 'OpenOfficeCalc'
|
||||||
|
*
|
||||||
|
* @return bool (Success or Failure)
|
||||||
|
*/
|
||||||
|
public static function setCompatibilityMode($compatibilityMode)
|
||||||
|
{
|
||||||
|
if (($compatibilityMode == self::COMPATIBILITY_EXCEL) ||
|
||||||
|
($compatibilityMode == self::COMPATIBILITY_GNUMERIC) ||
|
||||||
|
($compatibilityMode == self::COMPATIBILITY_OPENOFFICE)
|
||||||
|
) {
|
||||||
|
self::$compatibilityMode = $compatibilityMode;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the current Compatibility Mode.
|
||||||
|
*
|
||||||
|
* @category Function Configuration
|
||||||
|
*
|
||||||
|
* @return string Compatibility Mode
|
||||||
|
* Possible Return values are:
|
||||||
|
* Functions::COMPATIBILITY_EXCEL 'Excel'
|
||||||
|
* Functions::COMPATIBILITY_GNUMERIC 'Gnumeric'
|
||||||
|
* Functions::COMPATIBILITY_OPENOFFICE 'OpenOfficeCalc'
|
||||||
|
*/
|
||||||
|
public static function getCompatibilityMode()
|
||||||
|
{
|
||||||
|
return self::$compatibilityMode;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the Return Date Format used by functions that return a date/time (Excel, PHP Serialized Numeric or PHP Object).
|
||||||
|
*
|
||||||
|
* @category Function Configuration
|
||||||
|
*
|
||||||
|
* @param string $returnDateType Return Date Format
|
||||||
|
* Permitted values are:
|
||||||
|
* Functions::RETURNDATE_UNIX_TIMESTAMP 'P'
|
||||||
|
* Functions::RETURNDATE_PHP_DATETIME_OBJECT 'O'
|
||||||
|
* Functions::RETURNDATE_EXCEL 'E'
|
||||||
|
*
|
||||||
|
* @return bool Success or failure
|
||||||
|
*/
|
||||||
|
public static function setReturnDateType($returnDateType)
|
||||||
|
{
|
||||||
|
if (($returnDateType == self::RETURNDATE_UNIX_TIMESTAMP) ||
|
||||||
|
($returnDateType == self::RETURNDATE_PHP_DATETIME_OBJECT) ||
|
||||||
|
($returnDateType == self::RETURNDATE_EXCEL)
|
||||||
|
) {
|
||||||
|
self::$returnDateType = $returnDateType;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the current Return Date Format for functions that return a date/time (Excel, PHP Serialized Numeric or PHP Object).
|
||||||
|
*
|
||||||
|
* @category Function Configuration
|
||||||
|
*
|
||||||
|
* @return string Return Date Format
|
||||||
|
* Possible Return values are:
|
||||||
|
* Functions::RETURNDATE_UNIX_TIMESTAMP 'P'
|
||||||
|
* Functions::RETURNDATE_PHP_DATETIME_OBJECT 'O'
|
||||||
|
* Functions::RETURNDATE_EXCEL 'E'
|
||||||
|
*/
|
||||||
|
public static function getReturnDateType()
|
||||||
|
{
|
||||||
|
return self::$returnDateType;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DUMMY.
|
||||||
|
*
|
||||||
|
* @category Error Returns
|
||||||
|
*
|
||||||
|
* @return string #Not Yet Implemented
|
||||||
|
*/
|
||||||
|
public static function DUMMY()
|
||||||
|
{
|
||||||
|
return '#Not Yet Implemented';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DIV0.
|
||||||
|
*
|
||||||
|
* @category Error Returns
|
||||||
|
*
|
||||||
|
* @return string #Not Yet Implemented
|
||||||
|
*/
|
||||||
|
public static function DIV0()
|
||||||
|
{
|
||||||
|
return self::$errorCodes['divisionbyzero'];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* NA.
|
||||||
|
*
|
||||||
|
* Excel Function:
|
||||||
|
* =NA()
|
||||||
|
*
|
||||||
|
* Returns the error value #N/A
|
||||||
|
* #N/A is the error value that means "no value is available."
|
||||||
|
*
|
||||||
|
* @category Logical Functions
|
||||||
|
*
|
||||||
|
* @return string #N/A!
|
||||||
|
*/
|
||||||
|
public static function NA()
|
||||||
|
{
|
||||||
|
return self::$errorCodes['na'];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* NaN.
|
||||||
|
*
|
||||||
|
* Returns the error value #NUM!
|
||||||
|
*
|
||||||
|
* @category Error Returns
|
||||||
|
*
|
||||||
|
* @return string #NUM!
|
||||||
|
*/
|
||||||
|
public static function NAN()
|
||||||
|
{
|
||||||
|
return self::$errorCodes['num'];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* NAME.
|
||||||
|
*
|
||||||
|
* Returns the error value #NAME?
|
||||||
|
*
|
||||||
|
* @category Error Returns
|
||||||
|
*
|
||||||
|
* @return string #NAME?
|
||||||
|
*/
|
||||||
|
public static function NAME()
|
||||||
|
{
|
||||||
|
return self::$errorCodes['name'];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* REF.
|
||||||
|
*
|
||||||
|
* Returns the error value #REF!
|
||||||
|
*
|
||||||
|
* @category Error Returns
|
||||||
|
*
|
||||||
|
* @return string #REF!
|
||||||
|
*/
|
||||||
|
public static function REF()
|
||||||
|
{
|
||||||
|
return self::$errorCodes['reference'];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* NULL.
|
||||||
|
*
|
||||||
|
* Returns the error value #NULL!
|
||||||
|
*
|
||||||
|
* @category Error Returns
|
||||||
|
*
|
||||||
|
* @return string #NULL!
|
||||||
|
*/
|
||||||
|
public static function null()
|
||||||
|
{
|
||||||
|
return self::$errorCodes['null'];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* VALUE.
|
||||||
|
*
|
||||||
|
* Returns the error value #VALUE!
|
||||||
|
*
|
||||||
|
* @category Error Returns
|
||||||
|
*
|
||||||
|
* @return string #VALUE!
|
||||||
|
*/
|
||||||
|
public static function VALUE()
|
||||||
|
{
|
||||||
|
return self::$errorCodes['value'];
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function isMatrixValue($idx)
|
||||||
|
{
|
||||||
|
return (substr_count($idx, '.') <= 1) || (preg_match('/\.[A-Z]/', $idx) > 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function isValue($idx)
|
||||||
|
{
|
||||||
|
return substr_count($idx, '.') == 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function isCellValue($idx)
|
||||||
|
{
|
||||||
|
return substr_count($idx, '.') > 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function ifCondition($condition)
|
||||||
|
{
|
||||||
|
$condition = self::flattenSingleValue($condition);
|
||||||
|
if (!isset($condition[0]) && !is_numeric($condition)) {
|
||||||
|
$condition = '=""';
|
||||||
|
}
|
||||||
|
if (!in_array($condition[0], ['>', '<', '='])) {
|
||||||
|
if (!is_numeric($condition)) {
|
||||||
|
$condition = Calculation::wrapResult(strtoupper($condition));
|
||||||
|
}
|
||||||
|
|
||||||
|
return '=' . $condition;
|
||||||
|
}
|
||||||
|
preg_match('/(=|<[>=]?|>=?)(.*)/', $condition, $matches);
|
||||||
|
[, $operator, $operand] = $matches;
|
||||||
|
|
||||||
|
if (is_numeric(trim($operand, '"'))) {
|
||||||
|
$operand = trim($operand, '"');
|
||||||
|
} elseif (!is_numeric($operand)) {
|
||||||
|
$operand = str_replace('"', '""', $operand);
|
||||||
|
$operand = Calculation::wrapResult(strtoupper($operand));
|
||||||
|
}
|
||||||
|
|
||||||
|
return $operator . $operand;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ERROR_TYPE.
|
||||||
|
*
|
||||||
|
* @param mixed $value Value to check
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public static function errorType($value = '')
|
||||||
|
{
|
||||||
|
$value = self::flattenSingleValue($value);
|
||||||
|
|
||||||
|
$i = 1;
|
||||||
|
foreach (self::$errorCodes as $errorCode) {
|
||||||
|
if ($value === $errorCode) {
|
||||||
|
return $i;
|
||||||
|
}
|
||||||
|
++$i;
|
||||||
|
}
|
||||||
|
|
||||||
|
return self::NA();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* IS_BLANK.
|
||||||
|
*
|
||||||
|
* @param mixed $value Value to check
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public static function isBlank($value = null)
|
||||||
|
{
|
||||||
|
if ($value !== null) {
|
||||||
|
$value = self::flattenSingleValue($value);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $value === null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* IS_ERR.
|
||||||
|
*
|
||||||
|
* @param mixed $value Value to check
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public static function isErr($value = '')
|
||||||
|
{
|
||||||
|
$value = self::flattenSingleValue($value);
|
||||||
|
|
||||||
|
return self::isError($value) && (!self::isNa(($value)));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* IS_ERROR.
|
||||||
|
*
|
||||||
|
* @param mixed $value Value to check
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public static function isError($value = '')
|
||||||
|
{
|
||||||
|
$value = self::flattenSingleValue($value);
|
||||||
|
|
||||||
|
if (!is_string($value)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return in_array($value, self::$errorCodes);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* IS_NA.
|
||||||
|
*
|
||||||
|
* @param mixed $value Value to check
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public static function isNa($value = '')
|
||||||
|
{
|
||||||
|
$value = self::flattenSingleValue($value);
|
||||||
|
|
||||||
|
return $value === self::NA();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* IS_EVEN.
|
||||||
|
*
|
||||||
|
* @param mixed $value Value to check
|
||||||
|
*
|
||||||
|
* @return bool|string
|
||||||
|
*/
|
||||||
|
public static function isEven($value = null)
|
||||||
|
{
|
||||||
|
$value = self::flattenSingleValue($value);
|
||||||
|
|
||||||
|
if ($value === null) {
|
||||||
|
return self::NAME();
|
||||||
|
} elseif ((is_bool($value)) || ((is_string($value)) && (!is_numeric($value)))) {
|
||||||
|
return self::VALUE();
|
||||||
|
}
|
||||||
|
|
||||||
|
return $value % 2 == 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* IS_ODD.
|
||||||
|
*
|
||||||
|
* @param mixed $value Value to check
|
||||||
|
*
|
||||||
|
* @return bool|string
|
||||||
|
*/
|
||||||
|
public static function isOdd($value = null)
|
||||||
|
{
|
||||||
|
$value = self::flattenSingleValue($value);
|
||||||
|
|
||||||
|
if ($value === null) {
|
||||||
|
return self::NAME();
|
||||||
|
} elseif ((is_bool($value)) || ((is_string($value)) && (!is_numeric($value)))) {
|
||||||
|
return self::VALUE();
|
||||||
|
}
|
||||||
|
|
||||||
|
return abs($value) % 2 == 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* IS_NUMBER.
|
||||||
|
*
|
||||||
|
* @param mixed $value Value to check
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public static function isNumber($value = null)
|
||||||
|
{
|
||||||
|
$value = self::flattenSingleValue($value);
|
||||||
|
|
||||||
|
if (is_string($value)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return is_numeric($value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* IS_LOGICAL.
|
||||||
|
*
|
||||||
|
* @param mixed $value Value to check
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public static function isLogical($value = null)
|
||||||
|
{
|
||||||
|
$value = self::flattenSingleValue($value);
|
||||||
|
|
||||||
|
return is_bool($value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* IS_TEXT.
|
||||||
|
*
|
||||||
|
* @param mixed $value Value to check
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public static function isText($value = null)
|
||||||
|
{
|
||||||
|
$value = self::flattenSingleValue($value);
|
||||||
|
|
||||||
|
return is_string($value) && !self::isError($value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* IS_NONTEXT.
|
||||||
|
*
|
||||||
|
* @param mixed $value Value to check
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public static function isNonText($value = null)
|
||||||
|
{
|
||||||
|
return !self::isText($value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* N.
|
||||||
|
*
|
||||||
|
* Returns a value converted to a number
|
||||||
|
*
|
||||||
|
* @param null|mixed $value The value you want converted
|
||||||
|
*
|
||||||
|
* @return number N converts values listed in the following table
|
||||||
|
* If value is or refers to N returns
|
||||||
|
* A number That number
|
||||||
|
* A date The serial number of that date
|
||||||
|
* TRUE 1
|
||||||
|
* FALSE 0
|
||||||
|
* An error value The error value
|
||||||
|
* Anything else 0
|
||||||
|
*/
|
||||||
|
public static function n($value = null)
|
||||||
|
{
|
||||||
|
while (is_array($value)) {
|
||||||
|
$value = array_shift($value);
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (gettype($value)) {
|
||||||
|
case 'double':
|
||||||
|
case 'float':
|
||||||
|
case 'integer':
|
||||||
|
return $value;
|
||||||
|
case 'boolean':
|
||||||
|
return (int) $value;
|
||||||
|
case 'string':
|
||||||
|
// Errors
|
||||||
|
if ((strlen($value) > 0) && ($value[0] == '#')) {
|
||||||
|
return $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TYPE.
|
||||||
|
*
|
||||||
|
* Returns a number that identifies the type of a value
|
||||||
|
*
|
||||||
|
* @param null|mixed $value The value you want tested
|
||||||
|
*
|
||||||
|
* @return number N converts values listed in the following table
|
||||||
|
* If value is or refers to N returns
|
||||||
|
* A number 1
|
||||||
|
* Text 2
|
||||||
|
* Logical Value 4
|
||||||
|
* An error value 16
|
||||||
|
* Array or Matrix 64
|
||||||
|
*/
|
||||||
|
public static function TYPE($value = null)
|
||||||
|
{
|
||||||
|
$value = self::flattenArrayIndexed($value);
|
||||||
|
if (is_array($value) && (count($value) > 1)) {
|
||||||
|
end($value);
|
||||||
|
$a = key($value);
|
||||||
|
// Range of cells is an error
|
||||||
|
if (self::isCellValue($a)) {
|
||||||
|
return 16;
|
||||||
|
// Test for Matrix
|
||||||
|
} elseif (self::isMatrixValue($a)) {
|
||||||
|
return 64;
|
||||||
|
}
|
||||||
|
} elseif (empty($value)) {
|
||||||
|
// Empty Cell
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
$value = self::flattenSingleValue($value);
|
||||||
|
|
||||||
|
if (($value === null) || (is_float($value)) || (is_int($value))) {
|
||||||
|
return 1;
|
||||||
|
} elseif (is_bool($value)) {
|
||||||
|
return 4;
|
||||||
|
} elseif (is_array($value)) {
|
||||||
|
return 64;
|
||||||
|
} elseif (is_string($value)) {
|
||||||
|
// Errors
|
||||||
|
if ((strlen($value) > 0) && ($value[0] == '#')) {
|
||||||
|
return 16;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convert a multi-dimensional array to a simple 1-dimensional array.
|
||||||
|
*
|
||||||
|
* @param array $array Array to be flattened
|
||||||
|
*
|
||||||
|
* @return array Flattened array
|
||||||
|
*/
|
||||||
|
public static function flattenArray($array)
|
||||||
|
{
|
||||||
|
if (!is_array($array)) {
|
||||||
|
return (array) $array;
|
||||||
|
}
|
||||||
|
|
||||||
|
$arrayValues = [];
|
||||||
|
foreach ($array as $value) {
|
||||||
|
if (is_array($value)) {
|
||||||
|
foreach ($value as $val) {
|
||||||
|
if (is_array($val)) {
|
||||||
|
foreach ($val as $v) {
|
||||||
|
$arrayValues[] = $v;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$arrayValues[] = $val;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$arrayValues[] = $value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $arrayValues;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convert a multi-dimensional array to a simple 1-dimensional array, but retain an element of indexing.
|
||||||
|
*
|
||||||
|
* @param array $array Array to be flattened
|
||||||
|
*
|
||||||
|
* @return array Flattened array
|
||||||
|
*/
|
||||||
|
public static function flattenArrayIndexed($array)
|
||||||
|
{
|
||||||
|
if (!is_array($array)) {
|
||||||
|
return (array) $array;
|
||||||
|
}
|
||||||
|
|
||||||
|
$arrayValues = [];
|
||||||
|
foreach ($array as $k1 => $value) {
|
||||||
|
if (is_array($value)) {
|
||||||
|
foreach ($value as $k2 => $val) {
|
||||||
|
if (is_array($val)) {
|
||||||
|
foreach ($val as $k3 => $v) {
|
||||||
|
$arrayValues[$k1 . '.' . $k2 . '.' . $k3] = $v;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$arrayValues[$k1 . '.' . $k2] = $val;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$arrayValues[$k1] = $value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $arrayValues;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convert an array to a single scalar value by extracting the first element.
|
||||||
|
*
|
||||||
|
* @param mixed $value Array or scalar value
|
||||||
|
*
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public static function flattenSingleValue($value = '')
|
||||||
|
{
|
||||||
|
while (is_array($value)) {
|
||||||
|
$value = array_pop($value);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ISFORMULA.
|
||||||
|
*
|
||||||
|
* @param mixed $cellReference The cell to check
|
||||||
|
* @param Cell $pCell The current cell (containing this formula)
|
||||||
|
*
|
||||||
|
* @return bool|string
|
||||||
|
*/
|
||||||
|
public static function isFormula($cellReference = '', Cell $pCell = null)
|
||||||
|
{
|
||||||
|
if ($pCell === null) {
|
||||||
|
return self::REF();
|
||||||
|
}
|
||||||
|
|
||||||
|
preg_match('/^' . Calculation::CALCULATION_REGEXP_CELLREF . '$/i', $cellReference, $matches);
|
||||||
|
|
||||||
|
$cellReference = $matches[6] . $matches[7];
|
||||||
|
$worksheetName = trim($matches[3], "'");
|
||||||
|
|
||||||
|
$worksheet = (!empty($worksheetName))
|
||||||
|
? $pCell->getWorksheet()->getParent()->getSheetByName($worksheetName)
|
||||||
|
: $pCell->getWorksheet();
|
||||||
|
|
||||||
|
return $worksheet->getCell($cellReference)->isFormula();
|
||||||
|
}
|
||||||
|
}
|
||||||
371
PhpOffice/PhpSpreadsheet/Calculation/Logical.php
Normal file
371
PhpOffice/PhpSpreadsheet/Calculation/Logical.php
Normal file
|
|
@ -0,0 +1,371 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Calculation;
|
||||||
|
|
||||||
|
class Logical
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* TRUE.
|
||||||
|
*
|
||||||
|
* Returns the boolean TRUE.
|
||||||
|
*
|
||||||
|
* Excel Function:
|
||||||
|
* =TRUE()
|
||||||
|
*
|
||||||
|
* @category Logical Functions
|
||||||
|
*
|
||||||
|
* @return bool True
|
||||||
|
*/
|
||||||
|
public static function true()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* FALSE.
|
||||||
|
*
|
||||||
|
* Returns the boolean FALSE.
|
||||||
|
*
|
||||||
|
* Excel Function:
|
||||||
|
* =FALSE()
|
||||||
|
*
|
||||||
|
* @category Logical Functions
|
||||||
|
*
|
||||||
|
* @return bool False
|
||||||
|
*/
|
||||||
|
public static function false()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static function countTrueValues(array $args)
|
||||||
|
{
|
||||||
|
$returnValue = 0;
|
||||||
|
|
||||||
|
foreach ($args as $arg) {
|
||||||
|
// Is it a boolean value?
|
||||||
|
if (is_bool($arg)) {
|
||||||
|
$returnValue += $arg;
|
||||||
|
} elseif ((is_numeric($arg)) && (!is_string($arg))) {
|
||||||
|
$returnValue += ((int) $arg != 0);
|
||||||
|
} elseif (is_string($arg)) {
|
||||||
|
$arg = strtoupper($arg);
|
||||||
|
if (($arg == 'TRUE') || ($arg == Calculation::getTRUE())) {
|
||||||
|
$arg = true;
|
||||||
|
} elseif (($arg == 'FALSE') || ($arg == Calculation::getFALSE())) {
|
||||||
|
$arg = false;
|
||||||
|
} else {
|
||||||
|
return Functions::VALUE();
|
||||||
|
}
|
||||||
|
$returnValue += ($arg != 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $returnValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* LOGICAL_AND.
|
||||||
|
*
|
||||||
|
* Returns boolean TRUE if all its arguments are TRUE; returns FALSE if one or more argument is FALSE.
|
||||||
|
*
|
||||||
|
* Excel Function:
|
||||||
|
* =AND(logical1[,logical2[, ...]])
|
||||||
|
*
|
||||||
|
* The arguments must evaluate to logical values such as TRUE or FALSE, or the arguments must be arrays
|
||||||
|
* or references that contain logical values.
|
||||||
|
*
|
||||||
|
* Boolean arguments are treated as True or False as appropriate
|
||||||
|
* Integer or floating point arguments are treated as True, except for 0 or 0.0 which are False
|
||||||
|
* If any argument value is a string, or a Null, the function returns a #VALUE! error, unless the string holds
|
||||||
|
* the value TRUE or FALSE, in which case it is evaluated as the corresponding boolean value
|
||||||
|
*
|
||||||
|
* @category Logical Functions
|
||||||
|
*
|
||||||
|
* @param mixed ...$args Data values
|
||||||
|
*
|
||||||
|
* @return bool|string the logical AND of the arguments
|
||||||
|
*/
|
||||||
|
public static function logicalAnd(...$args)
|
||||||
|
{
|
||||||
|
$args = Functions::flattenArray($args);
|
||||||
|
|
||||||
|
if (count($args) == 0) {
|
||||||
|
return Functions::VALUE();
|
||||||
|
}
|
||||||
|
|
||||||
|
$args = array_filter($args, function ($value) {
|
||||||
|
return $value !== null || (is_string($value) && trim($value) == '');
|
||||||
|
});
|
||||||
|
$argCount = count($args);
|
||||||
|
|
||||||
|
$returnValue = self::countTrueValues($args);
|
||||||
|
if (is_string($returnValue)) {
|
||||||
|
return $returnValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ($returnValue > 0) && ($returnValue == $argCount);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* LOGICAL_OR.
|
||||||
|
*
|
||||||
|
* Returns boolean TRUE if any argument is TRUE; returns FALSE if all arguments are FALSE.
|
||||||
|
*
|
||||||
|
* Excel Function:
|
||||||
|
* =OR(logical1[,logical2[, ...]])
|
||||||
|
*
|
||||||
|
* The arguments must evaluate to logical values such as TRUE or FALSE, or the arguments must be arrays
|
||||||
|
* or references that contain logical values.
|
||||||
|
*
|
||||||
|
* Boolean arguments are treated as True or False as appropriate
|
||||||
|
* Integer or floating point arguments are treated as True, except for 0 or 0.0 which are False
|
||||||
|
* If any argument value is a string, or a Null, the function returns a #VALUE! error, unless the string holds
|
||||||
|
* the value TRUE or FALSE, in which case it is evaluated as the corresponding boolean value
|
||||||
|
*
|
||||||
|
* @category Logical Functions
|
||||||
|
*
|
||||||
|
* @param mixed $args Data values
|
||||||
|
*
|
||||||
|
* @return bool|string the logical OR of the arguments
|
||||||
|
*/
|
||||||
|
public static function logicalOr(...$args)
|
||||||
|
{
|
||||||
|
$args = Functions::flattenArray($args);
|
||||||
|
|
||||||
|
if (count($args) == 0) {
|
||||||
|
return Functions::VALUE();
|
||||||
|
}
|
||||||
|
|
||||||
|
$args = array_filter($args, function ($value) {
|
||||||
|
return $value !== null || (is_string($value) && trim($value) == '');
|
||||||
|
});
|
||||||
|
|
||||||
|
$returnValue = self::countTrueValues($args);
|
||||||
|
if (is_string($returnValue)) {
|
||||||
|
return $returnValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $returnValue > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* LOGICAL_XOR.
|
||||||
|
*
|
||||||
|
* Returns the Exclusive Or logical operation for one or more supplied conditions.
|
||||||
|
* i.e. the Xor function returns TRUE if an odd number of the supplied conditions evaluate to TRUE, and FALSE otherwise.
|
||||||
|
*
|
||||||
|
* Excel Function:
|
||||||
|
* =XOR(logical1[,logical2[, ...]])
|
||||||
|
*
|
||||||
|
* The arguments must evaluate to logical values such as TRUE or FALSE, or the arguments must be arrays
|
||||||
|
* or references that contain logical values.
|
||||||
|
*
|
||||||
|
* Boolean arguments are treated as True or False as appropriate
|
||||||
|
* Integer or floating point arguments are treated as True, except for 0 or 0.0 which are False
|
||||||
|
* If any argument value is a string, or a Null, the function returns a #VALUE! error, unless the string holds
|
||||||
|
* the value TRUE or FALSE, in which case it is evaluated as the corresponding boolean value
|
||||||
|
*
|
||||||
|
* @category Logical Functions
|
||||||
|
*
|
||||||
|
* @param mixed $args Data values
|
||||||
|
*
|
||||||
|
* @return bool|string the logical XOR of the arguments
|
||||||
|
*/
|
||||||
|
public static function logicalXor(...$args)
|
||||||
|
{
|
||||||
|
$args = Functions::flattenArray($args);
|
||||||
|
|
||||||
|
if (count($args) == 0) {
|
||||||
|
return Functions::VALUE();
|
||||||
|
}
|
||||||
|
|
||||||
|
$args = array_filter($args, function ($value) {
|
||||||
|
return $value !== null || (is_string($value) && trim($value) == '');
|
||||||
|
});
|
||||||
|
|
||||||
|
$returnValue = self::countTrueValues($args);
|
||||||
|
if (is_string($returnValue)) {
|
||||||
|
return $returnValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $returnValue % 2 == 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* NOT.
|
||||||
|
*
|
||||||
|
* Returns the boolean inverse of the argument.
|
||||||
|
*
|
||||||
|
* Excel Function:
|
||||||
|
* =NOT(logical)
|
||||||
|
*
|
||||||
|
* The argument must evaluate to a logical value such as TRUE or FALSE
|
||||||
|
*
|
||||||
|
* Boolean arguments are treated as True or False as appropriate
|
||||||
|
* Integer or floating point arguments are treated as True, except for 0 or 0.0 which are False
|
||||||
|
* If any argument value is a string, or a Null, the function returns a #VALUE! error, unless the string holds
|
||||||
|
* the value TRUE or FALSE, in which case it is evaluated as the corresponding boolean value
|
||||||
|
*
|
||||||
|
* @category Logical Functions
|
||||||
|
*
|
||||||
|
* @param mixed $logical A value or expression that can be evaluated to TRUE or FALSE
|
||||||
|
*
|
||||||
|
* @return bool|string the boolean inverse of the argument
|
||||||
|
*/
|
||||||
|
public static function NOT($logical = false)
|
||||||
|
{
|
||||||
|
$logical = Functions::flattenSingleValue($logical);
|
||||||
|
|
||||||
|
if (is_string($logical)) {
|
||||||
|
$logical = strtoupper($logical);
|
||||||
|
if (($logical == 'TRUE') || ($logical == Calculation::getTRUE())) {
|
||||||
|
return false;
|
||||||
|
} elseif (($logical == 'FALSE') || ($logical == Calculation::getFALSE())) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return Functions::VALUE();
|
||||||
|
}
|
||||||
|
|
||||||
|
return !$logical;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* STATEMENT_IF.
|
||||||
|
*
|
||||||
|
* Returns one value if a condition you specify evaluates to TRUE and another value if it evaluates to FALSE.
|
||||||
|
*
|
||||||
|
* Excel Function:
|
||||||
|
* =IF(condition[,returnIfTrue[,returnIfFalse]])
|
||||||
|
*
|
||||||
|
* Condition is any value or expression that can be evaluated to TRUE or FALSE.
|
||||||
|
* For example, A10=100 is a logical expression; if the value in cell A10 is equal to 100,
|
||||||
|
* the expression evaluates to TRUE. Otherwise, the expression evaluates to FALSE.
|
||||||
|
* This argument can use any comparison calculation operator.
|
||||||
|
* ReturnIfTrue is the value that is returned if condition evaluates to TRUE.
|
||||||
|
* For example, if this argument is the text string "Within budget" and the condition argument evaluates to TRUE,
|
||||||
|
* then the IF function returns the text "Within budget"
|
||||||
|
* If condition is TRUE and ReturnIfTrue is blank, this argument returns 0 (zero). To display the word TRUE, use
|
||||||
|
* the logical value TRUE for this argument.
|
||||||
|
* ReturnIfTrue can be another formula.
|
||||||
|
* ReturnIfFalse is the value that is returned if condition evaluates to FALSE.
|
||||||
|
* For example, if this argument is the text string "Over budget" and the condition argument evaluates to FALSE,
|
||||||
|
* then the IF function returns the text "Over budget".
|
||||||
|
* If condition is FALSE and ReturnIfFalse is omitted, then the logical value FALSE is returned.
|
||||||
|
* If condition is FALSE and ReturnIfFalse is blank, then the value 0 (zero) is returned.
|
||||||
|
* ReturnIfFalse can be another formula.
|
||||||
|
*
|
||||||
|
* @category Logical Functions
|
||||||
|
*
|
||||||
|
* @param mixed $condition Condition to evaluate
|
||||||
|
* @param mixed $returnIfTrue Value to return when condition is true
|
||||||
|
* @param mixed $returnIfFalse Optional value to return when condition is false
|
||||||
|
*
|
||||||
|
* @return mixed The value of returnIfTrue or returnIfFalse determined by condition
|
||||||
|
*/
|
||||||
|
public static function statementIf($condition = true, $returnIfTrue = 0, $returnIfFalse = false)
|
||||||
|
{
|
||||||
|
$condition = ($condition === null) ? true : (bool) Functions::flattenSingleValue($condition);
|
||||||
|
$returnIfTrue = ($returnIfTrue === null) ? 0 : Functions::flattenSingleValue($returnIfTrue);
|
||||||
|
$returnIfFalse = ($returnIfFalse === null) ? false : Functions::flattenSingleValue($returnIfFalse);
|
||||||
|
|
||||||
|
return ($condition) ? $returnIfTrue : $returnIfFalse;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* STATEMENT_SWITCH.
|
||||||
|
*
|
||||||
|
* Returns corresponding with first match (any data type such as a string, numeric, date, etc).
|
||||||
|
*
|
||||||
|
* Excel Function:
|
||||||
|
* =SWITCH (expression, value1, result1, value2, result2, ... value_n, result_n [, default])
|
||||||
|
*
|
||||||
|
* Expression
|
||||||
|
* The expression to compare to a list of values.
|
||||||
|
* value1, value2, ... value_n
|
||||||
|
* A list of values that are compared to expression. The SWITCH function is looking for the first value that matches the expression.
|
||||||
|
* result1, result2, ... result_n
|
||||||
|
* A list of results. The SWITCH function returns the corresponding result when a value matches expression.
|
||||||
|
* default
|
||||||
|
* Optional. It is the default to return if expression does not match any of the values (value1, value2, ... value_n).
|
||||||
|
*
|
||||||
|
* @category Logical Functions
|
||||||
|
*
|
||||||
|
* @param mixed $arguments Statement arguments
|
||||||
|
*
|
||||||
|
* @return mixed The value of matched expression
|
||||||
|
*/
|
||||||
|
public static function statementSwitch(...$arguments)
|
||||||
|
{
|
||||||
|
$result = Functions::VALUE();
|
||||||
|
|
||||||
|
if (count($arguments) > 0) {
|
||||||
|
$targetValue = Functions::flattenSingleValue($arguments[0]);
|
||||||
|
$argc = count($arguments) - 1;
|
||||||
|
$switchCount = floor($argc / 2);
|
||||||
|
$switchSatisfied = false;
|
||||||
|
$hasDefaultClause = $argc % 2 !== 0;
|
||||||
|
$defaultClause = $argc % 2 === 0 ? null : $arguments[count($arguments) - 1];
|
||||||
|
|
||||||
|
if ($switchCount) {
|
||||||
|
for ($index = 0; $index < $switchCount; ++$index) {
|
||||||
|
if ($targetValue == $arguments[$index * 2 + 1]) {
|
||||||
|
$result = $arguments[$index * 2 + 2];
|
||||||
|
$switchSatisfied = true;
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$switchSatisfied) {
|
||||||
|
$result = $hasDefaultClause ? $defaultClause : Functions::NA();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* IFERROR.
|
||||||
|
*
|
||||||
|
* Excel Function:
|
||||||
|
* =IFERROR(testValue,errorpart)
|
||||||
|
*
|
||||||
|
* @category Logical Functions
|
||||||
|
*
|
||||||
|
* @param mixed $testValue Value to check, is also the value returned when no error
|
||||||
|
* @param mixed $errorpart Value to return when testValue is an error condition
|
||||||
|
*
|
||||||
|
* @return mixed The value of errorpart or testValue determined by error condition
|
||||||
|
*/
|
||||||
|
public static function IFERROR($testValue = '', $errorpart = '')
|
||||||
|
{
|
||||||
|
$testValue = ($testValue === null) ? '' : Functions::flattenSingleValue($testValue);
|
||||||
|
$errorpart = ($errorpart === null) ? '' : Functions::flattenSingleValue($errorpart);
|
||||||
|
|
||||||
|
return self::statementIf(Functions::isError($testValue), $errorpart, $testValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* IFNA.
|
||||||
|
*
|
||||||
|
* Excel Function:
|
||||||
|
* =IFNA(testValue,napart)
|
||||||
|
*
|
||||||
|
* @category Logical Functions
|
||||||
|
*
|
||||||
|
* @param mixed $testValue Value to check, is also the value returned when not an NA
|
||||||
|
* @param mixed $napart Value to return when testValue is an NA condition
|
||||||
|
*
|
||||||
|
* @return mixed The value of errorpart or testValue determined by error condition
|
||||||
|
*/
|
||||||
|
public static function IFNA($testValue = '', $napart = '')
|
||||||
|
{
|
||||||
|
$testValue = ($testValue === null) ? '' : Functions::flattenSingleValue($testValue);
|
||||||
|
$napart = ($napart === null) ? '' : Functions::flattenSingleValue($napart);
|
||||||
|
|
||||||
|
return self::statementIf(Functions::isNa($testValue), $napart, $testValue);
|
||||||
|
}
|
||||||
|
}
|
||||||
968
PhpOffice/PhpSpreadsheet/Calculation/LookupRef.php
Normal file
968
PhpOffice/PhpSpreadsheet/Calculation/LookupRef.php
Normal file
|
|
@ -0,0 +1,968 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Calculation;
|
||||||
|
|
||||||
|
use PhpOffice\PhpSpreadsheet\Cell\Cell;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Cell\Coordinate;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Shared\StringHelper;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
|
||||||
|
|
||||||
|
class LookupRef
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* CELL_ADDRESS.
|
||||||
|
*
|
||||||
|
* Creates a cell address as text, given specified row and column numbers.
|
||||||
|
*
|
||||||
|
* Excel Function:
|
||||||
|
* =ADDRESS(row, column, [relativity], [referenceStyle], [sheetText])
|
||||||
|
*
|
||||||
|
* @param mixed $row Row number to use in the cell reference
|
||||||
|
* @param mixed $column Column number to use in the cell reference
|
||||||
|
* @param int $relativity Flag indicating the type of reference to return
|
||||||
|
* 1 or omitted Absolute
|
||||||
|
* 2 Absolute row; relative column
|
||||||
|
* 3 Relative row; absolute column
|
||||||
|
* 4 Relative
|
||||||
|
* @param bool $referenceStyle A logical value that specifies the A1 or R1C1 reference style.
|
||||||
|
* TRUE or omitted CELL_ADDRESS returns an A1-style reference
|
||||||
|
* FALSE CELL_ADDRESS returns an R1C1-style reference
|
||||||
|
* @param string $sheetText Optional Name of worksheet to use
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public static function cellAddress($row, $column, $relativity = 1, $referenceStyle = true, $sheetText = '')
|
||||||
|
{
|
||||||
|
$row = Functions::flattenSingleValue($row);
|
||||||
|
$column = Functions::flattenSingleValue($column);
|
||||||
|
$relativity = Functions::flattenSingleValue($relativity);
|
||||||
|
$sheetText = Functions::flattenSingleValue($sheetText);
|
||||||
|
|
||||||
|
if (($row < 1) || ($column < 1)) {
|
||||||
|
return Functions::VALUE();
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($sheetText > '') {
|
||||||
|
if (strpos($sheetText, ' ') !== false) {
|
||||||
|
$sheetText = "'" . $sheetText . "'";
|
||||||
|
}
|
||||||
|
$sheetText .= '!';
|
||||||
|
}
|
||||||
|
if ((!is_bool($referenceStyle)) || $referenceStyle) {
|
||||||
|
$rowRelative = $columnRelative = '$';
|
||||||
|
$column = Coordinate::stringFromColumnIndex($column);
|
||||||
|
if (($relativity == 2) || ($relativity == 4)) {
|
||||||
|
$columnRelative = '';
|
||||||
|
}
|
||||||
|
if (($relativity == 3) || ($relativity == 4)) {
|
||||||
|
$rowRelative = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
return $sheetText . $columnRelative . $column . $rowRelative . $row;
|
||||||
|
}
|
||||||
|
if (($relativity == 2) || ($relativity == 4)) {
|
||||||
|
$column = '[' . $column . ']';
|
||||||
|
}
|
||||||
|
if (($relativity == 3) || ($relativity == 4)) {
|
||||||
|
$row = '[' . $row . ']';
|
||||||
|
}
|
||||||
|
|
||||||
|
return $sheetText . 'R' . $row . 'C' . $column;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* COLUMN.
|
||||||
|
*
|
||||||
|
* Returns the column number of the given cell reference
|
||||||
|
* If the cell reference is a range of cells, COLUMN returns the column numbers of each column in the reference as a horizontal array.
|
||||||
|
* If cell reference is omitted, and the function is being called through the calculation engine, then it is assumed to be the
|
||||||
|
* reference of the cell in which the COLUMN function appears; otherwise this function returns 0.
|
||||||
|
*
|
||||||
|
* Excel Function:
|
||||||
|
* =COLUMN([cellAddress])
|
||||||
|
*
|
||||||
|
* @param null|array|string $cellAddress A reference to a range of cells for which you want the column numbers
|
||||||
|
*
|
||||||
|
* @return int|int[]
|
||||||
|
*/
|
||||||
|
public static function COLUMN($cellAddress = null)
|
||||||
|
{
|
||||||
|
if ($cellAddress === null || trim($cellAddress) === '') {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (is_array($cellAddress)) {
|
||||||
|
foreach ($cellAddress as $columnKey => $value) {
|
||||||
|
$columnKey = preg_replace('/[^a-z]/i', '', $columnKey);
|
||||||
|
|
||||||
|
return (int) Coordinate::columnIndexFromString($columnKey);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
[$sheet, $cellAddress] = Worksheet::extractSheetTitle($cellAddress, true);
|
||||||
|
if (strpos($cellAddress, ':') !== false) {
|
||||||
|
[$startAddress, $endAddress] = explode(':', $cellAddress);
|
||||||
|
$startAddress = preg_replace('/[^a-z]/i', '', $startAddress);
|
||||||
|
$endAddress = preg_replace('/[^a-z]/i', '', $endAddress);
|
||||||
|
$returnValue = [];
|
||||||
|
do {
|
||||||
|
$returnValue[] = (int) Coordinate::columnIndexFromString($startAddress);
|
||||||
|
} while ($startAddress++ != $endAddress);
|
||||||
|
|
||||||
|
return $returnValue;
|
||||||
|
}
|
||||||
|
$cellAddress = preg_replace('/[^a-z]/i', '', $cellAddress);
|
||||||
|
|
||||||
|
return (int) Coordinate::columnIndexFromString($cellAddress);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* COLUMNS.
|
||||||
|
*
|
||||||
|
* Returns the number of columns in an array or reference.
|
||||||
|
*
|
||||||
|
* Excel Function:
|
||||||
|
* =COLUMNS(cellAddress)
|
||||||
|
*
|
||||||
|
* @param null|array|string $cellAddress An array or array formula, or a reference to a range of cells for which you want the number of columns
|
||||||
|
*
|
||||||
|
* @return int The number of columns in cellAddress
|
||||||
|
*/
|
||||||
|
public static function COLUMNS($cellAddress = null)
|
||||||
|
{
|
||||||
|
if ($cellAddress === null || $cellAddress === '') {
|
||||||
|
return 1;
|
||||||
|
} elseif (!is_array($cellAddress)) {
|
||||||
|
return Functions::VALUE();
|
||||||
|
}
|
||||||
|
|
||||||
|
reset($cellAddress);
|
||||||
|
$isMatrix = (is_numeric(key($cellAddress)));
|
||||||
|
[$columns, $rows] = Calculation::getMatrixDimensions($cellAddress);
|
||||||
|
|
||||||
|
if ($isMatrix) {
|
||||||
|
return $rows;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $columns;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ROW.
|
||||||
|
*
|
||||||
|
* Returns the row number of the given cell reference
|
||||||
|
* If the cell reference is a range of cells, ROW returns the row numbers of each row in the reference as a vertical array.
|
||||||
|
* If cell reference is omitted, and the function is being called through the calculation engine, then it is assumed to be the
|
||||||
|
* reference of the cell in which the ROW function appears; otherwise this function returns 0.
|
||||||
|
*
|
||||||
|
* Excel Function:
|
||||||
|
* =ROW([cellAddress])
|
||||||
|
*
|
||||||
|
* @param null|array|string $cellAddress A reference to a range of cells for which you want the row numbers
|
||||||
|
*
|
||||||
|
* @return int or array of integer
|
||||||
|
*/
|
||||||
|
public static function ROW($cellAddress = null)
|
||||||
|
{
|
||||||
|
if ($cellAddress === null || trim($cellAddress) === '') {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (is_array($cellAddress)) {
|
||||||
|
foreach ($cellAddress as $columnKey => $rowValue) {
|
||||||
|
foreach ($rowValue as $rowKey => $cellValue) {
|
||||||
|
return (int) preg_replace('/\D/', '', $rowKey);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
[$sheet, $cellAddress] = Worksheet::extractSheetTitle($cellAddress, true);
|
||||||
|
if (strpos($cellAddress, ':') !== false) {
|
||||||
|
[$startAddress, $endAddress] = explode(':', $cellAddress);
|
||||||
|
$startAddress = preg_replace('/\D/', '', $startAddress);
|
||||||
|
$endAddress = preg_replace('/\D/', '', $endAddress);
|
||||||
|
$returnValue = [];
|
||||||
|
do {
|
||||||
|
$returnValue[][] = (int) $startAddress;
|
||||||
|
} while ($startAddress++ != $endAddress);
|
||||||
|
|
||||||
|
return $returnValue;
|
||||||
|
}
|
||||||
|
[$cellAddress] = explode(':', $cellAddress);
|
||||||
|
|
||||||
|
return (int) preg_replace('/\D/', '', $cellAddress);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ROWS.
|
||||||
|
*
|
||||||
|
* Returns the number of rows in an array or reference.
|
||||||
|
*
|
||||||
|
* Excel Function:
|
||||||
|
* =ROWS(cellAddress)
|
||||||
|
*
|
||||||
|
* @param null|array|string $cellAddress An array or array formula, or a reference to a range of cells for which you want the number of rows
|
||||||
|
*
|
||||||
|
* @return int The number of rows in cellAddress
|
||||||
|
*/
|
||||||
|
public static function ROWS($cellAddress = null)
|
||||||
|
{
|
||||||
|
if ($cellAddress === null || $cellAddress === '') {
|
||||||
|
return 1;
|
||||||
|
} elseif (!is_array($cellAddress)) {
|
||||||
|
return Functions::VALUE();
|
||||||
|
}
|
||||||
|
|
||||||
|
reset($cellAddress);
|
||||||
|
$isMatrix = (is_numeric(key($cellAddress)));
|
||||||
|
[$columns, $rows] = Calculation::getMatrixDimensions($cellAddress);
|
||||||
|
|
||||||
|
if ($isMatrix) {
|
||||||
|
return $columns;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $rows;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* HYPERLINK.
|
||||||
|
*
|
||||||
|
* Excel Function:
|
||||||
|
* =HYPERLINK(linkURL,displayName)
|
||||||
|
*
|
||||||
|
* @category Logical Functions
|
||||||
|
*
|
||||||
|
* @param string $linkURL Value to check, is also the value returned when no error
|
||||||
|
* @param string $displayName Value to return when testValue is an error condition
|
||||||
|
* @param Cell $pCell The cell to set the hyperlink in
|
||||||
|
*
|
||||||
|
* @return mixed The value of $displayName (or $linkURL if $displayName was blank)
|
||||||
|
*/
|
||||||
|
public static function HYPERLINK($linkURL = '', $displayName = null, Cell $pCell = null)
|
||||||
|
{
|
||||||
|
$linkURL = ($linkURL === null) ? '' : Functions::flattenSingleValue($linkURL);
|
||||||
|
$displayName = ($displayName === null) ? '' : Functions::flattenSingleValue($displayName);
|
||||||
|
|
||||||
|
if ((!is_object($pCell)) || (trim($linkURL) == '')) {
|
||||||
|
return Functions::REF();
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((is_object($displayName)) || trim($displayName) == '') {
|
||||||
|
$displayName = $linkURL;
|
||||||
|
}
|
||||||
|
|
||||||
|
$pCell->getHyperlink()->setUrl($linkURL);
|
||||||
|
$pCell->getHyperlink()->setTooltip($displayName);
|
||||||
|
|
||||||
|
return $displayName;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* INDIRECT.
|
||||||
|
*
|
||||||
|
* Returns the reference specified by a text string.
|
||||||
|
* References are immediately evaluated to display their contents.
|
||||||
|
*
|
||||||
|
* Excel Function:
|
||||||
|
* =INDIRECT(cellAddress)
|
||||||
|
*
|
||||||
|
* NOTE - INDIRECT() does not yet support the optional a1 parameter introduced in Excel 2010
|
||||||
|
*
|
||||||
|
* @param null|array|string $cellAddress $cellAddress The cell address of the current cell (containing this formula)
|
||||||
|
* @param Cell $pCell The current cell (containing this formula)
|
||||||
|
*
|
||||||
|
* @return mixed The cells referenced by cellAddress
|
||||||
|
*
|
||||||
|
* @todo Support for the optional a1 parameter introduced in Excel 2010
|
||||||
|
*/
|
||||||
|
public static function INDIRECT($cellAddress = null, Cell $pCell = null)
|
||||||
|
{
|
||||||
|
$cellAddress = Functions::flattenSingleValue($cellAddress);
|
||||||
|
if ($cellAddress === null || $cellAddress === '') {
|
||||||
|
return Functions::REF();
|
||||||
|
}
|
||||||
|
|
||||||
|
$cellAddress1 = $cellAddress;
|
||||||
|
$cellAddress2 = null;
|
||||||
|
if (strpos($cellAddress, ':') !== false) {
|
||||||
|
[$cellAddress1, $cellAddress2] = explode(':', $cellAddress);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((!preg_match('/^' . Calculation::CALCULATION_REGEXP_CELLREF . '$/i', $cellAddress1, $matches)) ||
|
||||||
|
(($cellAddress2 !== null) && (!preg_match('/^' . Calculation::CALCULATION_REGEXP_CELLREF . '$/i', $cellAddress2, $matches)))) {
|
||||||
|
if (!preg_match('/^' . Calculation::CALCULATION_REGEXP_NAMEDRANGE . '$/i', $cellAddress1, $matches)) {
|
||||||
|
return Functions::REF();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (strpos($cellAddress, '!') !== false) {
|
||||||
|
[$sheetName, $cellAddress] = Worksheet::extractSheetTitle($cellAddress, true);
|
||||||
|
$sheetName = trim($sheetName, "'");
|
||||||
|
$pSheet = $pCell->getWorksheet()->getParent()->getSheetByName($sheetName);
|
||||||
|
} else {
|
||||||
|
$pSheet = $pCell->getWorksheet();
|
||||||
|
}
|
||||||
|
|
||||||
|
return Calculation::getInstance()->extractNamedRange($cellAddress, $pSheet, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (strpos($cellAddress, '!') !== false) {
|
||||||
|
[$sheetName, $cellAddress] = Worksheet::extractSheetTitle($cellAddress, true);
|
||||||
|
$sheetName = trim($sheetName, "'");
|
||||||
|
$pSheet = $pCell->getWorksheet()->getParent()->getSheetByName($sheetName);
|
||||||
|
} else {
|
||||||
|
$pSheet = $pCell->getWorksheet();
|
||||||
|
}
|
||||||
|
|
||||||
|
return Calculation::getInstance()->extractCellRange($cellAddress, $pSheet, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* OFFSET.
|
||||||
|
*
|
||||||
|
* Returns a reference to a range that is a specified number of rows and columns from a cell or range of cells.
|
||||||
|
* The reference that is returned can be a single cell or a range of cells. You can specify the number of rows and
|
||||||
|
* the number of columns to be returned.
|
||||||
|
*
|
||||||
|
* Excel Function:
|
||||||
|
* =OFFSET(cellAddress, rows, cols, [height], [width])
|
||||||
|
*
|
||||||
|
* @param null|string $cellAddress The reference from which you want to base the offset. Reference must refer to a cell or
|
||||||
|
* range of adjacent cells; otherwise, OFFSET returns the #VALUE! error value.
|
||||||
|
* @param mixed $rows The number of rows, up or down, that you want the upper-left cell to refer to.
|
||||||
|
* Using 5 as the rows argument specifies that the upper-left cell in the reference is
|
||||||
|
* five rows below reference. Rows can be positive (which means below the starting reference)
|
||||||
|
* or negative (which means above the starting reference).
|
||||||
|
* @param mixed $columns The number of columns, to the left or right, that you want the upper-left cell of the result
|
||||||
|
* to refer to. Using 5 as the cols argument specifies that the upper-left cell in the
|
||||||
|
* reference is five columns to the right of reference. Cols can be positive (which means
|
||||||
|
* to the right of the starting reference) or negative (which means to the left of the
|
||||||
|
* starting reference).
|
||||||
|
* @param mixed $height The height, in number of rows, that you want the returned reference to be. Height must be a positive number.
|
||||||
|
* @param mixed $width The width, in number of columns, that you want the returned reference to be. Width must be a positive number.
|
||||||
|
* @param null|Cell $pCell
|
||||||
|
*
|
||||||
|
* @return string A reference to a cell or range of cells
|
||||||
|
*/
|
||||||
|
public static function OFFSET($cellAddress = null, $rows = 0, $columns = 0, $height = null, $width = null, Cell $pCell = null)
|
||||||
|
{
|
||||||
|
$rows = Functions::flattenSingleValue($rows);
|
||||||
|
$columns = Functions::flattenSingleValue($columns);
|
||||||
|
$height = Functions::flattenSingleValue($height);
|
||||||
|
$width = Functions::flattenSingleValue($width);
|
||||||
|
if ($cellAddress === null) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!is_object($pCell)) {
|
||||||
|
return Functions::REF();
|
||||||
|
}
|
||||||
|
|
||||||
|
$sheetName = null;
|
||||||
|
if (strpos($cellAddress, '!')) {
|
||||||
|
[$sheetName, $cellAddress] = Worksheet::extractSheetTitle($cellAddress, true);
|
||||||
|
$sheetName = trim($sheetName, "'");
|
||||||
|
}
|
||||||
|
if (strpos($cellAddress, ':')) {
|
||||||
|
[$startCell, $endCell] = explode(':', $cellAddress);
|
||||||
|
} else {
|
||||||
|
$startCell = $endCell = $cellAddress;
|
||||||
|
}
|
||||||
|
[$startCellColumn, $startCellRow] = Coordinate::coordinateFromString($startCell);
|
||||||
|
[$endCellColumn, $endCellRow] = Coordinate::coordinateFromString($endCell);
|
||||||
|
|
||||||
|
$startCellRow += $rows;
|
||||||
|
$startCellColumn = Coordinate::columnIndexFromString($startCellColumn) - 1;
|
||||||
|
$startCellColumn += $columns;
|
||||||
|
|
||||||
|
if (($startCellRow <= 0) || ($startCellColumn < 0)) {
|
||||||
|
return Functions::REF();
|
||||||
|
}
|
||||||
|
$endCellColumn = Coordinate::columnIndexFromString($endCellColumn) - 1;
|
||||||
|
if (($width != null) && (!is_object($width))) {
|
||||||
|
$endCellColumn = $startCellColumn + $width - 1;
|
||||||
|
} else {
|
||||||
|
$endCellColumn += $columns;
|
||||||
|
}
|
||||||
|
$startCellColumn = Coordinate::stringFromColumnIndex($startCellColumn + 1);
|
||||||
|
|
||||||
|
if (($height != null) && (!is_object($height))) {
|
||||||
|
$endCellRow = $startCellRow + $height - 1;
|
||||||
|
} else {
|
||||||
|
$endCellRow += $rows;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (($endCellRow <= 0) || ($endCellColumn < 0)) {
|
||||||
|
return Functions::REF();
|
||||||
|
}
|
||||||
|
$endCellColumn = Coordinate::stringFromColumnIndex($endCellColumn + 1);
|
||||||
|
|
||||||
|
$cellAddress = $startCellColumn . $startCellRow;
|
||||||
|
if (($startCellColumn != $endCellColumn) || ($startCellRow != $endCellRow)) {
|
||||||
|
$cellAddress .= ':' . $endCellColumn . $endCellRow;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($sheetName !== null) {
|
||||||
|
$pSheet = $pCell->getWorksheet()->getParent()->getSheetByName($sheetName);
|
||||||
|
} else {
|
||||||
|
$pSheet = $pCell->getWorksheet();
|
||||||
|
}
|
||||||
|
|
||||||
|
return Calculation::getInstance()->extractCellRange($cellAddress, $pSheet, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CHOOSE.
|
||||||
|
*
|
||||||
|
* Uses lookup_value to return a value from the list of value arguments.
|
||||||
|
* Use CHOOSE to select one of up to 254 values based on the lookup_value.
|
||||||
|
*
|
||||||
|
* Excel Function:
|
||||||
|
* =CHOOSE(index_num, value1, [value2], ...)
|
||||||
|
*
|
||||||
|
* @param mixed $index_num Specifies which value argument is selected.
|
||||||
|
* Index_num must be a number between 1 and 254, or a formula or reference to a cell containing a number
|
||||||
|
* between 1 and 254.
|
||||||
|
* @param mixed $value1 ... Value1 is required, subsequent values are optional.
|
||||||
|
* Between 1 to 254 value arguments from which CHOOSE selects a value or an action to perform based on
|
||||||
|
* index_num. The arguments can be numbers, cell references, defined names, formulas, functions, or
|
||||||
|
* text.
|
||||||
|
*
|
||||||
|
* @return mixed The selected value
|
||||||
|
*/
|
||||||
|
public static function CHOOSE(...$chooseArgs)
|
||||||
|
{
|
||||||
|
$chosenEntry = Functions::flattenArray(array_shift($chooseArgs));
|
||||||
|
$entryCount = count($chooseArgs) - 1;
|
||||||
|
|
||||||
|
if (is_array($chosenEntry)) {
|
||||||
|
$chosenEntry = array_shift($chosenEntry);
|
||||||
|
}
|
||||||
|
if ((is_numeric($chosenEntry)) && (!is_bool($chosenEntry))) {
|
||||||
|
--$chosenEntry;
|
||||||
|
} else {
|
||||||
|
return Functions::VALUE();
|
||||||
|
}
|
||||||
|
$chosenEntry = floor($chosenEntry);
|
||||||
|
if (($chosenEntry < 0) || ($chosenEntry > $entryCount)) {
|
||||||
|
return Functions::VALUE();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (is_array($chooseArgs[$chosenEntry])) {
|
||||||
|
return Functions::flattenArray($chooseArgs[$chosenEntry]);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $chooseArgs[$chosenEntry];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MATCH.
|
||||||
|
*
|
||||||
|
* The MATCH function searches for a specified item in a range of cells
|
||||||
|
*
|
||||||
|
* Excel Function:
|
||||||
|
* =MATCH(lookup_value, lookup_array, [match_type])
|
||||||
|
*
|
||||||
|
* @param mixed $lookupValue The value that you want to match in lookup_array
|
||||||
|
* @param mixed $lookupArray The range of cells being searched
|
||||||
|
* @param mixed $matchType The number -1, 0, or 1. -1 means above, 0 means exact match, 1 means below.
|
||||||
|
* If match_type is 1 or -1, the list has to be ordered.
|
||||||
|
*
|
||||||
|
* @return int|string The relative position of the found item
|
||||||
|
*/
|
||||||
|
public static function MATCH($lookupValue, $lookupArray, $matchType = 1)
|
||||||
|
{
|
||||||
|
$lookupArray = Functions::flattenArray($lookupArray);
|
||||||
|
$lookupValue = Functions::flattenSingleValue($lookupValue);
|
||||||
|
$matchType = ($matchType === null) ? 1 : (int) Functions::flattenSingleValue($matchType);
|
||||||
|
|
||||||
|
// MATCH is not case sensitive, so we convert lookup value to be lower cased in case it's string type.
|
||||||
|
if (is_string($lookupValue)) {
|
||||||
|
$lookupValue = StringHelper::strToLower($lookupValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Lookup_value type has to be number, text, or logical values
|
||||||
|
if ((!is_numeric($lookupValue)) && (!is_string($lookupValue)) && (!is_bool($lookupValue))) {
|
||||||
|
return Functions::NA();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Match_type is 0, 1 or -1
|
||||||
|
if (($matchType !== 0) && ($matchType !== -1) && ($matchType !== 1)) {
|
||||||
|
return Functions::NA();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Lookup_array should not be empty
|
||||||
|
$lookupArraySize = count($lookupArray);
|
||||||
|
if ($lookupArraySize <= 0) {
|
||||||
|
return Functions::NA();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Lookup_array should contain only number, text, or logical values, or empty (null) cells
|
||||||
|
foreach ($lookupArray as $i => $lookupArrayValue) {
|
||||||
|
// check the type of the value
|
||||||
|
if ((!is_numeric($lookupArrayValue)) && (!is_string($lookupArrayValue)) &&
|
||||||
|
(!is_bool($lookupArrayValue)) && ($lookupArrayValue !== null)
|
||||||
|
) {
|
||||||
|
return Functions::NA();
|
||||||
|
}
|
||||||
|
// Convert strings to lowercase for case-insensitive testing
|
||||||
|
if (is_string($lookupArrayValue)) {
|
||||||
|
$lookupArray[$i] = StringHelper::strToLower($lookupArrayValue);
|
||||||
|
}
|
||||||
|
if (($lookupArrayValue === null) && (($matchType == 1) || ($matchType == -1))) {
|
||||||
|
$lookupArray = array_slice($lookupArray, 0, $i - 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($matchType == 1) {
|
||||||
|
// If match_type is 1 the list has to be processed from last to first
|
||||||
|
|
||||||
|
$lookupArray = array_reverse($lookupArray);
|
||||||
|
$keySet = array_reverse(array_keys($lookupArray));
|
||||||
|
}
|
||||||
|
|
||||||
|
// **
|
||||||
|
// find the match
|
||||||
|
// **
|
||||||
|
|
||||||
|
if ($matchType === 0 || $matchType === 1) {
|
||||||
|
foreach ($lookupArray as $i => $lookupArrayValue) {
|
||||||
|
$typeMatch = gettype($lookupValue) === gettype($lookupArrayValue);
|
||||||
|
$exactTypeMatch = $typeMatch && $lookupArrayValue === $lookupValue;
|
||||||
|
$nonOnlyNumericExactMatch = !$typeMatch && $lookupArrayValue === $lookupValue;
|
||||||
|
$exactMatch = $exactTypeMatch || $nonOnlyNumericExactMatch;
|
||||||
|
|
||||||
|
if ($matchType === 0) {
|
||||||
|
if ($typeMatch && is_string($lookupValue) && (bool) preg_match('/([\?\*])/', $lookupValue)) {
|
||||||
|
$splitString = $lookupValue;
|
||||||
|
$chars = array_map(function ($i) use ($splitString) {
|
||||||
|
return mb_substr($splitString, $i, 1);
|
||||||
|
}, range(0, mb_strlen($splitString) - 1));
|
||||||
|
|
||||||
|
$length = count($chars);
|
||||||
|
$pattern = '/^';
|
||||||
|
for ($j = 0; $j < $length; ++$j) {
|
||||||
|
if ($chars[$j] === '~') {
|
||||||
|
if (isset($chars[$j + 1])) {
|
||||||
|
if ($chars[$j + 1] === '*') {
|
||||||
|
$pattern .= preg_quote($chars[$j + 1], '/');
|
||||||
|
++$j;
|
||||||
|
} elseif ($chars[$j + 1] === '?') {
|
||||||
|
$pattern .= preg_quote($chars[$j + 1], '/');
|
||||||
|
++$j;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$pattern .= preg_quote($chars[$j], '/');
|
||||||
|
}
|
||||||
|
} elseif ($chars[$j] === '*') {
|
||||||
|
$pattern .= '.*';
|
||||||
|
} elseif ($chars[$j] === '?') {
|
||||||
|
$pattern .= '.{1}';
|
||||||
|
} else {
|
||||||
|
$pattern .= preg_quote($chars[$j], '/');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$pattern .= '$/';
|
||||||
|
if ((bool) preg_match($pattern, $lookupArrayValue)) {
|
||||||
|
// exact match
|
||||||
|
return $i + 1;
|
||||||
|
}
|
||||||
|
} elseif ($exactMatch) {
|
||||||
|
// exact match
|
||||||
|
return $i + 1;
|
||||||
|
}
|
||||||
|
} elseif (($matchType === 1) && $typeMatch && ($lookupArrayValue <= $lookupValue)) {
|
||||||
|
$i = array_search($i, $keySet);
|
||||||
|
|
||||||
|
// The current value is the (first) match
|
||||||
|
return $i + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$maxValueKey = null;
|
||||||
|
|
||||||
|
// The basic algorithm is:
|
||||||
|
// Iterate and keep the highest match until the next element is smaller than the searched value.
|
||||||
|
// Return immediately if perfect match is found
|
||||||
|
foreach ($lookupArray as $i => $lookupArrayValue) {
|
||||||
|
$typeMatch = gettype($lookupValue) === gettype($lookupArrayValue);
|
||||||
|
$exactTypeMatch = $typeMatch && $lookupArrayValue === $lookupValue;
|
||||||
|
$nonOnlyNumericExactMatch = !$typeMatch && $lookupArrayValue === $lookupValue;
|
||||||
|
$exactMatch = $exactTypeMatch || $nonOnlyNumericExactMatch;
|
||||||
|
|
||||||
|
if ($exactMatch) {
|
||||||
|
// Another "special" case. If a perfect match is found,
|
||||||
|
// the algorithm gives up immediately
|
||||||
|
return $i + 1;
|
||||||
|
} elseif ($typeMatch & $lookupArrayValue >= $lookupValue) {
|
||||||
|
$maxValueKey = $i + 1;
|
||||||
|
} elseif ($typeMatch & $lookupArrayValue < $lookupValue) {
|
||||||
|
//Excel algorithm gives up immediately if the first element is smaller than the searched value
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($maxValueKey !== null) {
|
||||||
|
return $maxValueKey;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Unsuccessful in finding a match, return #N/A error value
|
||||||
|
return Functions::NA();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* INDEX.
|
||||||
|
*
|
||||||
|
* Uses an index to choose a value from a reference or array
|
||||||
|
*
|
||||||
|
* Excel Function:
|
||||||
|
* =INDEX(range_array, row_num, [column_num])
|
||||||
|
*
|
||||||
|
* @param mixed $arrayValues A range of cells or an array constant
|
||||||
|
* @param mixed $rowNum The row in array from which to return a value. If row_num is omitted, column_num is required.
|
||||||
|
* @param mixed $columnNum The column in array from which to return a value. If column_num is omitted, row_num is required.
|
||||||
|
*
|
||||||
|
* @return mixed the value of a specified cell or array of cells
|
||||||
|
*/
|
||||||
|
public static function INDEX($arrayValues, $rowNum = 0, $columnNum = 0)
|
||||||
|
{
|
||||||
|
$rowNum = Functions::flattenSingleValue($rowNum);
|
||||||
|
$columnNum = Functions::flattenSingleValue($columnNum);
|
||||||
|
|
||||||
|
if (($rowNum < 0) || ($columnNum < 0)) {
|
||||||
|
return Functions::VALUE();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!is_array($arrayValues) || ($rowNum > count($arrayValues))) {
|
||||||
|
return Functions::REF();
|
||||||
|
}
|
||||||
|
|
||||||
|
$rowKeys = array_keys($arrayValues);
|
||||||
|
$columnKeys = @array_keys($arrayValues[$rowKeys[0]]);
|
||||||
|
|
||||||
|
if ($columnNum > count($columnKeys)) {
|
||||||
|
return Functions::VALUE();
|
||||||
|
} elseif ($columnNum == 0) {
|
||||||
|
if ($rowNum == 0) {
|
||||||
|
return $arrayValues;
|
||||||
|
}
|
||||||
|
$rowNum = $rowKeys[--$rowNum];
|
||||||
|
$returnArray = [];
|
||||||
|
foreach ($arrayValues as $arrayColumn) {
|
||||||
|
if (is_array($arrayColumn)) {
|
||||||
|
if (isset($arrayColumn[$rowNum])) {
|
||||||
|
$returnArray[] = $arrayColumn[$rowNum];
|
||||||
|
} else {
|
||||||
|
return [$rowNum => $arrayValues[$rowNum]];
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return $arrayValues[$rowNum];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $returnArray;
|
||||||
|
}
|
||||||
|
$columnNum = $columnKeys[--$columnNum];
|
||||||
|
if ($rowNum > count($rowKeys)) {
|
||||||
|
return Functions::VALUE();
|
||||||
|
} elseif ($rowNum == 0) {
|
||||||
|
return $arrayValues[$columnNum];
|
||||||
|
}
|
||||||
|
$rowNum = $rowKeys[--$rowNum];
|
||||||
|
|
||||||
|
return $arrayValues[$rowNum][$columnNum];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TRANSPOSE.
|
||||||
|
*
|
||||||
|
* @param array $matrixData A matrix of values
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*
|
||||||
|
* Unlike the Excel TRANSPOSE function, which will only work on a single row or column, this function will transpose a full matrix
|
||||||
|
*/
|
||||||
|
public static function TRANSPOSE($matrixData)
|
||||||
|
{
|
||||||
|
$returnMatrix = [];
|
||||||
|
if (!is_array($matrixData)) {
|
||||||
|
$matrixData = [[$matrixData]];
|
||||||
|
}
|
||||||
|
|
||||||
|
$column = 0;
|
||||||
|
foreach ($matrixData as $matrixRow) {
|
||||||
|
$row = 0;
|
||||||
|
foreach ($matrixRow as $matrixCell) {
|
||||||
|
$returnMatrix[$row][$column] = $matrixCell;
|
||||||
|
++$row;
|
||||||
|
}
|
||||||
|
++$column;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $returnMatrix;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static function vlookupSort($a, $b)
|
||||||
|
{
|
||||||
|
reset($a);
|
||||||
|
$firstColumn = key($a);
|
||||||
|
$aLower = StringHelper::strToLower($a[$firstColumn]);
|
||||||
|
$bLower = StringHelper::strToLower($b[$firstColumn]);
|
||||||
|
if ($aLower == $bLower) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ($aLower < $bLower) ? -1 : 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* VLOOKUP
|
||||||
|
* The VLOOKUP function searches for value in the left-most column of lookup_array and returns the value in the same row based on the index_number.
|
||||||
|
*
|
||||||
|
* @param mixed $lookup_value The value that you want to match in lookup_array
|
||||||
|
* @param mixed $lookup_array The range of cells being searched
|
||||||
|
* @param mixed $index_number The column number in table_array from which the matching value must be returned. The first column is 1.
|
||||||
|
* @param mixed $not_exact_match determines if you are looking for an exact match based on lookup_value
|
||||||
|
*
|
||||||
|
* @return mixed The value of the found cell
|
||||||
|
*/
|
||||||
|
public static function VLOOKUP($lookup_value, $lookup_array, $index_number, $not_exact_match = true)
|
||||||
|
{
|
||||||
|
$lookup_value = Functions::flattenSingleValue($lookup_value);
|
||||||
|
$index_number = Functions::flattenSingleValue($index_number);
|
||||||
|
$not_exact_match = Functions::flattenSingleValue($not_exact_match);
|
||||||
|
|
||||||
|
// index_number must be greater than or equal to 1
|
||||||
|
if ($index_number < 1) {
|
||||||
|
return Functions::VALUE();
|
||||||
|
}
|
||||||
|
|
||||||
|
// index_number must be less than or equal to the number of columns in lookup_array
|
||||||
|
if ((!is_array($lookup_array)) || (empty($lookup_array))) {
|
||||||
|
return Functions::REF();
|
||||||
|
}
|
||||||
|
$f = array_keys($lookup_array);
|
||||||
|
$firstRow = array_pop($f);
|
||||||
|
if ((!is_array($lookup_array[$firstRow])) || ($index_number > count($lookup_array[$firstRow]))) {
|
||||||
|
return Functions::REF();
|
||||||
|
}
|
||||||
|
$columnKeys = array_keys($lookup_array[$firstRow]);
|
||||||
|
$returnColumn = $columnKeys[--$index_number];
|
||||||
|
$firstColumn = array_shift($columnKeys);
|
||||||
|
|
||||||
|
if (!$not_exact_match) {
|
||||||
|
uasort($lookup_array, ['self', 'vlookupSort']);
|
||||||
|
}
|
||||||
|
|
||||||
|
$lookupLower = StringHelper::strToLower($lookup_value);
|
||||||
|
$rowNumber = $rowValue = false;
|
||||||
|
foreach ($lookup_array as $rowKey => $rowData) {
|
||||||
|
$firstLower = StringHelper::strToLower($rowData[$firstColumn]);
|
||||||
|
|
||||||
|
// break if we have passed possible keys
|
||||||
|
if ((is_numeric($lookup_value) && is_numeric($rowData[$firstColumn]) && ($rowData[$firstColumn] > $lookup_value)) ||
|
||||||
|
(!is_numeric($lookup_value) && !is_numeric($rowData[$firstColumn]) && ($firstLower > $lookupLower))) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
// remember the last key, but only if datatypes match
|
||||||
|
if ((is_numeric($lookup_value) && is_numeric($rowData[$firstColumn])) ||
|
||||||
|
(!is_numeric($lookup_value) && !is_numeric($rowData[$firstColumn]))) {
|
||||||
|
if ($not_exact_match) {
|
||||||
|
$rowNumber = $rowKey;
|
||||||
|
|
||||||
|
continue;
|
||||||
|
} elseif (($firstLower == $lookupLower)
|
||||||
|
// Spreadsheets software returns first exact match,
|
||||||
|
// we have sorted and we might have broken key orders
|
||||||
|
// we want the first one (by its initial index)
|
||||||
|
&& (($rowNumber == false) || ($rowKey < $rowNumber))
|
||||||
|
) {
|
||||||
|
$rowNumber = $rowKey;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($rowNumber !== false) {
|
||||||
|
// return the appropriate value
|
||||||
|
return $lookup_array[$rowNumber][$returnColumn];
|
||||||
|
}
|
||||||
|
|
||||||
|
return Functions::NA();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* HLOOKUP
|
||||||
|
* The HLOOKUP function searches for value in the top-most row of lookup_array and returns the value in the same column based on the index_number.
|
||||||
|
*
|
||||||
|
* @param mixed $lookup_value The value that you want to match in lookup_array
|
||||||
|
* @param mixed $lookup_array The range of cells being searched
|
||||||
|
* @param mixed $index_number The row number in table_array from which the matching value must be returned. The first row is 1.
|
||||||
|
* @param mixed $not_exact_match determines if you are looking for an exact match based on lookup_value
|
||||||
|
*
|
||||||
|
* @return mixed The value of the found cell
|
||||||
|
*/
|
||||||
|
public static function HLOOKUP($lookup_value, $lookup_array, $index_number, $not_exact_match = true)
|
||||||
|
{
|
||||||
|
$lookup_value = Functions::flattenSingleValue($lookup_value);
|
||||||
|
$index_number = Functions::flattenSingleValue($index_number);
|
||||||
|
$not_exact_match = Functions::flattenSingleValue($not_exact_match);
|
||||||
|
|
||||||
|
// index_number must be greater than or equal to 1
|
||||||
|
if ($index_number < 1) {
|
||||||
|
return Functions::VALUE();
|
||||||
|
}
|
||||||
|
|
||||||
|
// index_number must be less than or equal to the number of columns in lookup_array
|
||||||
|
if ((!is_array($lookup_array)) || (empty($lookup_array))) {
|
||||||
|
return Functions::REF();
|
||||||
|
}
|
||||||
|
$f = array_keys($lookup_array);
|
||||||
|
$firstRow = array_pop($f);
|
||||||
|
if ((!is_array($lookup_array[$firstRow])) || ($index_number > count($lookup_array))) {
|
||||||
|
return Functions::REF();
|
||||||
|
}
|
||||||
|
|
||||||
|
$firstkey = $f[0] - 1;
|
||||||
|
$returnColumn = $firstkey + $index_number;
|
||||||
|
$firstColumn = array_shift($f);
|
||||||
|
$rowNumber = null;
|
||||||
|
foreach ($lookup_array[$firstColumn] as $rowKey => $rowData) {
|
||||||
|
// break if we have passed possible keys
|
||||||
|
$bothNumeric = is_numeric($lookup_value) && is_numeric($rowData);
|
||||||
|
$bothNotNumeric = !is_numeric($lookup_value) && !is_numeric($rowData);
|
||||||
|
$lookupLower = StringHelper::strToLower($lookup_value);
|
||||||
|
$rowDataLower = StringHelper::strToLower($rowData);
|
||||||
|
|
||||||
|
if ($not_exact_match && (
|
||||||
|
($bothNumeric && $rowData > $lookup_value) ||
|
||||||
|
($bothNotNumeric && $rowDataLower > $lookupLower)
|
||||||
|
)) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Remember the last key, but only if datatypes match (as in VLOOKUP)
|
||||||
|
if ($bothNumeric || $bothNotNumeric) {
|
||||||
|
if ($not_exact_match) {
|
||||||
|
$rowNumber = $rowKey;
|
||||||
|
|
||||||
|
continue;
|
||||||
|
} elseif ($rowDataLower === $lookupLower
|
||||||
|
&& ($rowNumber === null || $rowKey < $rowNumber)
|
||||||
|
) {
|
||||||
|
$rowNumber = $rowKey;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($rowNumber !== null) {
|
||||||
|
// otherwise return the appropriate value
|
||||||
|
return $lookup_array[$returnColumn][$rowNumber];
|
||||||
|
}
|
||||||
|
|
||||||
|
return Functions::NA();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* LOOKUP
|
||||||
|
* The LOOKUP function searches for value either from a one-row or one-column range or from an array.
|
||||||
|
*
|
||||||
|
* @param mixed $lookup_value The value that you want to match in lookup_array
|
||||||
|
* @param mixed $lookup_vector The range of cells being searched
|
||||||
|
* @param null|mixed $result_vector The column from which the matching value must be returned
|
||||||
|
*
|
||||||
|
* @return mixed The value of the found cell
|
||||||
|
*/
|
||||||
|
public static function LOOKUP($lookup_value, $lookup_vector, $result_vector = null)
|
||||||
|
{
|
||||||
|
$lookup_value = Functions::flattenSingleValue($lookup_value);
|
||||||
|
|
||||||
|
if (!is_array($lookup_vector)) {
|
||||||
|
return Functions::NA();
|
||||||
|
}
|
||||||
|
$hasResultVector = isset($result_vector);
|
||||||
|
$lookupRows = count($lookup_vector);
|
||||||
|
$l = array_keys($lookup_vector);
|
||||||
|
$l = array_shift($l);
|
||||||
|
$lookupColumns = count($lookup_vector[$l]);
|
||||||
|
// we correctly orient our results
|
||||||
|
if (($lookupRows === 1 && $lookupColumns > 1) || (!$hasResultVector && $lookupRows === 2 && $lookupColumns !== 2)) {
|
||||||
|
$lookup_vector = self::TRANSPOSE($lookup_vector);
|
||||||
|
$lookupRows = count($lookup_vector);
|
||||||
|
$l = array_keys($lookup_vector);
|
||||||
|
$lookupColumns = count($lookup_vector[array_shift($l)]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($result_vector === null) {
|
||||||
|
$result_vector = $lookup_vector;
|
||||||
|
}
|
||||||
|
$resultRows = count($result_vector);
|
||||||
|
$l = array_keys($result_vector);
|
||||||
|
$l = array_shift($l);
|
||||||
|
$resultColumns = count($result_vector[$l]);
|
||||||
|
// we correctly orient our results
|
||||||
|
if ($resultRows === 1 && $resultColumns > 1) {
|
||||||
|
$result_vector = self::TRANSPOSE($result_vector);
|
||||||
|
$resultRows = count($result_vector);
|
||||||
|
$r = array_keys($result_vector);
|
||||||
|
$resultColumns = count($result_vector[array_shift($r)]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($lookupRows === 2 && !$hasResultVector) {
|
||||||
|
$result_vector = array_pop($lookup_vector);
|
||||||
|
$lookup_vector = array_shift($lookup_vector);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($lookupColumns !== 2) {
|
||||||
|
foreach ($lookup_vector as &$value) {
|
||||||
|
if (is_array($value)) {
|
||||||
|
$k = array_keys($value);
|
||||||
|
$key1 = $key2 = array_shift($k);
|
||||||
|
++$key2;
|
||||||
|
$dataValue1 = $value[$key1];
|
||||||
|
} else {
|
||||||
|
$key1 = 0;
|
||||||
|
$key2 = 1;
|
||||||
|
$dataValue1 = $value;
|
||||||
|
}
|
||||||
|
$dataValue2 = array_shift($result_vector);
|
||||||
|
if (is_array($dataValue2)) {
|
||||||
|
$dataValue2 = array_shift($dataValue2);
|
||||||
|
}
|
||||||
|
$value = [$key1 => $dataValue1, $key2 => $dataValue2];
|
||||||
|
}
|
||||||
|
unset($value);
|
||||||
|
}
|
||||||
|
|
||||||
|
return self::VLOOKUP($lookup_value, $lookup_vector, 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* FORMULATEXT.
|
||||||
|
*
|
||||||
|
* @param mixed $cellReference The cell to check
|
||||||
|
* @param Cell $pCell The current cell (containing this formula)
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public static function FORMULATEXT($cellReference = '', Cell $pCell = null)
|
||||||
|
{
|
||||||
|
if ($pCell === null) {
|
||||||
|
return Functions::REF();
|
||||||
|
}
|
||||||
|
|
||||||
|
preg_match('/^' . Calculation::CALCULATION_REGEXP_CELLREF . '$/i', $cellReference, $matches);
|
||||||
|
|
||||||
|
$cellReference = $matches[6] . $matches[7];
|
||||||
|
$worksheetName = trim($matches[3], "'");
|
||||||
|
$worksheet = (!empty($worksheetName))
|
||||||
|
? $pCell->getWorksheet()->getParent()->getSheetByName($worksheetName)
|
||||||
|
: $pCell->getWorksheet();
|
||||||
|
|
||||||
|
if (!$worksheet->getCell($cellReference)->isFormula()) {
|
||||||
|
return Functions::NA();
|
||||||
|
}
|
||||||
|
|
||||||
|
return $worksheet->getCell($cellReference)->getValue();
|
||||||
|
}
|
||||||
|
}
|
||||||
1650
PhpOffice/PhpSpreadsheet/Calculation/MathTrig.php
Normal file
1650
PhpOffice/PhpSpreadsheet/Calculation/MathTrig.php
Normal file
File diff suppressed because it is too large
Load Diff
3773
PhpOffice/PhpSpreadsheet/Calculation/Statistical.php
Normal file
3773
PhpOffice/PhpSpreadsheet/Calculation/Statistical.php
Normal file
File diff suppressed because it is too large
Load Diff
672
PhpOffice/PhpSpreadsheet/Calculation/TextData.php
Normal file
672
PhpOffice/PhpSpreadsheet/Calculation/TextData.php
Normal file
|
|
@ -0,0 +1,672 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Calculation;
|
||||||
|
|
||||||
|
use PhpOffice\PhpSpreadsheet\Shared\Date;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Shared\StringHelper;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
|
||||||
|
|
||||||
|
class TextData
|
||||||
|
{
|
||||||
|
private static $invalidChars;
|
||||||
|
|
||||||
|
private static function unicodeToOrd($character)
|
||||||
|
{
|
||||||
|
return unpack('V', iconv('UTF-8', 'UCS-4LE', $character))[1];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CHARACTER.
|
||||||
|
*
|
||||||
|
* @param string $character Value
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public static function CHARACTER($character)
|
||||||
|
{
|
||||||
|
$character = Functions::flattenSingleValue($character);
|
||||||
|
|
||||||
|
if ((!is_numeric($character)) || ($character < 0)) {
|
||||||
|
return Functions::VALUE();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (function_exists('iconv')) {
|
||||||
|
return iconv('UCS-4LE', 'UTF-8', pack('V', $character));
|
||||||
|
}
|
||||||
|
|
||||||
|
return mb_convert_encoding('&#' . (int) $character . ';', 'UTF-8', 'HTML-ENTITIES');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TRIMNONPRINTABLE.
|
||||||
|
*
|
||||||
|
* @param mixed $stringValue Value to check
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public static function TRIMNONPRINTABLE($stringValue = '')
|
||||||
|
{
|
||||||
|
$stringValue = Functions::flattenSingleValue($stringValue);
|
||||||
|
|
||||||
|
if (is_bool($stringValue)) {
|
||||||
|
return ($stringValue) ? Calculation::getTRUE() : Calculation::getFALSE();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (self::$invalidChars == null) {
|
||||||
|
self::$invalidChars = range(chr(0), chr(31));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (is_string($stringValue) || is_numeric($stringValue)) {
|
||||||
|
return str_replace(self::$invalidChars, '', trim($stringValue, "\x00..\x1F"));
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TRIMSPACES.
|
||||||
|
*
|
||||||
|
* @param mixed $stringValue Value to check
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public static function TRIMSPACES($stringValue = '')
|
||||||
|
{
|
||||||
|
$stringValue = Functions::flattenSingleValue($stringValue);
|
||||||
|
if (is_bool($stringValue)) {
|
||||||
|
return ($stringValue) ? Calculation::getTRUE() : Calculation::getFALSE();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (is_string($stringValue) || is_numeric($stringValue)) {
|
||||||
|
return trim(preg_replace('/ +/', ' ', trim($stringValue, ' ')), ' ');
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ASCIICODE.
|
||||||
|
*
|
||||||
|
* @param string $characters Value
|
||||||
|
*
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public static function ASCIICODE($characters)
|
||||||
|
{
|
||||||
|
if (($characters === null) || ($characters === '')) {
|
||||||
|
return Functions::VALUE();
|
||||||
|
}
|
||||||
|
$characters = Functions::flattenSingleValue($characters);
|
||||||
|
if (is_bool($characters)) {
|
||||||
|
if (Functions::getCompatibilityMode() == Functions::COMPATIBILITY_OPENOFFICE) {
|
||||||
|
$characters = (int) $characters;
|
||||||
|
} else {
|
||||||
|
$characters = ($characters) ? Calculation::getTRUE() : Calculation::getFALSE();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$character = $characters;
|
||||||
|
if (mb_strlen($characters, 'UTF-8') > 1) {
|
||||||
|
$character = mb_substr($characters, 0, 1, 'UTF-8');
|
||||||
|
}
|
||||||
|
|
||||||
|
return self::unicodeToOrd($character);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CONCATENATE.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public static function CONCATENATE(...$args)
|
||||||
|
{
|
||||||
|
$returnValue = '';
|
||||||
|
|
||||||
|
// Loop through arguments
|
||||||
|
$aArgs = Functions::flattenArray($args);
|
||||||
|
foreach ($aArgs as $arg) {
|
||||||
|
if (is_bool($arg)) {
|
||||||
|
if (Functions::getCompatibilityMode() == Functions::COMPATIBILITY_OPENOFFICE) {
|
||||||
|
$arg = (int) $arg;
|
||||||
|
} else {
|
||||||
|
$arg = ($arg) ? Calculation::getTRUE() : Calculation::getFALSE();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$returnValue .= $arg;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $returnValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DOLLAR.
|
||||||
|
*
|
||||||
|
* This function converts a number to text using currency format, with the decimals rounded to the specified place.
|
||||||
|
* The format used is $#,##0.00_);($#,##0.00)..
|
||||||
|
*
|
||||||
|
* @param float $value The value to format
|
||||||
|
* @param int $decimals The number of digits to display to the right of the decimal point.
|
||||||
|
* If decimals is negative, number is rounded to the left of the decimal point.
|
||||||
|
* If you omit decimals, it is assumed to be 2
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public static function DOLLAR($value = 0, $decimals = 2)
|
||||||
|
{
|
||||||
|
$value = Functions::flattenSingleValue($value);
|
||||||
|
$decimals = $decimals === null ? 0 : Functions::flattenSingleValue($decimals);
|
||||||
|
|
||||||
|
// Validate parameters
|
||||||
|
if (!is_numeric($value) || !is_numeric($decimals)) {
|
||||||
|
return Functions::NAN();
|
||||||
|
}
|
||||||
|
$decimals = floor($decimals);
|
||||||
|
|
||||||
|
$mask = '$#,##0';
|
||||||
|
if ($decimals > 0) {
|
||||||
|
$mask .= '.' . str_repeat('0', $decimals);
|
||||||
|
} else {
|
||||||
|
$round = pow(10, abs($decimals));
|
||||||
|
if ($value < 0) {
|
||||||
|
$round = 0 - $round;
|
||||||
|
}
|
||||||
|
$value = MathTrig::MROUND($value, $round);
|
||||||
|
}
|
||||||
|
|
||||||
|
return NumberFormat::toFormattedString($value, $mask);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* SEARCHSENSITIVE.
|
||||||
|
*
|
||||||
|
* @param string $needle The string to look for
|
||||||
|
* @param string $haystack The string in which to look
|
||||||
|
* @param int $offset Offset within $haystack
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public static function SEARCHSENSITIVE($needle, $haystack, $offset = 1)
|
||||||
|
{
|
||||||
|
$needle = Functions::flattenSingleValue($needle);
|
||||||
|
$haystack = Functions::flattenSingleValue($haystack);
|
||||||
|
$offset = Functions::flattenSingleValue($offset);
|
||||||
|
|
||||||
|
if (!is_bool($needle)) {
|
||||||
|
if (is_bool($haystack)) {
|
||||||
|
$haystack = ($haystack) ? Calculation::getTRUE() : Calculation::getFALSE();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (($offset > 0) && (StringHelper::countCharacters($haystack) > $offset)) {
|
||||||
|
if (StringHelper::countCharacters($needle) == 0) {
|
||||||
|
return $offset;
|
||||||
|
}
|
||||||
|
|
||||||
|
$pos = mb_strpos($haystack, $needle, --$offset, 'UTF-8');
|
||||||
|
if ($pos !== false) {
|
||||||
|
return ++$pos;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return Functions::VALUE();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* SEARCHINSENSITIVE.
|
||||||
|
*
|
||||||
|
* @param string $needle The string to look for
|
||||||
|
* @param string $haystack The string in which to look
|
||||||
|
* @param int $offset Offset within $haystack
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public static function SEARCHINSENSITIVE($needle, $haystack, $offset = 1)
|
||||||
|
{
|
||||||
|
$needle = Functions::flattenSingleValue($needle);
|
||||||
|
$haystack = Functions::flattenSingleValue($haystack);
|
||||||
|
$offset = Functions::flattenSingleValue($offset);
|
||||||
|
|
||||||
|
if (!is_bool($needle)) {
|
||||||
|
if (is_bool($haystack)) {
|
||||||
|
$haystack = ($haystack) ? Calculation::getTRUE() : Calculation::getFALSE();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (($offset > 0) && (StringHelper::countCharacters($haystack) > $offset)) {
|
||||||
|
if (StringHelper::countCharacters($needle) == 0) {
|
||||||
|
return $offset;
|
||||||
|
}
|
||||||
|
|
||||||
|
$pos = mb_stripos($haystack, $needle, --$offset, 'UTF-8');
|
||||||
|
if ($pos !== false) {
|
||||||
|
return ++$pos;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return Functions::VALUE();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* FIXEDFORMAT.
|
||||||
|
*
|
||||||
|
* @param mixed $value Value to check
|
||||||
|
* @param int $decimals
|
||||||
|
* @param bool $no_commas
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public static function FIXEDFORMAT($value, $decimals = 2, $no_commas = false)
|
||||||
|
{
|
||||||
|
$value = Functions::flattenSingleValue($value);
|
||||||
|
$decimals = Functions::flattenSingleValue($decimals);
|
||||||
|
$no_commas = Functions::flattenSingleValue($no_commas);
|
||||||
|
|
||||||
|
// Validate parameters
|
||||||
|
if (!is_numeric($value) || !is_numeric($decimals)) {
|
||||||
|
return Functions::NAN();
|
||||||
|
}
|
||||||
|
$decimals = floor($decimals);
|
||||||
|
|
||||||
|
$valueResult = round($value, $decimals);
|
||||||
|
if ($decimals < 0) {
|
||||||
|
$decimals = 0;
|
||||||
|
}
|
||||||
|
if (!$no_commas) {
|
||||||
|
$valueResult = number_format($valueResult, $decimals);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (string) $valueResult;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* LEFT.
|
||||||
|
*
|
||||||
|
* @param string $value Value
|
||||||
|
* @param int $chars Number of characters
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public static function LEFT($value = '', $chars = 1)
|
||||||
|
{
|
||||||
|
$value = Functions::flattenSingleValue($value);
|
||||||
|
$chars = Functions::flattenSingleValue($chars);
|
||||||
|
|
||||||
|
if ($chars < 0) {
|
||||||
|
return Functions::VALUE();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (is_bool($value)) {
|
||||||
|
$value = ($value) ? Calculation::getTRUE() : Calculation::getFALSE();
|
||||||
|
}
|
||||||
|
|
||||||
|
return mb_substr($value, 0, $chars, 'UTF-8');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MID.
|
||||||
|
*
|
||||||
|
* @param string $value Value
|
||||||
|
* @param int $start Start character
|
||||||
|
* @param int $chars Number of characters
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public static function MID($value = '', $start = 1, $chars = null)
|
||||||
|
{
|
||||||
|
$value = Functions::flattenSingleValue($value);
|
||||||
|
$start = Functions::flattenSingleValue($start);
|
||||||
|
$chars = Functions::flattenSingleValue($chars);
|
||||||
|
|
||||||
|
if (($start < 1) || ($chars < 0)) {
|
||||||
|
return Functions::VALUE();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (is_bool($value)) {
|
||||||
|
$value = ($value) ? Calculation::getTRUE() : Calculation::getFALSE();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (empty($chars)) {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
return mb_substr($value, --$start, $chars, 'UTF-8');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* RIGHT.
|
||||||
|
*
|
||||||
|
* @param string $value Value
|
||||||
|
* @param int $chars Number of characters
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public static function RIGHT($value = '', $chars = 1)
|
||||||
|
{
|
||||||
|
$value = Functions::flattenSingleValue($value);
|
||||||
|
$chars = Functions::flattenSingleValue($chars);
|
||||||
|
|
||||||
|
if ($chars < 0) {
|
||||||
|
return Functions::VALUE();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (is_bool($value)) {
|
||||||
|
$value = ($value) ? Calculation::getTRUE() : Calculation::getFALSE();
|
||||||
|
}
|
||||||
|
|
||||||
|
return mb_substr($value, mb_strlen($value, 'UTF-8') - $chars, $chars, 'UTF-8');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* STRINGLENGTH.
|
||||||
|
*
|
||||||
|
* @param string $value Value
|
||||||
|
*
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public static function STRINGLENGTH($value = '')
|
||||||
|
{
|
||||||
|
$value = Functions::flattenSingleValue($value);
|
||||||
|
|
||||||
|
if (is_bool($value)) {
|
||||||
|
$value = ($value) ? Calculation::getTRUE() : Calculation::getFALSE();
|
||||||
|
}
|
||||||
|
|
||||||
|
return mb_strlen($value, 'UTF-8');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* LOWERCASE.
|
||||||
|
*
|
||||||
|
* Converts a string value to upper case.
|
||||||
|
*
|
||||||
|
* @param string $mixedCaseString
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public static function LOWERCASE($mixedCaseString)
|
||||||
|
{
|
||||||
|
$mixedCaseString = Functions::flattenSingleValue($mixedCaseString);
|
||||||
|
|
||||||
|
if (is_bool($mixedCaseString)) {
|
||||||
|
$mixedCaseString = ($mixedCaseString) ? Calculation::getTRUE() : Calculation::getFALSE();
|
||||||
|
}
|
||||||
|
|
||||||
|
return StringHelper::strToLower($mixedCaseString);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* UPPERCASE.
|
||||||
|
*
|
||||||
|
* Converts a string value to upper case.
|
||||||
|
*
|
||||||
|
* @param string $mixedCaseString
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public static function UPPERCASE($mixedCaseString)
|
||||||
|
{
|
||||||
|
$mixedCaseString = Functions::flattenSingleValue($mixedCaseString);
|
||||||
|
|
||||||
|
if (is_bool($mixedCaseString)) {
|
||||||
|
$mixedCaseString = ($mixedCaseString) ? Calculation::getTRUE() : Calculation::getFALSE();
|
||||||
|
}
|
||||||
|
|
||||||
|
return StringHelper::strToUpper($mixedCaseString);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PROPERCASE.
|
||||||
|
*
|
||||||
|
* Converts a string value to upper case.
|
||||||
|
*
|
||||||
|
* @param string $mixedCaseString
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public static function PROPERCASE($mixedCaseString)
|
||||||
|
{
|
||||||
|
$mixedCaseString = Functions::flattenSingleValue($mixedCaseString);
|
||||||
|
|
||||||
|
if (is_bool($mixedCaseString)) {
|
||||||
|
$mixedCaseString = ($mixedCaseString) ? Calculation::getTRUE() : Calculation::getFALSE();
|
||||||
|
}
|
||||||
|
|
||||||
|
return StringHelper::strToTitle($mixedCaseString);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* REPLACE.
|
||||||
|
*
|
||||||
|
* @param string $oldText String to modify
|
||||||
|
* @param int $start Start character
|
||||||
|
* @param int $chars Number of characters
|
||||||
|
* @param string $newText String to replace in defined position
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public static function REPLACE($oldText, $start, $chars, $newText)
|
||||||
|
{
|
||||||
|
$oldText = Functions::flattenSingleValue($oldText);
|
||||||
|
$start = Functions::flattenSingleValue($start);
|
||||||
|
$chars = Functions::flattenSingleValue($chars);
|
||||||
|
$newText = Functions::flattenSingleValue($newText);
|
||||||
|
|
||||||
|
$left = self::LEFT($oldText, $start - 1);
|
||||||
|
$right = self::RIGHT($oldText, self::STRINGLENGTH($oldText) - ($start + $chars) + 1);
|
||||||
|
|
||||||
|
return $left . $newText . $right;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* SUBSTITUTE.
|
||||||
|
*
|
||||||
|
* @param string $text Value
|
||||||
|
* @param string $fromText From Value
|
||||||
|
* @param string $toText To Value
|
||||||
|
* @param int $instance Instance Number
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public static function SUBSTITUTE($text = '', $fromText = '', $toText = '', $instance = 0)
|
||||||
|
{
|
||||||
|
$text = Functions::flattenSingleValue($text);
|
||||||
|
$fromText = Functions::flattenSingleValue($fromText);
|
||||||
|
$toText = Functions::flattenSingleValue($toText);
|
||||||
|
$instance = floor(Functions::flattenSingleValue($instance));
|
||||||
|
|
||||||
|
if ($instance == 0) {
|
||||||
|
return str_replace($fromText, $toText, $text);
|
||||||
|
}
|
||||||
|
|
||||||
|
$pos = -1;
|
||||||
|
while ($instance > 0) {
|
||||||
|
$pos = mb_strpos($text, $fromText, $pos + 1, 'UTF-8');
|
||||||
|
if ($pos === false) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
--$instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($pos !== false) {
|
||||||
|
return self::REPLACE($text, ++$pos, mb_strlen($fromText, 'UTF-8'), $toText);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $text;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* RETURNSTRING.
|
||||||
|
*
|
||||||
|
* @param mixed $testValue Value to check
|
||||||
|
*
|
||||||
|
* @return null|string
|
||||||
|
*/
|
||||||
|
public static function RETURNSTRING($testValue = '')
|
||||||
|
{
|
||||||
|
$testValue = Functions::flattenSingleValue($testValue);
|
||||||
|
|
||||||
|
if (is_string($testValue)) {
|
||||||
|
return $testValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TEXTFORMAT.
|
||||||
|
*
|
||||||
|
* @param mixed $value Value to check
|
||||||
|
* @param string $format Format mask to use
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public static function TEXTFORMAT($value, $format)
|
||||||
|
{
|
||||||
|
$value = Functions::flattenSingleValue($value);
|
||||||
|
$format = Functions::flattenSingleValue($format);
|
||||||
|
|
||||||
|
if ((is_string($value)) && (!is_numeric($value)) && Date::isDateTimeFormatCode($format)) {
|
||||||
|
$value = DateTime::DATEVALUE($value);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (string) NumberFormat::toFormattedString($value, $format);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* VALUE.
|
||||||
|
*
|
||||||
|
* @param mixed $value Value to check
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public static function VALUE($value = '')
|
||||||
|
{
|
||||||
|
$value = Functions::flattenSingleValue($value);
|
||||||
|
|
||||||
|
if (!is_numeric($value)) {
|
||||||
|
$numberValue = str_replace(
|
||||||
|
StringHelper::getThousandsSeparator(),
|
||||||
|
'',
|
||||||
|
trim($value, " \t\n\r\0\x0B" . StringHelper::getCurrencyCode())
|
||||||
|
);
|
||||||
|
if (is_numeric($numberValue)) {
|
||||||
|
return (float) $numberValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$dateSetting = Functions::getReturnDateType();
|
||||||
|
Functions::setReturnDateType(Functions::RETURNDATE_EXCEL);
|
||||||
|
|
||||||
|
if (strpos($value, ':') !== false) {
|
||||||
|
$timeValue = DateTime::TIMEVALUE($value);
|
||||||
|
if ($timeValue !== Functions::VALUE()) {
|
||||||
|
Functions::setReturnDateType($dateSetting);
|
||||||
|
|
||||||
|
return $timeValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$dateValue = DateTime::DATEVALUE($value);
|
||||||
|
if ($dateValue !== Functions::VALUE()) {
|
||||||
|
Functions::setReturnDateType($dateSetting);
|
||||||
|
|
||||||
|
return $dateValue;
|
||||||
|
}
|
||||||
|
Functions::setReturnDateType($dateSetting);
|
||||||
|
|
||||||
|
return Functions::VALUE();
|
||||||
|
}
|
||||||
|
|
||||||
|
return (float) $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* NUMBERVALUE.
|
||||||
|
*
|
||||||
|
* @param mixed $value Value to check
|
||||||
|
* @param string $decimalSeparator decimal separator, defaults to locale defined value
|
||||||
|
* @param string $groupSeparator group/thosands separator, defaults to locale defined value
|
||||||
|
*
|
||||||
|
* @return float|string
|
||||||
|
*/
|
||||||
|
public static function NUMBERVALUE($value = '', $decimalSeparator = null, $groupSeparator = null)
|
||||||
|
{
|
||||||
|
$value = Functions::flattenSingleValue($value);
|
||||||
|
$decimalSeparator = Functions::flattenSingleValue($decimalSeparator);
|
||||||
|
$groupSeparator = Functions::flattenSingleValue($groupSeparator);
|
||||||
|
|
||||||
|
if (!is_numeric($value)) {
|
||||||
|
$decimalSeparator = empty($decimalSeparator) ? StringHelper::getDecimalSeparator() : $decimalSeparator;
|
||||||
|
$groupSeparator = empty($groupSeparator) ? StringHelper::getThousandsSeparator() : $groupSeparator;
|
||||||
|
|
||||||
|
$decimalPositions = preg_match_all('/' . preg_quote($decimalSeparator) . '/', $value, $matches, PREG_OFFSET_CAPTURE);
|
||||||
|
if ($decimalPositions > 1) {
|
||||||
|
return Functions::VALUE();
|
||||||
|
}
|
||||||
|
$decimalOffset = array_pop($matches[0])[1];
|
||||||
|
if (strpos($value, $groupSeparator, $decimalOffset) !== false) {
|
||||||
|
return Functions::VALUE();
|
||||||
|
}
|
||||||
|
|
||||||
|
$value = str_replace([$groupSeparator, $decimalSeparator], ['', '.'], $value);
|
||||||
|
|
||||||
|
// Handle the special case of trailing % signs
|
||||||
|
$percentageString = rtrim($value, '%');
|
||||||
|
if (!is_numeric($percentageString)) {
|
||||||
|
return Functions::VALUE();
|
||||||
|
}
|
||||||
|
|
||||||
|
$percentageAdjustment = strlen($value) - strlen($percentageString);
|
||||||
|
if ($percentageAdjustment) {
|
||||||
|
$value = (float) $percentageString;
|
||||||
|
$value /= pow(10, $percentageAdjustment * 2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return (float) $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Compares two text strings and returns TRUE if they are exactly the same, FALSE otherwise.
|
||||||
|
* EXACT is case-sensitive but ignores formatting differences.
|
||||||
|
* Use EXACT to test text being entered into a document.
|
||||||
|
*
|
||||||
|
* @param $value1
|
||||||
|
* @param $value2
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public static function EXACT($value1, $value2)
|
||||||
|
{
|
||||||
|
$value1 = Functions::flattenSingleValue($value1);
|
||||||
|
$value2 = Functions::flattenSingleValue($value2);
|
||||||
|
|
||||||
|
return (string) $value2 === (string) $value1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TEXTJOIN.
|
||||||
|
*
|
||||||
|
* @param mixed $delimiter
|
||||||
|
* @param mixed $ignoreEmpty
|
||||||
|
* @param mixed $args
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public static function TEXTJOIN($delimiter, $ignoreEmpty, ...$args)
|
||||||
|
{
|
||||||
|
// Loop through arguments
|
||||||
|
$aArgs = Functions::flattenArray($args);
|
||||||
|
foreach ($aArgs as $key => &$arg) {
|
||||||
|
if ($ignoreEmpty && trim($arg) == '') {
|
||||||
|
unset($aArgs[$key]);
|
||||||
|
} elseif (is_bool($arg)) {
|
||||||
|
if (Functions::getCompatibilityMode() == Functions::COMPATIBILITY_OPENOFFICE) {
|
||||||
|
$arg = (int) $arg;
|
||||||
|
} else {
|
||||||
|
$arg = ($arg) ? Calculation::getTRUE() : Calculation::getFALSE();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return implode($delimiter, $aArgs);
|
||||||
|
}
|
||||||
|
}
|
||||||
149
PhpOffice/PhpSpreadsheet/Calculation/Token/Stack.php
Normal file
149
PhpOffice/PhpSpreadsheet/Calculation/Token/Stack.php
Normal file
|
|
@ -0,0 +1,149 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Calculation\Token;
|
||||||
|
|
||||||
|
use PhpOffice\PhpSpreadsheet\Calculation\Calculation;
|
||||||
|
|
||||||
|
class Stack
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The parser stack for formulae.
|
||||||
|
*
|
||||||
|
* @var mixed[]
|
||||||
|
*/
|
||||||
|
private $stack = [];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Count of entries in the parser stack.
|
||||||
|
*
|
||||||
|
* @var int
|
||||||
|
*/
|
||||||
|
private $count = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the number of entries on the stack.
|
||||||
|
*
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public function count()
|
||||||
|
{
|
||||||
|
return $this->count;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Push a new entry onto the stack.
|
||||||
|
*
|
||||||
|
* @param mixed $type
|
||||||
|
* @param mixed $value
|
||||||
|
* @param mixed $reference
|
||||||
|
* @param null|string $storeKey will store the result under this alias
|
||||||
|
* @param null|string $onlyIf will only run computation if the matching
|
||||||
|
* store key is true
|
||||||
|
* @param null|string $onlyIfNot will only run computation if the matching
|
||||||
|
* store key is false
|
||||||
|
*/
|
||||||
|
public function push(
|
||||||
|
$type,
|
||||||
|
$value,
|
||||||
|
$reference = null,
|
||||||
|
$storeKey = null,
|
||||||
|
$onlyIf = null,
|
||||||
|
$onlyIfNot = null
|
||||||
|
) {
|
||||||
|
$stackItem = $this->getStackItem($type, $value, $reference, $storeKey, $onlyIf, $onlyIfNot);
|
||||||
|
|
||||||
|
$this->stack[$this->count++] = $stackItem;
|
||||||
|
|
||||||
|
if ($type == 'Function') {
|
||||||
|
$localeFunction = Calculation::localeFunc($value);
|
||||||
|
if ($localeFunction != $value) {
|
||||||
|
$this->stack[($this->count - 1)]['localeValue'] = $localeFunction;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getStackItem(
|
||||||
|
$type,
|
||||||
|
$value,
|
||||||
|
$reference = null,
|
||||||
|
$storeKey = null,
|
||||||
|
$onlyIf = null,
|
||||||
|
$onlyIfNot = null
|
||||||
|
) {
|
||||||
|
$stackItem = [
|
||||||
|
'type' => $type,
|
||||||
|
'value' => $value,
|
||||||
|
'reference' => $reference,
|
||||||
|
];
|
||||||
|
|
||||||
|
if (isset($storeKey)) {
|
||||||
|
$stackItem['storeKey'] = $storeKey;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($onlyIf)) {
|
||||||
|
$stackItem['onlyIf'] = $onlyIf;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($onlyIfNot)) {
|
||||||
|
$stackItem['onlyIfNot'] = $onlyIfNot;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $stackItem;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Pop the last entry from the stack.
|
||||||
|
*
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function pop()
|
||||||
|
{
|
||||||
|
if ($this->count > 0) {
|
||||||
|
return $this->stack[--$this->count];
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return an entry from the stack without removing it.
|
||||||
|
*
|
||||||
|
* @param int $n number indicating how far back in the stack we want to look
|
||||||
|
*
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function last($n = 1)
|
||||||
|
{
|
||||||
|
if ($this->count - $n < 0) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->stack[$this->count - $n];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Clear the stack.
|
||||||
|
*/
|
||||||
|
public function clear()
|
||||||
|
{
|
||||||
|
$this->stack = [];
|
||||||
|
$this->count = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function __toString()
|
||||||
|
{
|
||||||
|
$str = 'Stack: ';
|
||||||
|
foreach ($this->stack as $index => $item) {
|
||||||
|
if ($index > $this->count - 1) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
$value = $item['value'] ?? 'no value';
|
||||||
|
while (is_array($value)) {
|
||||||
|
$value = array_pop($value);
|
||||||
|
}
|
||||||
|
$str .= $value . ' |> ';
|
||||||
|
}
|
||||||
|
|
||||||
|
return $str;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -3,6 +3,8 @@ ACCRINT
|
||||||
ACCRINTM
|
ACCRINTM
|
||||||
ACOS
|
ACOS
|
||||||
ACOSH
|
ACOSH
|
||||||
|
ACOT
|
||||||
|
ACOTH
|
||||||
ADDRESS
|
ADDRESS
|
||||||
AMORDEGRC
|
AMORDEGRC
|
||||||
AMORLINC
|
AMORLINC
|
||||||
|
|
@ -30,6 +32,11 @@ BIN2DEC
|
||||||
BIN2HEX
|
BIN2HEX
|
||||||
BIN2OCT
|
BIN2OCT
|
||||||
BINOMDIST
|
BINOMDIST
|
||||||
|
BITAND
|
||||||
|
BITLSHIFT
|
||||||
|
BITOR
|
||||||
|
BITRSHIFT
|
||||||
|
BITXOR
|
||||||
CEILING
|
CEILING
|
||||||
CELL
|
CELL
|
||||||
CHAR
|
CHAR
|
||||||
|
|
@ -43,12 +50,15 @@ COLUMN
|
||||||
COLUMNS
|
COLUMNS
|
||||||
COMBIN
|
COMBIN
|
||||||
COMPLEX
|
COMPLEX
|
||||||
|
CONCAT
|
||||||
CONCATENATE
|
CONCATENATE
|
||||||
CONFIDENCE
|
CONFIDENCE
|
||||||
CONVERT
|
CONVERT
|
||||||
CORREL
|
CORREL
|
||||||
COS
|
COS
|
||||||
COSH
|
COSH
|
||||||
|
COT
|
||||||
|
COTH
|
||||||
COUNT
|
COUNT
|
||||||
COUNTA
|
COUNTA
|
||||||
COUNTBLANK
|
COUNTBLANK
|
||||||
|
|
@ -62,6 +72,8 @@ COUPNUM
|
||||||
COUPPCD
|
COUPPCD
|
||||||
COVAR
|
COVAR
|
||||||
CRITBINOM
|
CRITBINOM
|
||||||
|
CSC
|
||||||
|
CSCH
|
||||||
CUBEKPIMEMBER
|
CUBEKPIMEMBER
|
||||||
CUBEMEMBER
|
CUBEMEMBER
|
||||||
CUBEMEMBERPROPERTY
|
CUBEMEMBERPROPERTY
|
||||||
|
|
@ -76,6 +88,7 @@ DATEDIF
|
||||||
DATEVALUE
|
DATEVALUE
|
||||||
DAVERAGE
|
DAVERAGE
|
||||||
DAY
|
DAY
|
||||||
|
DAYS
|
||||||
DAYS360
|
DAYS360
|
||||||
DB
|
DB
|
||||||
DCOUNT
|
DCOUNT
|
||||||
|
|
@ -105,7 +118,9 @@ EDATE
|
||||||
EFFECT
|
EFFECT
|
||||||
EOMONTH
|
EOMONTH
|
||||||
ERF
|
ERF
|
||||||
|
ERF.PRECISE
|
||||||
ERFC
|
ERFC
|
||||||
|
ERFC.PRECISE
|
||||||
ERROR.TYPE
|
ERROR.TYPE
|
||||||
EVEN
|
EVEN
|
||||||
EXACT
|
EXACT
|
||||||
|
|
@ -149,6 +164,10 @@ IMAGINARY
|
||||||
IMARGUMENT
|
IMARGUMENT
|
||||||
IMCONJUGATE
|
IMCONJUGATE
|
||||||
IMCOS
|
IMCOS
|
||||||
|
IMCOSH
|
||||||
|
IMCOT
|
||||||
|
IMCSC
|
||||||
|
IMCSCH
|
||||||
IMEXP
|
IMEXP
|
||||||
IMLN
|
IMLN
|
||||||
IMLOG10
|
IMLOG10
|
||||||
|
|
@ -156,10 +175,14 @@ IMLOG2
|
||||||
IMPOWER
|
IMPOWER
|
||||||
IMPRODUCT
|
IMPRODUCT
|
||||||
IMREAL
|
IMREAL
|
||||||
|
IMSEC
|
||||||
|
IMSECH
|
||||||
IMSIN
|
IMSIN
|
||||||
|
IMSINH
|
||||||
IMSQRT
|
IMSQRT
|
||||||
IMSUB
|
IMSUB
|
||||||
IMSUM
|
IMSUM
|
||||||
|
IMTAN
|
||||||
INDEX
|
INDEX
|
||||||
INDIRECT
|
INDIRECT
|
||||||
INFO
|
INFO
|
||||||
|
|
@ -177,6 +200,7 @@ ISNA
|
||||||
ISNONTEXT
|
ISNONTEXT
|
||||||
ISNUMBER
|
ISNUMBER
|
||||||
ISODD
|
ISODD
|
||||||
|
ISOWEEKNUM
|
||||||
ISPMT
|
ISPMT
|
||||||
ISREF
|
ISREF
|
||||||
ISTEXT
|
ISTEXT
|
||||||
|
|
@ -200,6 +224,7 @@ LOWER
|
||||||
MATCH
|
MATCH
|
||||||
MAX
|
MAX
|
||||||
MAXA
|
MAXA
|
||||||
|
MAXIFS
|
||||||
MDETERM
|
MDETERM
|
||||||
MDURATION
|
MDURATION
|
||||||
MEDIAN
|
MEDIAN
|
||||||
|
|
@ -207,6 +232,7 @@ MID
|
||||||
MIDB
|
MIDB
|
||||||
MIN
|
MIN
|
||||||
MINA
|
MINA
|
||||||
|
MINIFS
|
||||||
MINUTE
|
MINUTE
|
||||||
MINVERSE
|
MINVERSE
|
||||||
MIRR
|
MIRR
|
||||||
|
|
@ -229,6 +255,7 @@ NOT
|
||||||
NOW
|
NOW
|
||||||
NPER
|
NPER
|
||||||
NPV
|
NPV
|
||||||
|
NUMBERVALUE
|
||||||
OCT2BIN
|
OCT2BIN
|
||||||
OCT2DEC
|
OCT2DEC
|
||||||
OCT2HEX
|
OCT2HEX
|
||||||
|
|
@ -239,6 +266,7 @@ ODDLPRICE
|
||||||
ODDLYIELD
|
ODDLYIELD
|
||||||
OFFSET
|
OFFSET
|
||||||
OR
|
OR
|
||||||
|
PDURATION
|
||||||
PEARSON
|
PEARSON
|
||||||
PERCENTILE
|
PERCENTILE
|
||||||
PERCENTRANK
|
PERCENTRANK
|
||||||
|
|
@ -275,10 +303,13 @@ ROUNDDOWN
|
||||||
ROUNDUP
|
ROUNDUP
|
||||||
ROW
|
ROW
|
||||||
ROWS
|
ROWS
|
||||||
|
RRI
|
||||||
RSQ
|
RSQ
|
||||||
RTD
|
RTD
|
||||||
SEARCH
|
SEARCH
|
||||||
SEARCHB
|
SEARCHB
|
||||||
|
SEC
|
||||||
|
SECH
|
||||||
SECOND
|
SECOND
|
||||||
SERIESSUM
|
SERIESSUM
|
||||||
SIGN
|
SIGN
|
||||||
|
|
@ -292,6 +323,8 @@ SQRT
|
||||||
SQRTPI
|
SQRTPI
|
||||||
STANDARDIZE
|
STANDARDIZE
|
||||||
STDEV
|
STDEV
|
||||||
|
STDEV.A
|
||||||
|
STDEV.P
|
||||||
STDEVA
|
STDEVA
|
||||||
STDEVP
|
STDEVP
|
||||||
STDEVPA
|
STDEVPA
|
||||||
|
|
@ -306,6 +339,7 @@ SUMSQ
|
||||||
SUMX2MY2
|
SUMX2MY2
|
||||||
SUMX2PY2
|
SUMX2PY2
|
||||||
SUMXMY2
|
SUMXMY2
|
||||||
|
SWITCH
|
||||||
SYD
|
SYD
|
||||||
T
|
T
|
||||||
TAN
|
TAN
|
||||||
|
|
@ -315,6 +349,7 @@ TBILLPRICE
|
||||||
TBILLYIELD
|
TBILLYIELD
|
||||||
TDIST
|
TDIST
|
||||||
TEXT
|
TEXT
|
||||||
|
TEXTJOIN
|
||||||
TIME
|
TIME
|
||||||
TIMEVALUE
|
TIMEVALUE
|
||||||
TINV
|
TINV
|
||||||
|
|
@ -327,6 +362,8 @@ TRUE
|
||||||
TRUNC
|
TRUNC
|
||||||
TTEST
|
TTEST
|
||||||
TYPE
|
TYPE
|
||||||
|
UNICHAR
|
||||||
|
UNIORD
|
||||||
UPPER
|
UPPER
|
||||||
USDOLLAR
|
USDOLLAR
|
||||||
VALUE
|
VALUE
|
||||||
|
|
@ -335,7 +372,6 @@ VARA
|
||||||
VARP
|
VARP
|
||||||
VARPA
|
VARPA
|
||||||
VDB
|
VDB
|
||||||
VERSION
|
|
||||||
VLOOKUP
|
VLOOKUP
|
||||||
WEEKDAY
|
WEEKDAY
|
||||||
WEEKNUM
|
WEEKNUM
|
||||||
|
|
@ -343,6 +379,7 @@ WEIBULL
|
||||||
WORKDAY
|
WORKDAY
|
||||||
XIRR
|
XIRR
|
||||||
XNPV
|
XNPV
|
||||||
|
XOR
|
||||||
YEAR
|
YEAR
|
||||||
YEARFRAC
|
YEARFRAC
|
||||||
YIELD
|
YIELD
|
||||||
27
PhpOffice/PhpSpreadsheet/Calculation/locale/bg/config
Normal file
27
PhpOffice/PhpSpreadsheet/Calculation/locale/bg/config
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
##
|
||||||
|
## PhpSpreadsheet
|
||||||
|
##
|
||||||
|
##
|
||||||
|
##
|
||||||
|
|
||||||
|
|
||||||
|
ArgumentSeparator = ;
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## (For future use)
|
||||||
|
##
|
||||||
|
currencySymbol = лв
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## Excel Error Codes (For future use)
|
||||||
|
|
||||||
|
##
|
||||||
|
NULL = #ПРАЗНО!
|
||||||
|
DIV0 = #ДЕЛ/0!
|
||||||
|
VALUE = #СТОЙНОСТ!
|
||||||
|
REF = #РЕФ!
|
||||||
|
NAME = #ИМЕ?
|
||||||
|
NUM = #ЧИСЛО!
|
||||||
|
NA = #Н/Д
|
||||||
|
|
@ -1,438 +1,417 @@
|
||||||
##
|
##
|
||||||
## PHPExcel
|
## PhpSpreadsheet
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
##
|
||||||
##
|
## Data in this file derived from information provided by web-junior (http://www.web-junior.net/)
|
||||||
## This library is free software; you can redistribute it and/or
|
##
|
||||||
## modify it under the terms of the GNU Lesser General Public
|
##
|
||||||
## License as published by the Free Software Foundation; either
|
|
||||||
## version 2.1 of the License, or (at your option) any later version.
|
|
||||||
##
|
##
|
||||||
## This library is distributed in the hope that it will be useful,
|
## Add-in and Automation functions Функции надстроек и автоматизации
|
||||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
##
|
||||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
GETPIVOTDATA = ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ ## Возвращает данные, хранящиеся в отчете сводной таблицы.
|
||||||
## Lesser General Public License for more details.
|
|
||||||
##
|
|
||||||
## You should have received a copy of the GNU Lesser General Public
|
##
|
||||||
## License along with this library; if not, write to the Free Software
|
## Cube functions Функции Куб
|
||||||
## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
##
|
||||||
##
|
CUBEKPIMEMBER = КУБЭЛЕМЕНТКИП ## Возвращает свойство ключевого индикатора производительности «(КИП)» и отображает имя «КИП» в ячейке. «КИП» представляет собой количественную величину, такую как ежемесячная валовая прибыль или ежеквартальная текучесть кадров, используемой для контроля эффективности работы организации.
|
||||||
## @category PHPExcel
|
CUBEMEMBER = КУБЭЛЕМЕНТ ## Возвращает элемент или кортеж из куба. Используется для проверки существования элемента или кортежа в кубе.
|
||||||
## @package PHPExcel_Calculation
|
CUBEMEMBERPROPERTY = КУБСВОЙСТВОЭЛЕМЕНТА ## Возвращает значение свойства элемента из куба. Используется для проверки существования имени элемента в кубе и возвращает указанное свойство для этого элемента.
|
||||||
## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
CUBERANKEDMEMBER = КУБПОРЭЛЕМЕНТ ## Возвращает n-ый или ранжированный элемент в множество. Используется для возвращения одного или нескольких элементов в множество, например, лучшего продавца или 10 лучших студентов.
|
||||||
## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
CUBESET = КУБМНОЖ ## Определяет вычислительное множество элементов или кортежей, отправляя на сервер выражение, которое создает множество, а затем возвращает его в Microsoft Office Excel.
|
||||||
## @version ##VERSION##, ##DATE##
|
CUBESETCOUNT = КУБЧИСЛОЭЛМНОЖ ## Возвращает число элементов множества.
|
||||||
##
|
CUBEVALUE = КУБЗНАЧЕНИЕ ## Возвращает обобщенное значение из куба.
|
||||||
## Data in this file derived from information provided by web-junior (http://www.web-junior.net/)
|
|
||||||
##
|
|
||||||
##
|
##
|
||||||
|
## Database functions Функции для работы с базами данных
|
||||||
|
##
|
||||||
##
|
DAVERAGE = ДСРЗНАЧ ## Возвращает среднее значение выбранных записей базы данных.
|
||||||
## Add-in and Automation functions Функции надстроек и автоматизации
|
DCOUNT = БСЧЁТ ## Подсчитывает количество числовых ячеек в базе данных.
|
||||||
##
|
DCOUNTA = БСЧЁТА ## Подсчитывает количество непустых ячеек в базе данных.
|
||||||
GETPIVOTDATA = ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ ## Возвращает данные, хранящиеся в отчете сводной таблицы.
|
DGET = БИЗВЛЕЧЬ ## Извлекает из базы данных одну запись, удовлетворяющую заданному условию.
|
||||||
|
DMAX = ДМАКС ## Возвращает максимальное значение среди выделенных записей базы данных.
|
||||||
|
DMIN = ДМИН ## Возвращает минимальное значение среди выделенных записей базы данных.
|
||||||
##
|
DPRODUCT = БДПРОИЗВЕД ## Перемножает значения определенного поля в записях базы данных, удовлетворяющих условию.
|
||||||
## Cube functions Функции Куб
|
DSTDEV = ДСТАНДОТКЛ ## Оценивает стандартное отклонение по выборке для выделенных записей базы данных.
|
||||||
##
|
DSTDEVP = ДСТАНДОТКЛП ## Вычисляет стандартное отклонение по генеральной совокупности для выделенных записей базы данных
|
||||||
CUBEKPIMEMBER = КУБЭЛЕМЕНТКИП ## Возвращает свойство ключевого индикатора производительности «(КИП)» и отображает имя «КИП» в ячейке. «КИП» представляет собой количественную величину, такую как ежемесячная валовая прибыль или ежеквартальная текучесть кадров, используемой для контроля эффективности работы организации.
|
DSUM = БДСУММ ## Суммирует числа в поле для записей базы данных, удовлетворяющих условию.
|
||||||
CUBEMEMBER = КУБЭЛЕМЕНТ ## Возвращает элемент или кортеж из куба. Используется для проверки существования элемента или кортежа в кубе.
|
DVAR = БДДИСП ## Оценивает дисперсию по выборке из выделенных записей базы данных
|
||||||
CUBEMEMBERPROPERTY = КУБСВОЙСТВОЭЛЕМЕНТА ## Возвращает значение свойства элемента из куба. Используется для проверки существования имени элемента в кубе и возвращает указанное свойство для этого элемента.
|
DVARP = БДДИСПП ## Вычисляет дисперсию по генеральной совокупности для выделенных записей базы данных
|
||||||
CUBERANKEDMEMBER = КУБПОРЭЛЕМЕНТ ## Возвращает n-ый или ранжированный элемент в множество. Используется для возвращения одного или нескольких элементов в множество, например, лучшего продавца или 10 лучших студентов.
|
|
||||||
CUBESET = КУБМНОЖ ## Определяет вычислительное множество элементов или кортежей, отправляя на сервер выражение, которое создает множество, а затем возвращает его в Microsoft Office Excel.
|
|
||||||
CUBESETCOUNT = КУБЧИСЛОЭЛМНОЖ ## Возвращает число элементов множества.
|
##
|
||||||
CUBEVALUE = КУБЗНАЧЕНИЕ ## Возвращает обобщенное значение из куба.
|
## Date and time functions Функции даты и времени
|
||||||
|
##
|
||||||
|
DATE = ДАТА ## Возвращает заданную дату в числовом формате.
|
||||||
##
|
DATEVALUE = ДАТАЗНАЧ ## Преобразует дату из текстового формата в числовой формат.
|
||||||
## Database functions Функции для работы с базами данных
|
DAY = ДЕНЬ ## Преобразует дату в числовом формате в день месяца.
|
||||||
##
|
DAYS360 = ДНЕЙ360 ## Вычисляет количество дней между двумя датами на основе 360-дневного года.
|
||||||
DAVERAGE = ДСРЗНАЧ ## Возвращает среднее значение выбранных записей базы данных.
|
EDATE = ДАТАМЕС ## Возвращает дату в числовом формате, отстоящую на заданное число месяцев вперед или назад от начальной даты.
|
||||||
DCOUNT = БСЧЁТ ## Подсчитывает количество числовых ячеек в базе данных.
|
EOMONTH = КОНМЕСЯЦА ## Возвращает дату в числовом формате для последнего дня месяца, отстоящего вперед или назад на заданное число месяцев.
|
||||||
DCOUNTA = БСЧЁТА ## Подсчитывает количество непустых ячеек в базе данных.
|
HOUR = ЧАС ## Преобразует дату в числовом формате в часы.
|
||||||
DGET = БИЗВЛЕЧЬ ## Извлекает из базы данных одну запись, удовлетворяющую заданному условию.
|
MINUTE = МИНУТЫ ## Преобразует дату в числовом формате в минуты.
|
||||||
DMAX = ДМАКС ## Возвращает максимальное значение среди выделенных записей базы данных.
|
MONTH = МЕСЯЦ ## Преобразует дату в числовом формате в месяцы.
|
||||||
DMIN = ДМИН ## Возвращает минимальное значение среди выделенных записей базы данных.
|
NETWORKDAYS = ЧИСТРАБДНИ ## Возвращает количество рабочих дней между двумя датами.
|
||||||
DPRODUCT = БДПРОИЗВЕД ## Перемножает значения определенного поля в записях базы данных, удовлетворяющих условию.
|
NOW = ТДАТА ## Возвращает текущую дату и время в числовом формате.
|
||||||
DSTDEV = ДСТАНДОТКЛ ## Оценивает стандартное отклонение по выборке для выделенных записей базы данных.
|
SECOND = СЕКУНДЫ ## Преобразует дату в числовом формате в секунды.
|
||||||
DSTDEVP = ДСТАНДОТКЛП ## Вычисляет стандартное отклонение по генеральной совокупности для выделенных записей базы данных
|
TIME = ВРЕМЯ ## Возвращает заданное время в числовом формате.
|
||||||
DSUM = БДСУММ ## Суммирует числа в поле для записей базы данных, удовлетворяющих условию.
|
TIMEVALUE = ВРЕМЗНАЧ ## Преобразует время из текстового формата в числовой формат.
|
||||||
DVAR = БДДИСП ## Оценивает дисперсию по выборке из выделенных записей базы данных
|
TODAY = СЕГОДНЯ ## Возвращает текущую дату в числовом формате.
|
||||||
DVARP = БДДИСПП ## Вычисляет дисперсию по генеральной совокупности для выделенных записей базы данных
|
WEEKDAY = ДЕНЬНЕД ## Преобразует дату в числовом формате в день недели.
|
||||||
|
WEEKNUM = НОМНЕДЕЛИ ## Преобразует числовое представление в число, которое указывает, на какую неделю года приходится указанная дата.
|
||||||
|
WORKDAY = РАБДЕНЬ ## Возвращает дату в числовом формате, отстоящую вперед или назад на заданное количество рабочих дней.
|
||||||
##
|
YEAR = ГОД ## Преобразует дату в числовом формате в год.
|
||||||
## Date and time functions Функции даты и времени
|
YEARFRAC = ДОЛЯГОДА ## Возвращает долю года, которую составляет количество дней между начальной и конечной датами.
|
||||||
##
|
|
||||||
DATE = ДАТА ## Возвращает заданную дату в числовом формате.
|
|
||||||
DATEVALUE = ДАТАЗНАЧ ## Преобразует дату из текстового формата в числовой формат.
|
##
|
||||||
DAY = ДЕНЬ ## Преобразует дату в числовом формате в день месяца.
|
## Engineering functions Инженерные функции
|
||||||
DAYS360 = ДНЕЙ360 ## Вычисляет количество дней между двумя датами на основе 360-дневного года.
|
##
|
||||||
EDATE = ДАТАМЕС ## Возвращает дату в числовом формате, отстоящую на заданное число месяцев вперед или назад от начальной даты.
|
BESSELI = БЕССЕЛЬ.I ## Возвращает модифицированную функцию Бесселя In(x).
|
||||||
EOMONTH = КОНМЕСЯЦА ## Возвращает дату в числовом формате для последнего дня месяца, отстоящего вперед или назад на заданное число месяцев.
|
BESSELJ = БЕССЕЛЬ.J ## Возвращает функцию Бесселя Jn(x).
|
||||||
HOUR = ЧАС ## Преобразует дату в числовом формате в часы.
|
BESSELK = БЕССЕЛЬ.K ## Возвращает модифицированную функцию Бесселя Kn(x).
|
||||||
MINUTE = МИНУТЫ ## Преобразует дату в числовом формате в минуты.
|
BESSELY = БЕССЕЛЬ.Y ## Возвращает функцию Бесселя Yn(x).
|
||||||
MONTH = МЕСЯЦ ## Преобразует дату в числовом формате в месяцы.
|
BIN2DEC = ДВ.В.ДЕС ## Преобразует двоичное число в десятичное.
|
||||||
NETWORKDAYS = ЧИСТРАБДНИ ## Возвращает количество рабочих дней между двумя датами.
|
BIN2HEX = ДВ.В.ШЕСТН ## Преобразует двоичное число в шестнадцатеричное.
|
||||||
NOW = ТДАТА ## Возвращает текущую дату и время в числовом формате.
|
BIN2OCT = ДВ.В.ВОСЬМ ## Преобразует двоичное число в восьмеричное.
|
||||||
SECOND = СЕКУНДЫ ## Преобразует дату в числовом формате в секунды.
|
COMPLEX = КОМПЛЕКСН ## Преобразует коэффициенты при вещественной и мнимой частях комплексного числа в комплексное число.
|
||||||
TIME = ВРЕМЯ ## Возвращает заданное время в числовом формате.
|
CONVERT = ПРЕОБР ## Преобразует число из одной системы единиц измерения в другую.
|
||||||
TIMEVALUE = ВРЕМЗНАЧ ## Преобразует время из текстового формата в числовой формат.
|
DEC2BIN = ДЕС.В.ДВ ## Преобразует десятичное число в двоичное.
|
||||||
TODAY = СЕГОДНЯ ## Возвращает текущую дату в числовом формате.
|
DEC2HEX = ДЕС.В.ШЕСТН ## Преобразует десятичное число в шестнадцатеричное.
|
||||||
WEEKDAY = ДЕНЬНЕД ## Преобразует дату в числовом формате в день недели.
|
DEC2OCT = ДЕС.В.ВОСЬМ ## Преобразует десятичное число в восьмеричное.
|
||||||
WEEKNUM = НОМНЕДЕЛИ ## Преобразует числовое представление в число, которое указывает, на какую неделю года приходится указанная дата.
|
DELTA = ДЕЛЬТА ## Проверяет равенство двух значений.
|
||||||
WORKDAY = РАБДЕНЬ ## Возвращает дату в числовом формате, отстоящую вперед или назад на заданное количество рабочих дней.
|
ERF = ФОШ ## Возвращает функцию ошибки.
|
||||||
YEAR = ГОД ## Преобразует дату в числовом формате в год.
|
ERFC = ДФОШ ## Возвращает дополнительную функцию ошибки.
|
||||||
YEARFRAC = ДОЛЯГОДА ## Возвращает долю года, которую составляет количество дней между начальной и конечной датами.
|
GESTEP = ПОРОГ ## Проверяет, не превышает ли данное число порогового значения.
|
||||||
|
HEX2BIN = ШЕСТН.В.ДВ ## Преобразует шестнадцатеричное число в двоичное.
|
||||||
|
HEX2DEC = ШЕСТН.В.ДЕС ## Преобразует шестнадцатеричное число в десятичное.
|
||||||
##
|
HEX2OCT = ШЕСТН.В.ВОСЬМ ## Преобразует шестнадцатеричное число в восьмеричное.
|
||||||
## Engineering functions Инженерные функции
|
IMABS = МНИМ.ABS ## Возвращает абсолютную величину (модуль) комплексного числа.
|
||||||
##
|
IMAGINARY = МНИМ.ЧАСТЬ ## Возвращает коэффициент при мнимой части комплексного числа.
|
||||||
BESSELI = БЕССЕЛЬ.I ## Возвращает модифицированную функцию Бесселя In(x).
|
IMARGUMENT = МНИМ.АРГУМЕНТ ## Возвращает значение аргумента комплексного числа (тета) — угол, выраженный в радианах.
|
||||||
BESSELJ = БЕССЕЛЬ.J ## Возвращает функцию Бесселя Jn(x).
|
IMCONJUGATE = МНИМ.СОПРЯЖ ## Возвращает комплексно-сопряженное комплексное число.
|
||||||
BESSELK = БЕССЕЛЬ.K ## Возвращает модифицированную функцию Бесселя Kn(x).
|
IMCOS = МНИМ.COS ## Возвращает косинус комплексного числа.
|
||||||
BESSELY = БЕССЕЛЬ.Y ## Возвращает функцию Бесселя Yn(x).
|
IMDIV = МНИМ.ДЕЛ ## Возвращает частное от деления двух комплексных чисел.
|
||||||
BIN2DEC = ДВ.В.ДЕС ## Преобразует двоичное число в десятичное.
|
IMEXP = МНИМ.EXP ## Возвращает экспоненту комплексного числа.
|
||||||
BIN2HEX = ДВ.В.ШЕСТН ## Преобразует двоичное число в шестнадцатеричное.
|
IMLN = МНИМ.LN ## Возвращает натуральный логарифм комплексного числа.
|
||||||
BIN2OCT = ДВ.В.ВОСЬМ ## Преобразует двоичное число в восьмеричное.
|
IMLOG10 = МНИМ.LOG10 ## Возвращает обычный (десятичный) логарифм комплексного числа.
|
||||||
COMPLEX = КОМПЛЕКСН ## Преобразует коэффициенты при вещественной и мнимой частях комплексного числа в комплексное число.
|
IMLOG2 = МНИМ.LOG2 ## Возвращает двоичный логарифм комплексного числа.
|
||||||
CONVERT = ПРЕОБР ## Преобразует число из одной системы единиц измерения в другую.
|
IMPOWER = МНИМ.СТЕПЕНЬ ## Возвращает комплексное число, возведенное в целую степень.
|
||||||
DEC2BIN = ДЕС.В.ДВ ## Преобразует десятичное число в двоичное.
|
IMPRODUCT = МНИМ.ПРОИЗВЕД ## Возвращает произведение от 2 до 29 комплексных чисел.
|
||||||
DEC2HEX = ДЕС.В.ШЕСТН ## Преобразует десятичное число в шестнадцатеричное.
|
IMREAL = МНИМ.ВЕЩ ## Возвращает коэффициент при вещественной части комплексного числа.
|
||||||
DEC2OCT = ДЕС.В.ВОСЬМ ## Преобразует десятичное число в восьмеричное.
|
IMSIN = МНИМ.SIN ## Возвращает синус комплексного числа.
|
||||||
DELTA = ДЕЛЬТА ## Проверяет равенство двух значений.
|
IMSQRT = МНИМ.КОРЕНЬ ## Возвращает значение квадратного корня из комплексного числа.
|
||||||
ERF = ФОШ ## Возвращает функцию ошибки.
|
IMSUB = МНИМ.РАЗН ## Возвращает разность двух комплексных чисел.
|
||||||
ERFC = ДФОШ ## Возвращает дополнительную функцию ошибки.
|
IMSUM = МНИМ.СУММ ## Возвращает сумму комплексных чисел.
|
||||||
GESTEP = ПОРОГ ## Проверяет, не превышает ли данное число порогового значения.
|
OCT2BIN = ВОСЬМ.В.ДВ ## Преобразует восьмеричное число в двоичное.
|
||||||
HEX2BIN = ШЕСТН.В.ДВ ## Преобразует шестнадцатеричное число в двоичное.
|
OCT2DEC = ВОСЬМ.В.ДЕС ## Преобразует восьмеричное число в десятичное.
|
||||||
HEX2DEC = ШЕСТН.В.ДЕС ## Преобразует шестнадцатеричное число в десятичное.
|
OCT2HEX = ВОСЬМ.В.ШЕСТН ## Преобразует восьмеричное число в шестнадцатеричное.
|
||||||
HEX2OCT = ШЕСТН.В.ВОСЬМ ## Преобразует шестнадцатеричное число в восьмеричное.
|
|
||||||
IMABS = МНИМ.ABS ## Возвращает абсолютную величину (модуль) комплексного числа.
|
|
||||||
IMAGINARY = МНИМ.ЧАСТЬ ## Возвращает коэффициент при мнимой части комплексного числа.
|
##
|
||||||
IMARGUMENT = МНИМ.АРГУМЕНТ ## Возвращает значение аргумента комплексного числа (тета) — угол, выраженный в радианах.
|
## Financial functions Финансовые функции
|
||||||
IMCONJUGATE = МНИМ.СОПРЯЖ ## Возвращает комплексно-сопряженное комплексное число.
|
##
|
||||||
IMCOS = МНИМ.COS ## Возвращает косинус комплексного числа.
|
ACCRINT = НАКОПДОХОД ## Возвращает накопленный процент по ценным бумагам с периодической выплатой процентов.
|
||||||
IMDIV = МНИМ.ДЕЛ ## Возвращает частное от деления двух комплексных чисел.
|
ACCRINTM = НАКОПДОХОДПОГАШ ## Возвращает накопленный процент по ценным бумагам, проценты по которым выплачиваются в срок погашения.
|
||||||
IMEXP = МНИМ.EXP ## Возвращает экспоненту комплексного числа.
|
AMORDEGRC = АМОРУМ ## Возвращает величину амортизации для каждого периода, используя коэффициент амортизации.
|
||||||
IMLN = МНИМ.LN ## Возвращает натуральный логарифм комплексного числа.
|
AMORLINC = АМОРУВ ## Возвращает величину амортизации для каждого периода.
|
||||||
IMLOG10 = МНИМ.LOG10 ## Возвращает обычный (десятичный) логарифм комплексного числа.
|
COUPDAYBS = ДНЕЙКУПОНДО ## Возвращает количество дней от начала действия купона до даты соглашения.
|
||||||
IMLOG2 = МНИМ.LOG2 ## Возвращает двоичный логарифм комплексного числа.
|
COUPDAYS = ДНЕЙКУПОН ## Возвращает число дней в периоде купона, содержащем дату соглашения.
|
||||||
IMPOWER = МНИМ.СТЕПЕНЬ ## Возвращает комплексное число, возведенное в целую степень.
|
COUPDAYSNC = ДНЕЙКУПОНПОСЛЕ ## Возвращает число дней от даты соглашения до срока следующего купона.
|
||||||
IMPRODUCT = МНИМ.ПРОИЗВЕД ## Возвращает произведение от 2 до 29 комплексных чисел.
|
COUPNCD = ДАТАКУПОНПОСЛЕ ## Возвращает следующую дату купона после даты соглашения.
|
||||||
IMREAL = МНИМ.ВЕЩ ## Возвращает коэффициент при вещественной части комплексного числа.
|
COUPNUM = ЧИСЛКУПОН ## Возвращает количество купонов, которые могут быть оплачены между датой соглашения и сроком вступления в силу.
|
||||||
IMSIN = МНИМ.SIN ## Возвращает синус комплексного числа.
|
COUPPCD = ДАТАКУПОНДО ## Возвращает предыдущую дату купона перед датой соглашения.
|
||||||
IMSQRT = МНИМ.КОРЕНЬ ## Возвращает значение квадратного корня из комплексного числа.
|
CUMIPMT = ОБЩПЛАТ ## Возвращает общую выплату, произведенную между двумя периодическими выплатами.
|
||||||
IMSUB = МНИМ.РАЗН ## Возвращает разность двух комплексных чисел.
|
CUMPRINC = ОБЩДОХОД ## Возвращает общую выплату по займу между двумя периодами.
|
||||||
IMSUM = МНИМ.СУММ ## Возвращает сумму комплексных чисел.
|
DB = ФУО ## Возвращает величину амортизации актива для заданного периода, рассчитанную методом фиксированного уменьшения остатка.
|
||||||
OCT2BIN = ВОСЬМ.В.ДВ ## Преобразует восьмеричное число в двоичное.
|
DDB = ДДОБ ## Возвращает величину амортизации актива за данный период, используя метод двойного уменьшения остатка или иной явно указанный метод.
|
||||||
OCT2DEC = ВОСЬМ.В.ДЕС ## Преобразует восьмеричное число в десятичное.
|
DISC = СКИДКА ## Возвращает норму скидки для ценных бумаг.
|
||||||
OCT2HEX = ВОСЬМ.В.ШЕСТН ## Преобразует восьмеричное число в шестнадцатеричное.
|
DOLLARDE = РУБЛЬ.ДЕС ## Преобразует цену в рублях, выраженную в виде дроби, в цену в рублях, выраженную десятичным числом.
|
||||||
|
DOLLARFR = РУБЛЬ.ДРОБЬ ## Преобразует цену в рублях, выраженную десятичным числом, в цену в рублях, выраженную в виде дроби.
|
||||||
|
DURATION = ДЛИТ ## Возвращает ежегодную продолжительность действия ценных бумаг с периодическими выплатами по процентам.
|
||||||
##
|
EFFECT = ЭФФЕКТ ## Возвращает действующие ежегодные процентные ставки.
|
||||||
## Financial functions Финансовые функции
|
FV = БС ## Возвращает будущую стоимость инвестиции.
|
||||||
##
|
FVSCHEDULE = БЗРАСПИС ## Возвращает будущую стоимость первоначальной основной суммы после начисления ряда сложных процентов.
|
||||||
ACCRINT = НАКОПДОХОД ## Возвращает накопленный процент по ценным бумагам с периодической выплатой процентов.
|
INTRATE = ИНОРМА ## Возвращает процентную ставку для полностью инвестированных ценных бумаг.
|
||||||
ACCRINTM = НАКОПДОХОДПОГАШ ## Возвращает накопленный процент по ценным бумагам, проценты по которым выплачиваются в срок погашения.
|
IPMT = ПРПЛТ ## Возвращает величину выплаты прибыли на вложения за данный период.
|
||||||
AMORDEGRC = АМОРУМ ## Возвращает величину амортизации для каждого периода, используя коэффициент амортизации.
|
IRR = ВСД ## Возвращает внутреннюю ставку доходности для ряда потоков денежных средств.
|
||||||
AMORLINC = АМОРУВ ## Возвращает величину амортизации для каждого периода.
|
ISPMT = ПРОЦПЛАТ ## Вычисляет выплаты за указанный период инвестиции.
|
||||||
COUPDAYBS = ДНЕЙКУПОНДО ## Возвращает количество дней от начала действия купона до даты соглашения.
|
MDURATION = МДЛИТ ## Возвращает модифицированную длительность Маколея для ценных бумаг с предполагаемой номинальной стоимостью 100 рублей.
|
||||||
COUPDAYS = ДНЕЙКУПОН ## Возвращает число дней в периоде купона, содержащем дату соглашения.
|
MIRR = МВСД ## Возвращает внутреннюю ставку доходности, при которой положительные и отрицательные денежные потоки имеют разные значения ставки.
|
||||||
COUPDAYSNC = ДНЕЙКУПОНПОСЛЕ ## Возвращает число дней от даты соглашения до срока следующего купона.
|
NOMINAL = НОМИНАЛ ## Возвращает номинальную годовую процентную ставку.
|
||||||
COUPNCD = ДАТАКУПОНПОСЛЕ ## Возвращает следующую дату купона после даты соглашения.
|
NPER = КПЕР ## Возвращает общее количество периодов выплаты для данного вклада.
|
||||||
COUPNUM = ЧИСЛКУПОН ## Возвращает количество купонов, которые могут быть оплачены между датой соглашения и сроком вступления в силу.
|
NPV = ЧПС ## Возвращает чистую приведенную стоимость инвестиции, основанной на серии периодических денежных потоков и ставке дисконтирования.
|
||||||
COUPPCD = ДАТАКУПОНДО ## Возвращает предыдущую дату купона перед датой соглашения.
|
ODDFPRICE = ЦЕНАПЕРВНЕРЕГ ## Возвращает цену за 100 рублей нарицательной стоимости ценных бумаг с нерегулярным первым периодом.
|
||||||
CUMIPMT = ОБЩПЛАТ ## Возвращает общую выплату, произведенную между двумя периодическими выплатами.
|
ODDFYIELD = ДОХОДПЕРВНЕРЕГ ## Возвращает доход по ценным бумагам с нерегулярным первым периодом.
|
||||||
CUMPRINC = ОБЩДОХОД ## Возвращает общую выплату по займу между двумя периодами.
|
ODDLPRICE = ЦЕНАПОСЛНЕРЕГ ## Возвращает цену за 100 рублей нарицательной стоимости ценных бумаг с нерегулярным последним периодом.
|
||||||
DB = ФУО ## Возвращает величину амортизации актива для заданного периода, рассчитанную методом фиксированного уменьшения остатка.
|
ODDLYIELD = ДОХОДПОСЛНЕРЕГ ## Возвращает доход по ценным бумагам с нерегулярным последним периодом.
|
||||||
DDB = ДДОБ ## Возвращает величину амортизации актива за данный период, используя метод двойного уменьшения остатка или иной явно указанный метод.
|
PMT = ПЛТ ## Возвращает величину выплаты за один период аннуитета.
|
||||||
DISC = СКИДКА ## Возвращает норму скидки для ценных бумаг.
|
PPMT = ОСПЛТ ## Возвращает величину выплат в погашение основной суммы по инвестиции за заданный период.
|
||||||
DOLLARDE = РУБЛЬ.ДЕС ## Преобразует цену в рублях, выраженную в виде дроби, в цену в рублях, выраженную десятичным числом.
|
PRICE = ЦЕНА ## Возвращает цену за 100 рублей нарицательной стоимости ценных бумаг, по которым производится периодическая выплата процентов.
|
||||||
DOLLARFR = РУБЛЬ.ДРОБЬ ## Преобразует цену в рублях, выраженную десятичным числом, в цену в рублях, выраженную в виде дроби.
|
PRICEDISC = ЦЕНАСКИДКА ## Возвращает цену за 100 рублей номинальной стоимости ценных бумаг, на которые сделана скидка.
|
||||||
DURATION = ДЛИТ ## Возвращает ежегодную продолжительность действия ценных бумаг с периодическими выплатами по процентам.
|
PRICEMAT = ЦЕНАПОГАШ ## Возвращает цену за 100 рублей номинальной стоимости ценных бумаг, проценты по которым выплачиваются в срок погашения.
|
||||||
EFFECT = ЭФФЕКТ ## Возвращает действующие ежегодные процентные ставки.
|
PV = ПС ## Возвращает приведенную (к текущему моменту) стоимость инвестиции.
|
||||||
FV = БС ## Возвращает будущую стоимость инвестиции.
|
RATE = СТАВКА ## Возвращает процентную ставку по аннуитету за один период.
|
||||||
FVSCHEDULE = БЗРАСПИС ## Возвращает будущую стоимость первоначальной основной суммы после начисления ряда сложных процентов.
|
RECEIVED = ПОЛУЧЕНО ## Возвращает сумму, полученную к сроку погашения полностью обеспеченных ценных бумаг.
|
||||||
INTRATE = ИНОРМА ## Возвращает процентную ставку для полностью инвестированных ценных бумаг.
|
SLN = АПЛ ## Возвращает величину линейной амортизации актива за один период.
|
||||||
IPMT = ПРПЛТ ## Возвращает величину выплаты прибыли на вложения за данный период.
|
SYD = АСЧ ## Возвращает величину амортизации актива за данный период, рассчитанную методом суммы годовых чисел.
|
||||||
IRR = ВСД ## Возвращает внутреннюю ставку доходности для ряда потоков денежных средств.
|
TBILLEQ = РАВНОКЧЕК ## Возвращает эквивалентный облигации доход по казначейскому чеку.
|
||||||
ISPMT = ПРОЦПЛАТ ## Вычисляет выплаты за указанный период инвестиции.
|
TBILLPRICE = ЦЕНАКЧЕК ## Возвращает цену за 100 рублей нарицательной стоимости для казначейского чека.
|
||||||
MDURATION = МДЛИТ ## Возвращает модифицированную длительность Маколея для ценных бумаг с предполагаемой номинальной стоимостью 100 рублей.
|
TBILLYIELD = ДОХОДКЧЕК ## Возвращает доход по казначейскому чеку.
|
||||||
MIRR = МВСД ## Возвращает внутреннюю ставку доходности, при которой положительные и отрицательные денежные потоки имеют разные значения ставки.
|
VDB = ПУО ## Возвращает величину амортизации актива для указанного или частичного периода при использовании метода сокращающегося баланса.
|
||||||
NOMINAL = НОМИНАЛ ## Возвращает номинальную годовую процентную ставку.
|
XIRR = ЧИСТВНДОХ ## Возвращает внутреннюю ставку доходности для графика денежных потоков, которые не обязательно носят периодический характер.
|
||||||
NPER = КПЕР ## Возвращает общее количество периодов выплаты для данного вклада.
|
XNPV = ЧИСТНЗ ## Возвращает чистую приведенную стоимость для денежных потоков, которые не обязательно являются периодическими.
|
||||||
NPV = ЧПС ## Возвращает чистую приведенную стоимость инвестиции, основанной на серии периодических денежных потоков и ставке дисконтирования.
|
YIELD = ДОХОД ## Возвращает доход от ценных бумаг, по которым производятся периодические выплаты процентов.
|
||||||
ODDFPRICE = ЦЕНАПЕРВНЕРЕГ ## Возвращает цену за 100 рублей нарицательной стоимости ценных бумаг с нерегулярным первым периодом.
|
YIELDDISC = ДОХОДСКИДКА ## Возвращает годовой доход по ценным бумагам, на которые сделана скидка (пример — казначейские чеки).
|
||||||
ODDFYIELD = ДОХОДПЕРВНЕРЕГ ## Возвращает доход по ценным бумагам с нерегулярным первым периодом.
|
YIELDMAT = ДОХОДПОГАШ ## Возвращает годовой доход от ценных бумаг, проценты по которым выплачиваются в срок погашения.
|
||||||
ODDLPRICE = ЦЕНАПОСЛНЕРЕГ ## Возвращает цену за 100 рублей нарицательной стоимости ценных бумаг с нерегулярным последним периодом.
|
|
||||||
ODDLYIELD = ДОХОДПОСЛНЕРЕГ ## Возвращает доход по ценным бумагам с нерегулярным последним периодом.
|
|
||||||
PMT = ПЛТ ## Возвращает величину выплаты за один период аннуитета.
|
##
|
||||||
PPMT = ОСПЛТ ## Возвращает величину выплат в погашение основной суммы по инвестиции за заданный период.
|
## Information functions Информационные функции
|
||||||
PRICE = ЦЕНА ## Возвращает цену за 100 рублей нарицательной стоимости ценных бумаг, по которым производится периодическая выплата процентов.
|
##
|
||||||
PRICEDISC = ЦЕНАСКИДКА ## Возвращает цену за 100 рублей номинальной стоимости ценных бумаг, на которые сделана скидка.
|
CELL = ЯЧЕЙКА ## Возвращает информацию о формате, расположении или содержимом ячейки.
|
||||||
PRICEMAT = ЦЕНАПОГАШ ## Возвращает цену за 100 рублей номинальной стоимости ценных бумаг, проценты по которым выплачиваются в срок погашения.
|
ERROR.TYPE = ТИП.ОШИБКИ ## Возвращает числовой код, соответствующий типу ошибки.
|
||||||
PV = ПС ## Возвращает приведенную (к текущему моменту) стоимость инвестиции.
|
INFO = ИНФОРМ ## Возвращает информацию о текущей операционной среде.
|
||||||
RATE = СТАВКА ## Возвращает процентную ставку по аннуитету за один период.
|
ISBLANK = ЕПУСТО ## Возвращает значение ИСТИНА, если аргумент является ссылкой на пустую ячейку.
|
||||||
RECEIVED = ПОЛУЧЕНО ## Возвращает сумму, полученную к сроку погашения полностью обеспеченных ценных бумаг.
|
ISERR = ЕОШ ## Возвращает значение ИСТИНА, если аргумент ссылается на любое значение ошибки, кроме #Н/Д.
|
||||||
SLN = АПЛ ## Возвращает величину линейной амортизации актива за один период.
|
ISERROR = ЕОШИБКА ## Возвращает значение ИСТИНА, если аргумент ссылается на любое значение ошибки.
|
||||||
SYD = АСЧ ## Возвращает величину амортизации актива за данный период, рассчитанную методом суммы годовых чисел.
|
ISEVEN = ЕЧЁТН ## Возвращает значение ИСТИНА, если значение аргумента является четным числом.
|
||||||
TBILLEQ = РАВНОКЧЕК ## Возвращает эквивалентный облигации доход по казначейскому чеку.
|
ISLOGICAL = ЕЛОГИЧ ## Возвращает значение ИСТИНА, если аргумент ссылается на логическое значение.
|
||||||
TBILLPRICE = ЦЕНАКЧЕК ## Возвращает цену за 100 рублей нарицательной стоимости для казначейского чека.
|
ISNA = ЕНД ## Возвращает значение ИСТИНА, если аргумент ссылается на значение ошибки #Н/Д.
|
||||||
TBILLYIELD = ДОХОДКЧЕК ## Возвращает доход по казначейскому чеку.
|
ISNONTEXT = ЕНЕТЕКСТ ## Возвращает значение ИСТИНА, если значение аргумента не является текстом.
|
||||||
VDB = ПУО ## Возвращает величину амортизации актива для указанного или частичного периода при использовании метода сокращающегося баланса.
|
ISNUMBER = ЕЧИСЛО ## Возвращает значение ИСТИНА, если аргумент ссылается на число.
|
||||||
XIRR = ЧИСТВНДОХ ## Возвращает внутреннюю ставку доходности для графика денежных потоков, которые не обязательно носят периодический характер.
|
ISODD = ЕНЕЧЁТ ## Возвращает значение ИСТИНА, если значение аргумента является нечетным числом.
|
||||||
XNPV = ЧИСТНЗ ## Возвращает чистую приведенную стоимость для денежных потоков, которые не обязательно являются периодическими.
|
ISREF = ЕССЫЛКА ## Возвращает значение ИСТИНА, если значение аргумента является ссылкой.
|
||||||
YIELD = ДОХОД ## Возвращает доход от ценных бумаг, по которым производятся периодические выплаты процентов.
|
ISTEXT = ЕТЕКСТ ## Возвращает значение ИСТИНА, если значение аргумента является текстом.
|
||||||
YIELDDISC = ДОХОДСКИДКА ## Возвращает годовой доход по ценным бумагам, на которые сделана скидка (пример — казначейские чеки).
|
N = Ч ## Возвращает значение, преобразованное в число.
|
||||||
YIELDMAT = ДОХОДПОГАШ ## Возвращает годовой доход от ценных бумаг, проценты по которым выплачиваются в срок погашения.
|
NA = НД ## Возвращает значение ошибки #Н/Д.
|
||||||
|
TYPE = ТИП ## Возвращает число, обозначающее тип данных значения.
|
||||||
|
|
||||||
##
|
|
||||||
## Information functions Информационные функции
|
##
|
||||||
##
|
## Logical functions Логические функции
|
||||||
CELL = ЯЧЕЙКА ## Возвращает информацию о формате, расположении или содержимом ячейки.
|
##
|
||||||
ERROR.TYPE = ТИП.ОШИБКИ ## Возвращает числовой код, соответствующий типу ошибки.
|
AND = И ## Renvoie VRAI si tous ses arguments sont VRAI.
|
||||||
INFO = ИНФОРМ ## Возвращает информацию о текущей операционной среде.
|
FALSE = ЛОЖЬ ## Возвращает логическое значение ЛОЖЬ.
|
||||||
ISBLANK = ЕПУСТО ## Возвращает значение ИСТИНА, если аргумент является ссылкой на пустую ячейку.
|
IF = ЕСЛИ ## Выполняет проверку условия.
|
||||||
ISERR = ЕОШ ## Возвращает значение ИСТИНА, если аргумент ссылается на любое значение ошибки, кроме #Н/Д.
|
IFERROR = ЕСЛИОШИБКА ## Возвращает введённое значение, если вычисление по формуле вызывает ошибку; в противном случае функция возвращает результат вычисления.
|
||||||
ISERROR = ЕОШИБКА ## Возвращает значение ИСТИНА, если аргумент ссылается на любое значение ошибки.
|
NOT = НЕ ## Меняет логическое значение своего аргумента на противоположное.
|
||||||
ISEVEN = ЕЧЁТН ## Возвращает значение ИСТИНА, если значение аргумента является четным числом.
|
OR = ИЛИ ## Возвращает значение ИСТИНА, если хотя бы один аргумент имеет значение ИСТИНА.
|
||||||
ISLOGICAL = ЕЛОГИЧ ## Возвращает значение ИСТИНА, если аргумент ссылается на логическое значение.
|
TRUE = ИСТИНА ## Возвращает логическое значение ИСТИНА.
|
||||||
ISNA = ЕНД ## Возвращает значение ИСТИНА, если аргумент ссылается на значение ошибки #Н/Д.
|
|
||||||
ISNONTEXT = ЕНЕТЕКСТ ## Возвращает значение ИСТИНА, если значение аргумента не является текстом.
|
|
||||||
ISNUMBER = ЕЧИСЛО ## Возвращает значение ИСТИНА, если аргумент ссылается на число.
|
##
|
||||||
ISODD = ЕНЕЧЁТ ## Возвращает значение ИСТИНА, если значение аргумента является нечетным числом.
|
## Lookup and reference functions Функции ссылки и поиска
|
||||||
ISREF = ЕССЫЛКА ## Возвращает значение ИСТИНА, если значение аргумента является ссылкой.
|
##
|
||||||
ISTEXT = ЕТЕКСТ ## Возвращает значение ИСТИНА, если значение аргумента является текстом.
|
ADDRESS = АДРЕС ## Возвращает ссылку на отдельную ячейку листа в виде текста.
|
||||||
N = Ч ## Возвращает значение, преобразованное в число.
|
AREAS = ОБЛАСТИ ## Возвращает количество областей в ссылке.
|
||||||
NA = НД ## Возвращает значение ошибки #Н/Д.
|
CHOOSE = ВЫБОР ## Выбирает значение из списка значений по индексу.
|
||||||
TYPE = ТИП ## Возвращает число, обозначающее тип данных значения.
|
COLUMN = СТОЛБЕЦ ## Возвращает номер столбца, на который указывает ссылка.
|
||||||
|
COLUMNS = ЧИСЛСТОЛБ ## Возвращает количество столбцов в ссылке.
|
||||||
|
HLOOKUP = ГПР ## Ищет в первой строке массива и возвращает значение отмеченной ячейки
|
||||||
##
|
HYPERLINK = ГИПЕРССЫЛКА ## Создает ссылку, открывающую документ, который находится на сервере сети, в интрасети или в Интернете.
|
||||||
## Logical functions Логические функции
|
INDEX = ИНДЕКС ## Использует индекс для выбора значения из ссылки или массива.
|
||||||
##
|
INDIRECT = ДВССЫЛ ## Возвращает ссылку, заданную текстовым значением.
|
||||||
AND = И ## Renvoie VRAI si tous ses arguments sont VRAI.
|
LOOKUP = ПРОСМОТР ## Ищет значения в векторе или массиве.
|
||||||
FALSE = ЛОЖЬ ## Возвращает логическое значение ЛОЖЬ.
|
MATCH = ПОИСКПОЗ ## Ищет значения в ссылке или массиве.
|
||||||
IF = ЕСЛИ ## Выполняет проверку условия.
|
OFFSET = СМЕЩ ## Возвращает смещение ссылки относительно заданной ссылки.
|
||||||
IFERROR = ЕСЛИОШИБКА ## Возвращает введённое значение, если вычисление по формуле вызывает ошибку; в противном случае функция возвращает результат вычисления.
|
ROW = СТРОКА ## Возвращает номер строки, определяемой ссылкой.
|
||||||
NOT = НЕ ## Меняет логическое значение своего аргумента на противоположное.
|
ROWS = ЧСТРОК ## Возвращает количество строк в ссылке.
|
||||||
OR = ИЛИ ## Возвращает значение ИСТИНА, если хотя бы один аргумент имеет значение ИСТИНА.
|
RTD = ДРВ ## Извлекает данные реального времени из программ, поддерживающих автоматизацию COM (Программирование объектов. Стандартное средство для работы с объектами некоторого приложения из другого приложения или средства разработки. Программирование объектов (ранее называемое программированием OLE) является функцией модели COM (Component Object Model, модель компонентных объектов).).
|
||||||
TRUE = ИСТИНА ## Возвращает логическое значение ИСТИНА.
|
TRANSPOSE = ТРАНСП ## Возвращает транспонированный массив.
|
||||||
|
VLOOKUP = ВПР ## Ищет значение в первом столбце массива и возвращает значение из ячейки в найденной строке и указанном столбце.
|
||||||
|
|
||||||
##
|
|
||||||
## Lookup and reference functions Функции ссылки и поиска
|
##
|
||||||
##
|
## Math and trigonometry functions Математические и тригонометрические функции
|
||||||
ADDRESS = АДРЕС ## Возвращает ссылку на отдельную ячейку листа в виде текста.
|
##
|
||||||
AREAS = ОБЛАСТИ ## Возвращает количество областей в ссылке.
|
ABS = ABS ## Возвращает модуль (абсолютную величину) числа.
|
||||||
CHOOSE = ВЫБОР ## Выбирает значение из списка значений по индексу.
|
ACOS = ACOS ## Возвращает арккосинус числа.
|
||||||
COLUMN = СТОЛБЕЦ ## Возвращает номер столбца, на который указывает ссылка.
|
ACOSH = ACOSH ## Возвращает гиперболический арккосинус числа.
|
||||||
COLUMNS = ЧИСЛСТОЛБ ## Возвращает количество столбцов в ссылке.
|
ASIN = ASIN ## Возвращает арксинус числа.
|
||||||
HLOOKUP = ГПР ## Ищет в первой строке массива и возвращает значение отмеченной ячейки
|
ASINH = ASINH ## Возвращает гиперболический арксинус числа.
|
||||||
HYPERLINK = ГИПЕРССЫЛКА ## Создает ссылку, открывающую документ, который находится на сервере сети, в интрасети или в Интернете.
|
ATAN = ATAN ## Возвращает арктангенс числа.
|
||||||
INDEX = ИНДЕКС ## Использует индекс для выбора значения из ссылки или массива.
|
ATAN2 = ATAN2 ## Возвращает арктангенс для заданных координат x и y.
|
||||||
INDIRECT = ДВССЫЛ ## Возвращает ссылку, заданную текстовым значением.
|
ATANH = ATANH ## Возвращает гиперболический арктангенс числа.
|
||||||
LOOKUP = ПРОСМОТР ## Ищет значения в векторе или массиве.
|
CEILING = ОКРВВЕРХ ## Округляет число до ближайшего целого или до ближайшего кратного указанному значению.
|
||||||
MATCH = ПОИСКПОЗ ## Ищет значения в ссылке или массиве.
|
COMBIN = ЧИСЛКОМБ ## Возвращает количество комбинаций для заданного числа объектов.
|
||||||
OFFSET = СМЕЩ ## Возвращает смещение ссылки относительно заданной ссылки.
|
COS = COS ## Возвращает косинус числа.
|
||||||
ROW = СТРОКА ## Возвращает номер строки, определяемой ссылкой.
|
COSH = COSH ## Возвращает гиперболический косинус числа.
|
||||||
ROWS = ЧСТРОК ## Возвращает количество строк в ссылке.
|
DEGREES = ГРАДУСЫ ## Преобразует радианы в градусы.
|
||||||
RTD = ДРВ ## Извлекает данные реального времени из программ, поддерживающих автоматизацию COM (Программирование объектов. Стандартное средство для работы с объектами некоторого приложения из другого приложения или средства разработки. Программирование объектов (ранее называемое программированием OLE) является функцией модели COM (Component Object Model, модель компонентных объектов).).
|
EVEN = ЧЁТН ## Округляет число до ближайшего четного целого.
|
||||||
TRANSPOSE = ТРАНСП ## Возвращает транспонированный массив.
|
EXP = EXP ## Возвращает число e, возведенное в указанную степень.
|
||||||
VLOOKUP = ВПР ## Ищет значение в первом столбце массива и возвращает значение из ячейки в найденной строке и указанном столбце.
|
FACT = ФАКТР ## Возвращает факториал числа.
|
||||||
|
FACTDOUBLE = ДВФАКТР ## Возвращает двойной факториал числа.
|
||||||
|
FLOOR = ОКРВНИЗ ## Округляет число до ближайшего меньшего по модулю значения.
|
||||||
##
|
GCD = НОД ## Возвращает наибольший общий делитель.
|
||||||
## Math and trigonometry functions Математические и тригонометрические функции
|
INT = ЦЕЛОЕ ## Округляет число до ближайшего меньшего целого.
|
||||||
##
|
LCM = НОК ## Возвращает наименьшее общее кратное.
|
||||||
ABS = ABS ## Возвращает модуль (абсолютную величину) числа.
|
LN = LN ## Возвращает натуральный логарифм числа.
|
||||||
ACOS = ACOS ## Возвращает арккосинус числа.
|
LOG = LOG ## Возвращает логарифм числа по заданному основанию.
|
||||||
ACOSH = ACOSH ## Возвращает гиперболический арккосинус числа.
|
LOG10 = LOG10 ## Возвращает десятичный логарифм числа.
|
||||||
ASIN = ASIN ## Возвращает арксинус числа.
|
MDETERM = МОПРЕД ## Возвращает определитель матрицы массива.
|
||||||
ASINH = ASINH ## Возвращает гиперболический арксинус числа.
|
MINVERSE = МОБР ## Возвращает обратную матрицу массива.
|
||||||
ATAN = ATAN ## Возвращает арктангенс числа.
|
MMULT = МУМНОЖ ## Возвращает произведение матриц двух массивов.
|
||||||
ATAN2 = ATAN2 ## Возвращает арктангенс для заданных координат x и y.
|
MOD = ОСТАТ ## Возвращает остаток от деления.
|
||||||
ATANH = ATANH ## Возвращает гиперболический арктангенс числа.
|
MROUND = ОКРУГЛТ ## Возвращает число, округленное с требуемой точностью.
|
||||||
CEILING = ОКРВВЕРХ ## Округляет число до ближайшего целого или до ближайшего кратного указанному значению.
|
MULTINOMIAL = МУЛЬТИНОМ ## Возвращает мультиномиальный коэффициент множества чисел.
|
||||||
COMBIN = ЧИСЛКОМБ ## Возвращает количество комбинаций для заданного числа объектов.
|
ODD = НЕЧЁТ ## Округляет число до ближайшего нечетного целого.
|
||||||
COS = COS ## Возвращает косинус числа.
|
PI = ПИ ## Возвращает число пи.
|
||||||
COSH = COSH ## Возвращает гиперболический косинус числа.
|
POWER = СТЕПЕНЬ ## Возвращает результат возведения числа в степень.
|
||||||
DEGREES = ГРАДУСЫ ## Преобразует радианы в градусы.
|
PRODUCT = ПРОИЗВЕД ## Возвращает произведение аргументов.
|
||||||
EVEN = ЧЁТН ## Округляет число до ближайшего четного целого.
|
QUOTIENT = ЧАСТНОЕ ## Возвращает целую часть частного при делении.
|
||||||
EXP = EXP ## Возвращает число e, возведенное в указанную степень.
|
RADIANS = РАДИАНЫ ## Преобразует градусы в радианы.
|
||||||
FACT = ФАКТР ## Возвращает факториал числа.
|
RAND = СЛЧИС ## Возвращает случайное число в интервале от 0 до 1.
|
||||||
FACTDOUBLE = ДВФАКТР ## Возвращает двойной факториал числа.
|
RANDBETWEEN = СЛУЧМЕЖДУ ## Возвращает случайное число в интервале между двумя заданными числами.
|
||||||
FLOOR = ОКРВНИЗ ## Округляет число до ближайшего меньшего по модулю значения.
|
ROMAN = РИМСКОЕ ## Преобразует арабские цифры в римские в виде текста.
|
||||||
GCD = НОД ## Возвращает наибольший общий делитель.
|
ROUND = ОКРУГЛ ## Округляет число до указанного количества десятичных разрядов.
|
||||||
INT = ЦЕЛОЕ ## Округляет число до ближайшего меньшего целого.
|
ROUNDDOWN = ОКРУГЛВНИЗ ## Округляет число до ближайшего меньшего по модулю значения.
|
||||||
LCM = НОК ## Возвращает наименьшее общее кратное.
|
ROUNDUP = ОКРУГЛВВЕРХ ## Округляет число до ближайшего большего по модулю значения.
|
||||||
LN = LN ## Возвращает натуральный логарифм числа.
|
SERIESSUM = РЯД.СУММ ## Возвращает сумму степенного ряда, вычисленную по формуле.
|
||||||
LOG = LOG ## Возвращает логарифм числа по заданному основанию.
|
SIGN = ЗНАК ## Возвращает знак числа.
|
||||||
LOG10 = LOG10 ## Возвращает десятичный логарифм числа.
|
SIN = SIN ## Возвращает синус заданного угла.
|
||||||
MDETERM = МОПРЕД ## Возвращает определитель матрицы массива.
|
SINH = SINH ## Возвращает гиперболический синус числа.
|
||||||
MINVERSE = МОБР ## Возвращает обратную матрицу массива.
|
SQRT = КОРЕНЬ ## Возвращает положительное значение квадратного корня.
|
||||||
MMULT = МУМНОЖ ## Возвращает произведение матриц двух массивов.
|
SQRTPI = КОРЕНЬПИ ## Возвращает квадратный корень из значения выражения (число * ПИ).
|
||||||
MOD = ОСТАТ ## Возвращает остаток от деления.
|
SUBTOTAL = ПРОМЕЖУТОЧНЫЕ.ИТОГИ ## Возвращает промежуточный итог в списке или базе данных.
|
||||||
MROUND = ОКРУГЛТ ## Возвращает число, округленное с требуемой точностью.
|
SUM = СУММ ## Суммирует аргументы.
|
||||||
MULTINOMIAL = МУЛЬТИНОМ ## Возвращает мультиномиальный коэффициент множества чисел.
|
SUMIF = СУММЕСЛИ ## Суммирует ячейки, удовлетворяющие заданному условию.
|
||||||
ODD = НЕЧЁТ ## Округляет число до ближайшего нечетного целого.
|
SUMIFS = СУММЕСЛИМН ## Суммирует диапазон ячеек, удовлетворяющих нескольким условиям.
|
||||||
PI = ПИ ## Возвращает число пи.
|
SUMPRODUCT = СУММПРОИЗВ ## Возвращает сумму произведений соответствующих элементов массивов.
|
||||||
POWER = СТЕПЕНЬ ## Возвращает результат возведения числа в степень.
|
SUMSQ = СУММКВ ## Возвращает сумму квадратов аргументов.
|
||||||
PRODUCT = ПРОИЗВЕД ## Возвращает произведение аргументов.
|
SUMX2MY2 = СУММРАЗНКВ ## Возвращает сумму разностей квадратов соответствующих значений в двух массивах.
|
||||||
QUOTIENT = ЧАСТНОЕ ## Возвращает целую часть частного при делении.
|
SUMX2PY2 = СУММСУММКВ ## Возвращает сумму сумм квадратов соответствующих элементов двух массивов.
|
||||||
RADIANS = РАДИАНЫ ## Преобразует градусы в радианы.
|
SUMXMY2 = СУММКВРАЗН ## Возвращает сумму квадратов разностей соответствующих значений в двух массивах.
|
||||||
RAND = СЛЧИС ## Возвращает случайное число в интервале от 0 до 1.
|
TAN = TAN ## Возвращает тангенс числа.
|
||||||
RANDBETWEEN = СЛУЧМЕЖДУ ## Возвращает случайное число в интервале между двумя заданными числами.
|
TANH = TANH ## Возвращает гиперболический тангенс числа.
|
||||||
ROMAN = РИМСКОЕ ## Преобразует арабские цифры в римские в виде текста.
|
TRUNC = ОТБР ## Отбрасывает дробную часть числа.
|
||||||
ROUND = ОКРУГЛ ## Округляет число до указанного количества десятичных разрядов.
|
|
||||||
ROUNDDOWN = ОКРУГЛВНИЗ ## Округляет число до ближайшего меньшего по модулю значения.
|
|
||||||
ROUNDUP = ОКРУГЛВВЕРХ ## Округляет число до ближайшего большего по модулю значения.
|
##
|
||||||
SERIESSUM = РЯД.СУММ ## Возвращает сумму степенного ряда, вычисленную по формуле.
|
## Statistical functions Статистические функции
|
||||||
SIGN = ЗНАК ## Возвращает знак числа.
|
##
|
||||||
SIN = SIN ## Возвращает синус заданного угла.
|
AVEDEV = СРОТКЛ ## Возвращает среднее арифметическое абсолютных значений отклонений точек данных от среднего.
|
||||||
SINH = SINH ## Возвращает гиперболический синус числа.
|
AVERAGE = СРЗНАЧ ## Возвращает среднее арифметическое аргументов.
|
||||||
SQRT = КОРЕНЬ ## Возвращает положительное значение квадратного корня.
|
AVERAGEA = СРЗНАЧА ## Возвращает среднее арифметическое аргументов, включая числа, текст и логические значения.
|
||||||
SQRTPI = КОРЕНЬПИ ## Возвращает квадратный корень из значения выражения (число * ПИ).
|
AVERAGEIF = СРЗНАЧЕСЛИ ## Возвращает среднее значение (среднее арифметическое) всех ячеек в диапазоне, которые удовлетворяют данному условию.
|
||||||
SUBTOTAL = ПРОМЕЖУТОЧНЫЕ.ИТОГИ ## Возвращает промежуточный итог в списке или базе данных.
|
AVERAGEIFS = СРЗНАЧЕСЛИМН ## Возвращает среднее значение (среднее арифметическое) всех ячеек, которые удовлетворяют нескольким условиям.
|
||||||
SUM = СУММ ## Суммирует аргументы.
|
BETADIST = БЕТАРАСП ## Возвращает интегральную функцию бета-распределения.
|
||||||
SUMIF = СУММЕСЛИ ## Суммирует ячейки, удовлетворяющие заданному условию.
|
BETAINV = БЕТАОБР ## Возвращает обратную интегральную функцию указанного бета-распределения.
|
||||||
SUMIFS = СУММЕСЛИМН ## Суммирует диапазон ячеек, удовлетворяющих нескольким условиям.
|
BINOMDIST = БИНОМРАСП ## Возвращает отдельное значение биномиального распределения.
|
||||||
SUMPRODUCT = СУММПРОИЗВ ## Возвращает сумму произведений соответствующих элементов массивов.
|
CHIDIST = ХИ2РАСП ## Возвращает одностороннюю вероятность распределения хи-квадрат.
|
||||||
SUMSQ = СУММКВ ## Возвращает сумму квадратов аргументов.
|
CHIINV = ХИ2ОБР ## Возвращает обратное значение односторонней вероятности распределения хи-квадрат.
|
||||||
SUMX2MY2 = СУММРАЗНКВ ## Возвращает сумму разностей квадратов соответствующих значений в двух массивах.
|
CHITEST = ХИ2ТЕСТ ## Возвращает тест на независимость.
|
||||||
SUMX2PY2 = СУММСУММКВ ## Возвращает сумму сумм квадратов соответствующих элементов двух массивов.
|
CONFIDENCE = ДОВЕРИТ ## Возвращает доверительный интервал для среднего значения по генеральной совокупности.
|
||||||
SUMXMY2 = СУММКВРАЗН ## Возвращает сумму квадратов разностей соответствующих значений в двух массивах.
|
CORREL = КОРРЕЛ ## Возвращает коэффициент корреляции между двумя множествами данных.
|
||||||
TAN = TAN ## Возвращает тангенс числа.
|
COUNT = СЧЁТ ## Подсчитывает количество чисел в списке аргументов.
|
||||||
TANH = TANH ## Возвращает гиперболический тангенс числа.
|
COUNTA = СЧЁТЗ ## Подсчитывает количество значений в списке аргументов.
|
||||||
TRUNC = ОТБР ## Отбрасывает дробную часть числа.
|
COUNTBLANK = СЧИТАТЬПУСТОТЫ ## Подсчитывает количество пустых ячеек в диапазоне
|
||||||
|
COUNTIF = СЧЁТЕСЛИ ## Подсчитывает количество ячеек в диапазоне, удовлетворяющих заданному условию
|
||||||
|
COUNTIFS = СЧЁТЕСЛИМН ## Подсчитывает количество ячеек внутри диапазона, удовлетворяющих нескольким условиям.
|
||||||
##
|
COVAR = КОВАР ## Возвращает ковариацию, среднее произведений парных отклонений
|
||||||
## Statistical functions Статистические функции
|
CRITBINOM = КРИТБИНОМ ## Возвращает наименьшее значение, для которого интегральное биномиальное распределение меньше или равно заданному критерию.
|
||||||
##
|
DEVSQ = КВАДРОТКЛ ## Возвращает сумму квадратов отклонений.
|
||||||
AVEDEV = СРОТКЛ ## Возвращает среднее арифметическое абсолютных значений отклонений точек данных от среднего.
|
EXPONDIST = ЭКСПРАСП ## Возвращает экспоненциальное распределение.
|
||||||
AVERAGE = СРЗНАЧ ## Возвращает среднее арифметическое аргументов.
|
FDIST = FРАСП ## Возвращает F-распределение вероятности.
|
||||||
AVERAGEA = СРЗНАЧА ## Возвращает среднее арифметическое аргументов, включая числа, текст и логические значения.
|
FINV = FРАСПОБР ## Возвращает обратное значение для F-распределения вероятности.
|
||||||
AVERAGEIF = СРЗНАЧЕСЛИ ## Возвращает среднее значение (среднее арифметическое) всех ячеек в диапазоне, которые удовлетворяют данному условию.
|
FISHER = ФИШЕР ## Возвращает преобразование Фишера.
|
||||||
AVERAGEIFS = СРЗНАЧЕСЛИМН ## Возвращает среднее значение (среднее арифметическое) всех ячеек, которые удовлетворяют нескольким условиям.
|
FISHERINV = ФИШЕРОБР ## Возвращает обратное преобразование Фишера.
|
||||||
BETADIST = БЕТАРАСП ## Возвращает интегральную функцию бета-распределения.
|
FORECAST = ПРЕДСКАЗ ## Возвращает значение линейного тренда.
|
||||||
BETAINV = БЕТАОБР ## Возвращает обратную интегральную функцию указанного бета-распределения.
|
FREQUENCY = ЧАСТОТА ## Возвращает распределение частот в виде вертикального массива.
|
||||||
BINOMDIST = БИНОМРАСП ## Возвращает отдельное значение биномиального распределения.
|
FTEST = ФТЕСТ ## Возвращает результат F-теста.
|
||||||
CHIDIST = ХИ2РАСП ## Возвращает одностороннюю вероятность распределения хи-квадрат.
|
GAMMADIST = ГАММАРАСП ## Возвращает гамма-распределение.
|
||||||
CHIINV = ХИ2ОБР ## Возвращает обратное значение односторонней вероятности распределения хи-квадрат.
|
GAMMAINV = ГАММАОБР ## Возвращает обратное гамма-распределение.
|
||||||
CHITEST = ХИ2ТЕСТ ## Возвращает тест на независимость.
|
GAMMALN = ГАММАНЛОГ ## Возвращает натуральный логарифм гамма функции, Γ(x).
|
||||||
CONFIDENCE = ДОВЕРИТ ## Возвращает доверительный интервал для среднего значения по генеральной совокупности.
|
GEOMEAN = СРГЕОМ ## Возвращает среднее геометрическое.
|
||||||
CORREL = КОРРЕЛ ## Возвращает коэффициент корреляции между двумя множествами данных.
|
GROWTH = РОСТ ## Возвращает значения в соответствии с экспоненциальным трендом.
|
||||||
COUNT = СЧЁТ ## Подсчитывает количество чисел в списке аргументов.
|
HARMEAN = СРГАРМ ## Возвращает среднее гармоническое.
|
||||||
COUNTA = СЧЁТЗ ## Подсчитывает количество значений в списке аргументов.
|
HYPGEOMDIST = ГИПЕРГЕОМЕТ ## Возвращает гипергеометрическое распределение.
|
||||||
COUNTBLANK = СЧИТАТЬПУСТОТЫ ## Подсчитывает количество пустых ячеек в диапазоне
|
INTERCEPT = ОТРЕЗОК ## Возвращает отрезок, отсекаемый на оси линией линейной регрессии.
|
||||||
COUNTIF = СЧЁТЕСЛИ ## Подсчитывает количество ячеек в диапазоне, удовлетворяющих заданному условию
|
KURT = ЭКСЦЕСС ## Возвращает эксцесс множества данных.
|
||||||
COUNTIFS = СЧЁТЕСЛИМН ## Подсчитывает количество ячеек внутри диапазона, удовлетворяющих нескольким условиям.
|
LARGE = НАИБОЛЬШИЙ ## Возвращает k-ое наибольшее значение в множестве данных.
|
||||||
COVAR = КОВАР ## Возвращает ковариацию, среднее произведений парных отклонений
|
LINEST = ЛИНЕЙН ## Возвращает параметры линейного тренда.
|
||||||
CRITBINOM = КРИТБИНОМ ## Возвращает наименьшее значение, для которого интегральное биномиальное распределение меньше или равно заданному критерию.
|
LOGEST = ЛГРФПРИБЛ ## Возвращает параметры экспоненциального тренда.
|
||||||
DEVSQ = КВАДРОТКЛ ## Возвращает сумму квадратов отклонений.
|
LOGINV = ЛОГНОРМОБР ## Возвращает обратное логарифмическое нормальное распределение.
|
||||||
EXPONDIST = ЭКСПРАСП ## Возвращает экспоненциальное распределение.
|
LOGNORMDIST = ЛОГНОРМРАСП ## Возвращает интегральное логарифмическое нормальное распределение.
|
||||||
FDIST = FРАСП ## Возвращает F-распределение вероятности.
|
MAX = МАКС ## Возвращает наибольшее значение в списке аргументов.
|
||||||
FINV = FРАСПОБР ## Возвращает обратное значение для F-распределения вероятности.
|
MAXA = МАКСА ## Возвращает наибольшее значение в списке аргументов, включая числа, текст и логические значения.
|
||||||
FISHER = ФИШЕР ## Возвращает преобразование Фишера.
|
MEDIAN = МЕДИАНА ## Возвращает медиану заданных чисел.
|
||||||
FISHERINV = ФИШЕРОБР ## Возвращает обратное преобразование Фишера.
|
MIN = МИН ## Возвращает наименьшее значение в списке аргументов.
|
||||||
FORECAST = ПРЕДСКАЗ ## Возвращает значение линейного тренда.
|
MINA = МИНА ## Возвращает наименьшее значение в списке аргументов, включая числа, текст и логические значения.
|
||||||
FREQUENCY = ЧАСТОТА ## Возвращает распределение частот в виде вертикального массива.
|
MODE = МОДА ## Возвращает значение моды множества данных.
|
||||||
FTEST = ФТЕСТ ## Возвращает результат F-теста.
|
NEGBINOMDIST = ОТРБИНОМРАСП ## Возвращает отрицательное биномиальное распределение.
|
||||||
GAMMADIST = ГАММАРАСП ## Возвращает гамма-распределение.
|
NORMDIST = НОРМРАСП ## Возвращает нормальную функцию распределения.
|
||||||
GAMMAINV = ГАММАОБР ## Возвращает обратное гамма-распределение.
|
NORMINV = НОРМОБР ## Возвращает обратное нормальное распределение.
|
||||||
GAMMALN = ГАММАНЛОГ ## Возвращает натуральный логарифм гамма функции, Γ(x).
|
NORMSDIST = НОРМСТРАСП ## Возвращает стандартное нормальное интегральное распределение.
|
||||||
GEOMEAN = СРГЕОМ ## Возвращает среднее геометрическое.
|
NORMSINV = НОРМСТОБР ## Возвращает обратное значение стандартного нормального распределения.
|
||||||
GROWTH = РОСТ ## Возвращает значения в соответствии с экспоненциальным трендом.
|
PEARSON = ПИРСОН ## Возвращает коэффициент корреляции Пирсона.
|
||||||
HARMEAN = СРГАРМ ## Возвращает среднее гармоническое.
|
PERCENTILE = ПЕРСЕНТИЛЬ ## Возвращает k-ую персентиль для значений диапазона.
|
||||||
HYPGEOMDIST = ГИПЕРГЕОМЕТ ## Возвращает гипергеометрическое распределение.
|
PERCENTRANK = ПРОЦЕНТРАНГ ## Возвращает процентную норму значения в множестве данных.
|
||||||
INTERCEPT = ОТРЕЗОК ## Возвращает отрезок, отсекаемый на оси линией линейной регрессии.
|
PERMUT = ПЕРЕСТ ## Возвращает количество перестановок для заданного числа объектов.
|
||||||
KURT = ЭКСЦЕСС ## Возвращает эксцесс множества данных.
|
POISSON = ПУАССОН ## Возвращает распределение Пуассона.
|
||||||
LARGE = НАИБОЛЬШИЙ ## Возвращает k-ое наибольшее значение в множестве данных.
|
PROB = ВЕРОЯТНОСТЬ ## Возвращает вероятность того, что значение из диапазона находится внутри заданных пределов.
|
||||||
LINEST = ЛИНЕЙН ## Возвращает параметры линейного тренда.
|
QUARTILE = КВАРТИЛЬ ## Возвращает квартиль множества данных.
|
||||||
LOGEST = ЛГРФПРИБЛ ## Возвращает параметры экспоненциального тренда.
|
RANK = РАНГ ## Возвращает ранг числа в списке чисел.
|
||||||
LOGINV = ЛОГНОРМОБР ## Возвращает обратное логарифмическое нормальное распределение.
|
RSQ = КВПИРСОН ## Возвращает квадрат коэффициента корреляции Пирсона.
|
||||||
LOGNORMDIST = ЛОГНОРМРАСП ## Возвращает интегральное логарифмическое нормальное распределение.
|
SKEW = СКОС ## Возвращает асимметрию распределения.
|
||||||
MAX = МАКС ## Возвращает наибольшее значение в списке аргументов.
|
SLOPE = НАКЛОН ## Возвращает наклон линии линейной регрессии.
|
||||||
MAXA = МАКСА ## Возвращает наибольшее значение в списке аргументов, включая числа, текст и логические значения.
|
SMALL = НАИМЕНЬШИЙ ## Возвращает k-ое наименьшее значение в множестве данных.
|
||||||
MEDIAN = МЕДИАНА ## Возвращает медиану заданных чисел.
|
STANDARDIZE = НОРМАЛИЗАЦИЯ ## Возвращает нормализованное значение.
|
||||||
MIN = МИН ## Возвращает наименьшее значение в списке аргументов.
|
STDEV = СТАНДОТКЛОН ## Оценивает стандартное отклонение по выборке.
|
||||||
MINA = МИНА ## Возвращает наименьшее значение в списке аргументов, включая числа, текст и логические значения.
|
STDEVA = СТАНДОТКЛОНА ## Оценивает стандартное отклонение по выборке, включая числа, текст и логические значения.
|
||||||
MODE = МОДА ## Возвращает значение моды множества данных.
|
STDEVP = СТАНДОТКЛОНП ## Вычисляет стандартное отклонение по генеральной совокупности.
|
||||||
NEGBINOMDIST = ОТРБИНОМРАСП ## Возвращает отрицательное биномиальное распределение.
|
STDEVPA = СТАНДОТКЛОНПА ## Вычисляет стандартное отклонение по генеральной совокупности, включая числа, текст и логические значения.
|
||||||
NORMDIST = НОРМРАСП ## Возвращает нормальную функцию распределения.
|
STEYX = СТОШYX ## Возвращает стандартную ошибку предсказанных значений y для каждого значения x в регрессии.
|
||||||
NORMINV = НОРМОБР ## Возвращает обратное нормальное распределение.
|
TDIST = СТЬЮДРАСП ## Возвращает t-распределение Стьюдента.
|
||||||
NORMSDIST = НОРМСТРАСП ## Возвращает стандартное нормальное интегральное распределение.
|
TINV = СТЬЮДРАСПОБР ## Возвращает обратное t-распределение Стьюдента.
|
||||||
NORMSINV = НОРМСТОБР ## Возвращает обратное значение стандартного нормального распределения.
|
TREND = ТЕНДЕНЦИЯ ## Возвращает значения в соответствии с линейным трендом.
|
||||||
PEARSON = ПИРСОН ## Возвращает коэффициент корреляции Пирсона.
|
TRIMMEAN = УРЕЗСРЕДНЕЕ ## Возвращает среднее внутренности множества данных.
|
||||||
PERCENTILE = ПЕРСЕНТИЛЬ ## Возвращает k-ую персентиль для значений диапазона.
|
TTEST = ТТЕСТ ## Возвращает вероятность, соответствующую критерию Стьюдента.
|
||||||
PERCENTRANK = ПРОЦЕНТРАНГ ## Возвращает процентную норму значения в множестве данных.
|
VAR = ДИСП ## Оценивает дисперсию по выборке.
|
||||||
PERMUT = ПЕРЕСТ ## Возвращает количество перестановок для заданного числа объектов.
|
VARA = ДИСПА ## Оценивает дисперсию по выборке, включая числа, текст и логические значения.
|
||||||
POISSON = ПУАССОН ## Возвращает распределение Пуассона.
|
VARP = ДИСПР ## Вычисляет дисперсию для генеральной совокупности.
|
||||||
PROB = ВЕРОЯТНОСТЬ ## Возвращает вероятность того, что значение из диапазона находится внутри заданных пределов.
|
VARPA = ДИСПРА ## Вычисляет дисперсию для генеральной совокупности, включая числа, текст и логические значения.
|
||||||
QUARTILE = КВАРТИЛЬ ## Возвращает квартиль множества данных.
|
WEIBULL = ВЕЙБУЛЛ ## Возвращает распределение Вейбулла.
|
||||||
RANK = РАНГ ## Возвращает ранг числа в списке чисел.
|
ZTEST = ZТЕСТ ## Возвращает двустороннее P-значение z-теста.
|
||||||
RSQ = КВПИРСОН ## Возвращает квадрат коэффициента корреляции Пирсона.
|
|
||||||
SKEW = СКОС ## Возвращает асимметрию распределения.
|
|
||||||
SLOPE = НАКЛОН ## Возвращает наклон линии линейной регрессии.
|
##
|
||||||
SMALL = НАИМЕНЬШИЙ ## Возвращает k-ое наименьшее значение в множестве данных.
|
## Text functions Текстовые функции
|
||||||
STANDARDIZE = НОРМАЛИЗАЦИЯ ## Возвращает нормализованное значение.
|
##
|
||||||
STDEV = СТАНДОТКЛОН ## Оценивает стандартное отклонение по выборке.
|
ASC = ASC ## Для языков с двухбайтовыми наборами знаков (например, катакана) преобразует полноширинные (двухбайтовые) знаки в полуширинные (однобайтовые).
|
||||||
STDEVA = СТАНДОТКЛОНА ## Оценивает стандартное отклонение по выборке, включая числа, текст и логические значения.
|
BAHTTEXT = БАТТЕКСТ ## Преобразует число в текст, используя денежный формат ß (БАТ).
|
||||||
STDEVP = СТАНДОТКЛОНП ## Вычисляет стандартное отклонение по генеральной совокупности.
|
CHAR = СИМВОЛ ## Возвращает знак с заданным кодом.
|
||||||
STDEVPA = СТАНДОТКЛОНПА ## Вычисляет стандартное отклонение по генеральной совокупности, включая числа, текст и логические значения.
|
CLEAN = ПЕЧСИМВ ## Удаляет все непечатаемые знаки из текста.
|
||||||
STEYX = СТОШYX ## Возвращает стандартную ошибку предсказанных значений y для каждого значения x в регрессии.
|
CODE = КОДСИМВ ## Возвращает числовой код первого знака в текстовой строке.
|
||||||
TDIST = СТЬЮДРАСП ## Возвращает t-распределение Стьюдента.
|
CONCATENATE = СЦЕПИТЬ ## Объединяет несколько текстовых элементов в один.
|
||||||
TINV = СТЬЮДРАСПОБР ## Возвращает обратное t-распределение Стьюдента.
|
DOLLAR = РУБЛЬ ## Преобразует число в текст, используя денежный формат.
|
||||||
TREND = ТЕНДЕНЦИЯ ## Возвращает значения в соответствии с линейным трендом.
|
EXACT = СОВПАД ## Проверяет идентичность двух текстовых значений.
|
||||||
TRIMMEAN = УРЕЗСРЕДНЕЕ ## Возвращает среднее внутренности множества данных.
|
FIND = НАЙТИ ## Ищет вхождения одного текстового значения в другом (с учетом регистра).
|
||||||
TTEST = ТТЕСТ ## Возвращает вероятность, соответствующую критерию Стьюдента.
|
FINDB = НАЙТИБ ## Ищет вхождения одного текстового значения в другом (с учетом регистра).
|
||||||
VAR = ДИСП ## Оценивает дисперсию по выборке.
|
FIXED = ФИКСИРОВАННЫЙ ## Форматирует число и преобразует его в текст с заданным числом десятичных знаков.
|
||||||
VARA = ДИСПА ## Оценивает дисперсию по выборке, включая числа, текст и логические значения.
|
JIS = JIS ## Для языков с двухбайтовыми наборами знаков (например, катакана) преобразует полуширинные (однобайтовые) знаки в текстовой строке в полноширинные (двухбайтовые).
|
||||||
VARP = ДИСПР ## Вычисляет дисперсию для генеральной совокупности.
|
LEFT = ЛЕВСИМВ ## Возвращает крайние слева знаки текстового значения.
|
||||||
VARPA = ДИСПРА ## Вычисляет дисперсию для генеральной совокупности, включая числа, текст и логические значения.
|
LEFTB = ЛЕВБ ## Возвращает крайние слева знаки текстового значения.
|
||||||
WEIBULL = ВЕЙБУЛЛ ## Возвращает распределение Вейбулла.
|
LEN = ДЛСТР ## Возвращает количество знаков в текстовой строке.
|
||||||
ZTEST = ZТЕСТ ## Возвращает двустороннее P-значение z-теста.
|
LENB = ДЛИНБ ## Возвращает количество знаков в текстовой строке.
|
||||||
|
LOWER = СТРОЧН ## Преобразует все буквы текста в строчные.
|
||||||
|
MID = ПСТР ## Возвращает заданное число знаков из строки текста, начиная с указанной позиции.
|
||||||
##
|
MIDB = ПСТРБ ## Возвращает заданное число знаков из строки текста, начиная с указанной позиции.
|
||||||
## Text functions Текстовые функции
|
PHONETIC = PHONETIC ## Извлекает фонетические (фуригана) знаки из текстовой строки.
|
||||||
##
|
PROPER = ПРОПНАЧ ## Преобразует первую букву в каждом слове текста в прописную.
|
||||||
ASC = ASC ## Для языков с двухбайтовыми наборами знаков (например, катакана) преобразует полноширинные (двухбайтовые) знаки в полуширинные (однобайтовые).
|
REPLACE = ЗАМЕНИТЬ ## Заменяет знаки в тексте.
|
||||||
BAHTTEXT = БАТТЕКСТ ## Преобразует число в текст, используя денежный формат ß (БАТ).
|
REPLACEB = ЗАМЕНИТЬБ ## Заменяет знаки в тексте.
|
||||||
CHAR = СИМВОЛ ## Возвращает знак с заданным кодом.
|
REPT = ПОВТОР ## Повторяет текст заданное число раз.
|
||||||
CLEAN = ПЕЧСИМВ ## Удаляет все непечатаемые знаки из текста.
|
RIGHT = ПРАВСИМВ ## Возвращает крайние справа знаки текстовой строки.
|
||||||
CODE = КОДСИМВ ## Возвращает числовой код первого знака в текстовой строке.
|
RIGHTB = ПРАВБ ## Возвращает крайние справа знаки текстовой строки.
|
||||||
CONCATENATE = СЦЕПИТЬ ## Объединяет несколько текстовых элементов в один.
|
SEARCH = ПОИСК ## Ищет вхождения одного текстового значения в другом (без учета регистра).
|
||||||
DOLLAR = РУБЛЬ ## Преобразует число в текст, используя денежный формат.
|
SEARCHB = ПОИСКБ ## Ищет вхождения одного текстового значения в другом (без учета регистра).
|
||||||
EXACT = СОВПАД ## Проверяет идентичность двух текстовых значений.
|
SUBSTITUTE = ПОДСТАВИТЬ ## Заменяет в текстовой строке старый текст новым.
|
||||||
FIND = НАЙТИ ## Ищет вхождения одного текстового значения в другом (с учетом регистра).
|
T = Т ## Преобразует аргументы в текст.
|
||||||
FINDB = НАЙТИБ ## Ищет вхождения одного текстового значения в другом (с учетом регистра).
|
TEXT = ТЕКСТ ## Форматирует число и преобразует его в текст.
|
||||||
FIXED = ФИКСИРОВАННЫЙ ## Форматирует число и преобразует его в текст с заданным числом десятичных знаков.
|
TRIM = СЖПРОБЕЛЫ ## Удаляет из текста пробелы.
|
||||||
JIS = JIS ## Для языков с двухбайтовыми наборами знаков (например, катакана) преобразует полуширинные (однобайтовые) знаки в текстовой строке в полноширинные (двухбайтовые).
|
UPPER = ПРОПИСН ## Преобразует все буквы текста в прописные.
|
||||||
LEFT = ЛЕВСИМВ ## Возвращает крайние слева знаки текстового значения.
|
VALUE = ЗНАЧЕН ## Преобразует текстовый аргумент в число.
|
||||||
LEFTB = ЛЕВБ ## Возвращает крайние слева знаки текстового значения.
|
|
||||||
LEN = ДЛСТР ## Возвращает количество знаков в текстовой строке.
|
|
||||||
LENB = ДЛИНБ ## Возвращает количество знаков в текстовой строке.
|
|
||||||
LOWER = СТРОЧН ## Преобразует все буквы текста в строчные.
|
|
||||||
MID = ПСТР ## Возвращает заданное число знаков из строки текста, начиная с указанной позиции.
|
|
||||||
MIDB = ПСТРБ ## Возвращает заданное число знаков из строки текста, начиная с указанной позиции.
|
|
||||||
PHONETIC = PHONETIC ## Извлекает фонетические (фуригана) знаки из текстовой строки.
|
|
||||||
PROPER = ПРОПНАЧ ## Преобразует первую букву в каждом слове текста в прописную.
|
|
||||||
REPLACE = ЗАМЕНИТЬ ## Заменяет знаки в тексте.
|
|
||||||
REPLACEB = ЗАМЕНИТЬБ ## Заменяет знаки в тексте.
|
|
||||||
REPT = ПОВТОР ## Повторяет текст заданное число раз.
|
|
||||||
RIGHT = ПРАВСИМВ ## Возвращает крайние справа знаки текстовой строки.
|
|
||||||
RIGHTB = ПРАВБ ## Возвращает крайние справа знаки текстовой строки.
|
|
||||||
SEARCH = ПОИСК ## Ищет вхождения одного текстового значения в другом (без учета регистра).
|
|
||||||
SEARCHB = ПОИСКБ ## Ищет вхождения одного текстового значения в другом (без учета регистра).
|
|
||||||
SUBSTITUTE = ПОДСТАВИТЬ ## Заменяет в текстовой строке старый текст новым.
|
|
||||||
T = Т ## Преобразует аргументы в текст.
|
|
||||||
TEXT = ТЕКСТ ## Форматирует число и преобразует его в текст.
|
|
||||||
TRIM = СЖПРОБЕЛЫ ## Удаляет из текста пробелы.
|
|
||||||
UPPER = ПРОПИСН ## Преобразует все буквы текста в прописные.
|
|
||||||
VALUE = ЗНАЧЕН ## Преобразует текстовый аргумент в число.
|
|
||||||
23
PhpOffice/PhpSpreadsheet/Calculation/locale/cs/config
Normal file
23
PhpOffice/PhpSpreadsheet/Calculation/locale/cs/config
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
##
|
||||||
|
## PhpSpreadsheet
|
||||||
|
##
|
||||||
|
|
||||||
|
ArgumentSeparator = ;
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## (For future use)
|
||||||
|
##
|
||||||
|
currencySymbol = Kč
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## Excel Error Codes (For future use)
|
||||||
|
##
|
||||||
|
NULL = #NULL!
|
||||||
|
DIV0 = #DIV/0!
|
||||||
|
VALUE = #HODNOTA!
|
||||||
|
REF = #REF!
|
||||||
|
NAME = #NÁZEV?
|
||||||
|
NUM = #NUM!
|
||||||
|
NA = #N/A
|
||||||
|
|
@ -1,438 +1,416 @@
|
||||||
##
|
##
|
||||||
## PHPExcel
|
## PhpSpreadsheet
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Data in this file derived from https://www.excel-function-translation.com/
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
##
|
||||||
## modify it under the terms of the GNU Lesser General Public
|
|
||||||
## License as published by the Free Software Foundation; either
|
|
||||||
## version 2.1 of the License, or (at your option) any later version.
|
##
|
||||||
##
|
## Add-in and Automation functions Funkce doplňků a automatizace
|
||||||
## This library is distributed in the hope that it will be useful,
|
##
|
||||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
GETPIVOTDATA = ZÍSKATKONTDATA ## Vrátí data uložená v kontingenční tabulce. Pomocí funkce ZÍSKATKONTDATA můžete načíst souhrnná data z kontingenční tabulky, pokud jsou tato data v kontingenční sestavě zobrazena.
|
||||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
## Lesser General Public License for more details.
|
|
||||||
##
|
##
|
||||||
## You should have received a copy of the GNU Lesser General Public
|
## Cube functions Funkce pro práci s krychlemi
|
||||||
## License along with this library; if not, write to the Free Software
|
##
|
||||||
## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
CUBEKPIMEMBER = CUBEKPIMEMBER ## Vrátí název, vlastnost a velikost klíčového ukazatele výkonu (KUV) a zobrazí v buňce název a vlastnost. Klíčový ukazatel výkonu je kvantifikovatelná veličina, například hrubý měsíční zisk nebo čtvrtletní obrat na zaměstnance, která se používá pro sledování výkonnosti organizace.
|
||||||
##
|
CUBEMEMBER = CUBEMEMBER ## Vrátí člen nebo n-tici v hierarchii krychle. Slouží k ověření, zda v krychli existuje člen nebo n-tice.
|
||||||
## @category PHPExcel
|
CUBEMEMBERPROPERTY = CUBEMEMBERPROPERTY ## Vrátí hodnotu vlastnosti člena v krychli. Slouží k ověření, zda v krychli existuje člen s daným názvem, a k vrácení konkrétní vlastnosti tohoto člena.
|
||||||
## @package PHPExcel_Calculation
|
CUBERANKEDMEMBER = CUBERANKEDMEMBER ## Vrátí n-tý nebo pořadový člen sady. Použijte ji pro vrácení jednoho nebo více prvků sady, například obchodníka s nejvyšším obratem nebo deseti nejlepších studentů.
|
||||||
## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
CUBESET = CUBESET ## Definuje vypočtenou sadu členů nebo n-tic odesláním výrazu sady do krychle na serveru, který vytvoří sadu a potom ji vrátí do aplikace Microsoft Office Excel.
|
||||||
## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
CUBESETCOUNT = CUBESETCOUNT ## Vrátí počet položek v množině
|
||||||
## @version ##VERSION##, ##DATE##
|
CUBEVALUE = CUBEVALUE ## Vrátí úhrnnou hodnotu z krychle.
|
||||||
##
|
|
||||||
## Data in this file derived from http://www.piuha.fi/excel-function-name-translation/
|
|
||||||
##
|
##
|
||||||
##
|
## Database functions Funkce databáze
|
||||||
|
##
|
||||||
|
DAVERAGE = DPRŮMĚR ## Vrátí průměr vybraných položek databáze.
|
||||||
##
|
DCOUNT = DPOČET ## Spočítá buňky databáze obsahující čísla.
|
||||||
## Add-in and Automation functions Funkce doplňků a automatizace
|
DCOUNTA = DPOČET2 ## Spočítá buňky databáze, které nejsou prázdné.
|
||||||
##
|
DGET = DZÍSKAT ## Extrahuje z databáze jeden záznam splňující zadaná kritéria.
|
||||||
GETPIVOTDATA = ZÍSKATKONTDATA ## Vrátí data uložená v kontingenční tabulce. Pomocí funkce ZÍSKATKONTDATA můžete načíst souhrnná data z kontingenční tabulky, pokud jsou tato data v kontingenční sestavě zobrazena.
|
DMAX = DMAX ## Vrátí maximální hodnotu z vybraných položek databáze.
|
||||||
|
DMIN = DMIN ## Vrátí minimální hodnotu z vybraných položek databáze.
|
||||||
|
DPRODUCT = DSOUČIN ## Vynásobí hodnoty určitého pole záznamů v databázi, které splňují daná kritéria.
|
||||||
##
|
DSTDEV = DSMODCH.VÝBĚR ## Odhadne směrodatnou odchylku výběru vybraných položek databáze.
|
||||||
## Cube functions Funkce pro práci s krychlemi
|
DSTDEVP = DSMODCH ## Vypočte směrodatnou odchylku základního souboru vybraných položek databáze.
|
||||||
##
|
DSUM = DSUMA ## Sečte čísla ve sloupcovém poli záznamů databáze, která splňují daná kritéria.
|
||||||
CUBEKPIMEMBER = CUBEKPIMEMBER ## Vrátí název, vlastnost a velikost klíčového ukazatele výkonu (KUV) a zobrazí v buňce název a vlastnost. Klíčový ukazatel výkonu je kvantifikovatelná veličina, například hrubý měsíční zisk nebo čtvrtletní obrat na zaměstnance, která se používá pro sledování výkonnosti organizace.
|
DVAR = DVAR.VÝBĚR ## Odhadne rozptyl výběru vybraných položek databáze.
|
||||||
CUBEMEMBER = CUBEMEMBER ## Vrátí člen nebo n-tici v hierarchii krychle. Slouží k ověření, zda v krychli existuje člen nebo n-tice.
|
DVARP = DVAR ## Vypočte rozptyl základního souboru vybraných položek databáze.
|
||||||
CUBEMEMBERPROPERTY = CUBEMEMBERPROPERTY ## Vrátí hodnotu vlastnosti člena v krychli. Slouží k ověření, zda v krychli existuje člen s daným názvem, a k vrácení konkrétní vlastnosti tohoto člena.
|
|
||||||
CUBERANKEDMEMBER = CUBERANKEDMEMBER ## Vrátí n-tý nebo pořadový člen sady. Použijte ji pro vrácení jednoho nebo více prvků sady, například obchodníka s nejvyšším obratem nebo deseti nejlepších studentů.
|
|
||||||
CUBESET = CUBESET ## Definuje vypočtenou sadu členů nebo n-tic odesláním výrazu sady do krychle na serveru, který vytvoří sadu a potom ji vrátí do aplikace Microsoft Office Excel.
|
##
|
||||||
CUBESETCOUNT = CUBESETCOUNT ## Vrátí počet položek v množině
|
## Date and time functions Funkce data a času
|
||||||
CUBEVALUE = CUBEVALUE ## Vrátí úhrnnou hodnotu z krychle.
|
##
|
||||||
|
DATE = DATUM ## Vrátí pořadové číslo určitého data.
|
||||||
|
DATEVALUE = DATUMHODN ## Převede datum ve formě textu na pořadové číslo.
|
||||||
##
|
DAY = DEN ## Převede pořadové číslo na den v měsíci.
|
||||||
## Database functions Funkce databáze
|
DAYS360 = ROK360 ## Vrátí počet dní mezi dvěma daty na základě roku s 360 dny.
|
||||||
##
|
EDATE = EDATE ## Vrátí pořadové číslo data, které označuje určený počet měsíců před nebo po počátečním datu.
|
||||||
DAVERAGE = DPRŮMĚR ## Vrátí průměr vybraných položek databáze.
|
EOMONTH = EOMONTH ## Vrátí pořadové číslo posledního dne měsíce před nebo po zadaném počtu měsíců.
|
||||||
DCOUNT = DPOČET ## Spočítá buňky databáze obsahující čísla.
|
HOUR = HODINA ## Převede pořadové číslo na hodinu.
|
||||||
DCOUNTA = DPOČET2 ## Spočítá buňky databáze, které nejsou prázdné.
|
MINUTE = MINUTA ## Převede pořadové číslo na minutu.
|
||||||
DGET = DZÍSKAT ## Extrahuje z databáze jeden záznam splňující zadaná kritéria.
|
MONTH = MĚSÍC ## Převede pořadové číslo na měsíc.
|
||||||
DMAX = DMAX ## Vrátí maximální hodnotu z vybraných položek databáze.
|
NETWORKDAYS = NETWORKDAYS ## Vrátí počet celých pracovních dní mezi dvěma daty.
|
||||||
DMIN = DMIN ## Vrátí minimální hodnotu z vybraných položek databáze.
|
NOW = NYNÍ ## Vrátí pořadové číslo aktuálního data a času.
|
||||||
DPRODUCT = DSOUČIN ## Vynásobí hodnoty určitého pole záznamů v databázi, které splňují daná kritéria.
|
SECOND = SEKUNDA ## Převede pořadové číslo na sekundu.
|
||||||
DSTDEV = DSMODCH.VÝBĚR ## Odhadne směrodatnou odchylku výběru vybraných položek databáze.
|
TIME = ČAS ## Vrátí pořadové číslo určitého času.
|
||||||
DSTDEVP = DSMODCH ## Vypočte směrodatnou odchylku základního souboru vybraných položek databáze.
|
TIMEVALUE = ČASHODN ## Převede čas ve formě textu na pořadové číslo.
|
||||||
DSUM = DSUMA ## Sečte čísla ve sloupcovém poli záznamů databáze, která splňují daná kritéria.
|
TODAY = DNES ## Vrátí pořadové číslo dnešního data.
|
||||||
DVAR = DVAR.VÝBĚR ## Odhadne rozptyl výběru vybraných položek databáze.
|
WEEKDAY = DENTÝDNE ## Převede pořadové číslo na den v týdnu.
|
||||||
DVARP = DVAR ## Vypočte rozptyl základního souboru vybraných položek databáze.
|
WEEKNUM = WEEKNUM ## Převede pořadové číslo na číslo představující číselnou pozici týdne v roce.
|
||||||
|
WORKDAY = WORKDAY ## Vrátí pořadové číslo data před nebo po zadaném počtu pracovních dní.
|
||||||
|
YEAR = ROK ## Převede pořadové číslo na rok.
|
||||||
##
|
YEARFRAC = YEARFRAC ## Vrátí část roku vyjádřenou zlomkem a představující počet celých dní mezi počátečním a koncovým datem.
|
||||||
## Date and time functions Funkce data a času
|
|
||||||
##
|
|
||||||
DATE = DATUM ## Vrátí pořadové číslo určitého data.
|
##
|
||||||
DATEVALUE = DATUMHODN ## Převede datum ve formě textu na pořadové číslo.
|
## Engineering functions Inženýrské funkce (Technické funkce)
|
||||||
DAY = DEN ## Převede pořadové číslo na den v měsíci.
|
##
|
||||||
DAYS360 = ROK360 ## Vrátí počet dní mezi dvěma daty na základě roku s 360 dny.
|
BESSELI = BESSELI ## Vrátí modifikovanou Besselovu funkci In(x).
|
||||||
EDATE = EDATE ## Vrátí pořadové číslo data, které označuje určený počet měsíců před nebo po počátečním datu.
|
BESSELJ = BESSELJ ## Vrátí modifikovanou Besselovu funkci Jn(x).
|
||||||
EOMONTH = EOMONTH ## Vrátí pořadové číslo posledního dne měsíce před nebo po zadaném počtu měsíců.
|
BESSELK = BESSELK ## Vrátí modifikovanou Besselovu funkci Kn(x).
|
||||||
HOUR = HODINA ## Převede pořadové číslo na hodinu.
|
BESSELY = BESSELY ## Vrátí Besselovu funkci Yn(x).
|
||||||
MINUTE = MINUTA ## Převede pořadové číslo na minutu.
|
BIN2DEC = BIN2DEC ## Převede binární číslo na desítkové.
|
||||||
MONTH = MĚSÍC ## Převede pořadové číslo na měsíc.
|
BIN2HEX = BIN2HEX ## Převede binární číslo na šestnáctkové.
|
||||||
NETWORKDAYS = NETWORKDAYS ## Vrátí počet celých pracovních dní mezi dvěma daty.
|
BIN2OCT = BIN2OCT ## Převede binární číslo na osmičkové.
|
||||||
NOW = NYNÍ ## Vrátí pořadové číslo aktuálního data a času.
|
COMPLEX = COMPLEX ## Převede reálnou a imaginární část na komplexní číslo.
|
||||||
SECOND = SEKUNDA ## Převede pořadové číslo na sekundu.
|
CONVERT = CONVERT ## Převede číslo do jiného jednotkového měrného systému.
|
||||||
TIME = ČAS ## Vrátí pořadové číslo určitého času.
|
DEC2BIN = DEC2BIN ## Převede desítkového čísla na dvojkové
|
||||||
TIMEVALUE = ČASHODN ## Převede čas ve formě textu na pořadové číslo.
|
DEC2HEX = DEC2HEX ## Převede desítkové číslo na šestnáctkové.
|
||||||
TODAY = DNES ## Vrátí pořadové číslo dnešního data.
|
DEC2OCT = DEC2OCT ## Převede desítkové číslo na osmičkové.
|
||||||
WEEKDAY = DENTÝDNE ## Převede pořadové číslo na den v týdnu.
|
DELTA = DELTA ## Testuje rovnost dvou hodnot.
|
||||||
WEEKNUM = WEEKNUM ## Převede pořadové číslo na číslo představující číselnou pozici týdne v roce.
|
ERF = ERF ## Vrátí chybovou funkci.
|
||||||
WORKDAY = WORKDAY ## Vrátí pořadové číslo data před nebo po zadaném počtu pracovních dní.
|
ERFC = ERFC ## Vrátí doplňkovou chybovou funkci.
|
||||||
YEAR = ROK ## Převede pořadové číslo na rok.
|
GESTEP = GESTEP ## Testuje, zda je číslo větší než mezní hodnota.
|
||||||
YEARFRAC = YEARFRAC ## Vrátí část roku vyjádřenou zlomkem a představující počet celých dní mezi počátečním a koncovým datem.
|
HEX2BIN = HEX2BIN ## Převede šestnáctkové číslo na binární.
|
||||||
|
HEX2DEC = HEX2DEC ## Převede šestnáctkové číslo na desítkové.
|
||||||
|
HEX2OCT = HEX2OCT ## Převede šestnáctkové číslo na osmičkové.
|
||||||
##
|
IMABS = IMABS ## Vrátí absolutní hodnotu (modul) komplexního čísla.
|
||||||
## Engineering functions Inženýrské funkce (Technické funkce)
|
IMAGINARY = IMAGINARY ## Vrátí imaginární část komplexního čísla.
|
||||||
##
|
IMARGUMENT = IMARGUMENT ## Vrátí argument théta, úhel vyjádřený v radiánech.
|
||||||
BESSELI = BESSELI ## Vrátí modifikovanou Besselovu funkci In(x).
|
IMCONJUGATE = IMCONJUGATE ## Vrátí komplexně sdružené číslo ke komplexnímu číslu.
|
||||||
BESSELJ = BESSELJ ## Vrátí modifikovanou Besselovu funkci Jn(x).
|
IMCOS = IMCOS ## Vrátí kosinus komplexního čísla.
|
||||||
BESSELK = BESSELK ## Vrátí modifikovanou Besselovu funkci Kn(x).
|
IMDIV = IMDIV ## Vrátí podíl dvou komplexních čísel.
|
||||||
BESSELY = BESSELY ## Vrátí Besselovu funkci Yn(x).
|
IMEXP = IMEXP ## Vrátí exponenciální tvar komplexního čísla.
|
||||||
BIN2DEC = BIN2DEC ## Převede binární číslo na desítkové.
|
IMLN = IMLN ## Vrátí přirozený logaritmus komplexního čísla.
|
||||||
BIN2HEX = BIN2HEX ## Převede binární číslo na šestnáctkové.
|
IMLOG10 = IMLOG10 ## Vrátí dekadický logaritmus komplexního čísla.
|
||||||
BIN2OCT = BIN2OCT ## Převede binární číslo na osmičkové.
|
IMLOG2 = IMLOG2 ## Vrátí logaritmus komplexního čísla při základu 2.
|
||||||
COMPLEX = COMPLEX ## Převede reálnou a imaginární část na komplexní číslo.
|
IMPOWER = IMPOWER ## Vrátí komplexní číslo umocněné na celé číslo.
|
||||||
CONVERT = CONVERT ## Převede číslo do jiného jednotkového měrného systému.
|
IMPRODUCT = IMPRODUCT ## Vrátí součin komplexních čísel.
|
||||||
DEC2BIN = DEC2BIN ## Převede desítkového čísla na dvojkové
|
IMREAL = IMREAL ## Vrátí reálnou část komplexního čísla.
|
||||||
DEC2HEX = DEC2HEX ## Převede desítkové číslo na šestnáctkové.
|
IMSIN = IMSIN ## Vrátí sinus komplexního čísla.
|
||||||
DEC2OCT = DEC2OCT ## Převede desítkové číslo na osmičkové.
|
IMSQRT = IMSQRT ## Vrátí druhou odmocninu komplexního čísla.
|
||||||
DELTA = DELTA ## Testuje rovnost dvou hodnot.
|
IMSUB = IMSUB ## Vrátí rozdíl mezi dvěma komplexními čísly.
|
||||||
ERF = ERF ## Vrátí chybovou funkci.
|
IMSUM = IMSUM ## Vrátí součet dvou komplexních čísel.
|
||||||
ERFC = ERFC ## Vrátí doplňkovou chybovou funkci.
|
OCT2BIN = OCT2BIN ## Převede osmičkové číslo na binární.
|
||||||
GESTEP = GESTEP ## Testuje, zda je číslo větší než mezní hodnota.
|
OCT2DEC = OCT2DEC ## Převede osmičkové číslo na desítkové.
|
||||||
HEX2BIN = HEX2BIN ## Převede šestnáctkové číslo na binární.
|
OCT2HEX = OCT2HEX ## Převede osmičkové číslo na šestnáctkové.
|
||||||
HEX2DEC = HEX2DEC ## Převede šestnáctkové číslo na desítkové.
|
|
||||||
HEX2OCT = HEX2OCT ## Převede šestnáctkové číslo na osmičkové.
|
|
||||||
IMABS = IMABS ## Vrátí absolutní hodnotu (modul) komplexního čísla.
|
##
|
||||||
IMAGINARY = IMAGINARY ## Vrátí imaginární část komplexního čísla.
|
## Financial functions Finanční funkce
|
||||||
IMARGUMENT = IMARGUMENT ## Vrátí argument théta, úhel vyjádřený v radiánech.
|
##
|
||||||
IMCONJUGATE = IMCONJUGATE ## Vrátí komplexně sdružené číslo ke komplexnímu číslu.
|
ACCRINT = ACCRINT ## Vrátí nahromaděný úrok z cenného papíru, ze kterého je úrok placen v pravidelných termínech.
|
||||||
IMCOS = IMCOS ## Vrátí kosinus komplexního čísla.
|
ACCRINTM = ACCRINTM ## Vrátí nahromaděný úrok z cenného papíru, ze kterého je úrok placen k datu splatnosti.
|
||||||
IMDIV = IMDIV ## Vrátí podíl dvou komplexních čísel.
|
AMORDEGRC = AMORDEGRC ## Vrátí lineární amortizaci v každém účetním období pomocí koeficientu amortizace.
|
||||||
IMEXP = IMEXP ## Vrátí exponenciální tvar komplexního čísla.
|
AMORLINC = AMORLINC ## Vrátí lineární amortizaci v každém účetním období.
|
||||||
IMLN = IMLN ## Vrátí přirozený logaritmus komplexního čísla.
|
COUPDAYBS = COUPDAYBS ## Vrátí počet dnů od začátku období placení kupónů do data splatnosti.
|
||||||
IMLOG10 = IMLOG10 ## Vrátí dekadický logaritmus komplexního čísla.
|
COUPDAYS = COUPDAYS ## Vrátí počet dnů v období placení kupónů, které obsahuje den zúčtování.
|
||||||
IMLOG2 = IMLOG2 ## Vrátí logaritmus komplexního čísla při základu 2.
|
COUPDAYSNC = COUPDAYSNC ## Vrátí počet dnů od data zúčtování do následujícího data placení kupónu.
|
||||||
IMPOWER = IMPOWER ## Vrátí komplexní číslo umocněné na celé číslo.
|
COUPNCD = COUPNCD ## Vrátí následující datum placení kupónu po datu zúčtování.
|
||||||
IMPRODUCT = IMPRODUCT ## Vrátí součin komplexních čísel.
|
COUPNUM = COUPNUM ## Vrátí počet kupónů splatných mezi datem zúčtování a datem splatnosti.
|
||||||
IMREAL = IMREAL ## Vrátí reálnou část komplexního čísla.
|
COUPPCD = COUPPCD ## Vrátí předchozí datum placení kupónu před datem zúčtování.
|
||||||
IMSIN = IMSIN ## Vrátí sinus komplexního čísla.
|
CUMIPMT = CUMIPMT ## Vrátí kumulativní úrok splacený mezi dvěma obdobími.
|
||||||
IMSQRT = IMSQRT ## Vrátí druhou odmocninu komplexního čísla.
|
CUMPRINC = CUMPRINC ## Vrátí kumulativní jistinu splacenou mezi dvěma obdobími půjčky.
|
||||||
IMSUB = IMSUB ## Vrátí rozdíl mezi dvěma komplexními čísly.
|
DB = ODPIS.ZRYCH ## Vrátí odpis aktiva za určité období pomocí degresivní metody odpisu s pevným zůstatkem.
|
||||||
IMSUM = IMSUM ## Vrátí součet dvou komplexních čísel.
|
DDB = ODPIS.ZRYCH2 ## Vrátí odpis aktiva za určité období pomocí dvojité degresivní metody odpisu nebo jiné metody, kterou zadáte.
|
||||||
OCT2BIN = OCT2BIN ## Převede osmičkové číslo na binární.
|
DISC = DISC ## Vrátí diskontní sazbu cenného papíru.
|
||||||
OCT2DEC = OCT2DEC ## Převede osmičkové číslo na desítkové.
|
DOLLARDE = DOLLARDE ## Převede částku v korunách vyjádřenou zlomkem na částku v korunách vyjádřenou desetinným číslem.
|
||||||
OCT2HEX = OCT2HEX ## Převede osmičkové číslo na šestnáctkové.
|
DOLLARFR = DOLLARFR ## Převede částku v korunách vyjádřenou desetinným číslem na částku v korunách vyjádřenou zlomkem.
|
||||||
|
DURATION = DURATION ## Vrátí roční dobu cenného papíru s pravidelnými úrokovými sazbami.
|
||||||
|
EFFECT = EFFECT ## Vrátí efektivní roční úrokovou sazbu.
|
||||||
##
|
FV = BUDHODNOTA ## Vrátí budoucí hodnotu investice.
|
||||||
## Financial functions Finanční funkce
|
FVSCHEDULE = FVSCHEDULE ## Vrátí budoucí hodnotu počáteční jistiny po použití série sazeb složitého úroku.
|
||||||
##
|
INTRATE = INTRATE ## Vrátí úrokovou sazbu plně investovaného cenného papíru.
|
||||||
ACCRINT = ACCRINT ## Vrátí nahromaděný úrok z cenného papíru, ze kterého je úrok placen v pravidelných termínech.
|
IPMT = PLATBA.ÚROK ## Vrátí výšku úroku investice za dané období.
|
||||||
ACCRINTM = ACCRINTM ## Vrátí nahromaděný úrok z cenného papíru, ze kterého je úrok placen k datu splatnosti.
|
IRR = MÍRA.VÝNOSNOSTI ## Vrátí vnitřní výnosové procento série peněžních toků.
|
||||||
AMORDEGRC = AMORDEGRC ## Vrátí lineární amortizaci v každém účetním období pomocí koeficientu amortizace.
|
ISPMT = ISPMT ## Vypočte výši úroku z investice zaplaceného během určitého období.
|
||||||
AMORLINC = AMORLINC ## Vrátí lineární amortizaci v každém účetním období.
|
MDURATION = MDURATION ## Vrátí Macauleyho modifikovanou dobu cenného papíru o nominální hodnotě 100 Kč.
|
||||||
COUPDAYBS = COUPDAYBS ## Vrátí počet dnů od začátku období placení kupónů do data splatnosti.
|
MIRR = MOD.MÍRA.VÝNOSNOSTI ## Vrátí vnitřní sazbu výnosu, přičemž kladné a záporné hodnoty peněžních prostředků jsou financovány podle různých sazeb.
|
||||||
COUPDAYS = COUPDAYS ## Vrátí počet dnů v období placení kupónů, které obsahuje den zúčtování.
|
NOMINAL = NOMINAL ## Vrátí nominální roční úrokovou sazbu.
|
||||||
COUPDAYSNC = COUPDAYSNC ## Vrátí počet dnů od data zúčtování do následujícího data placení kupónu.
|
NPER = POČET.OBDOBÍ ## Vrátí počet období pro investici.
|
||||||
COUPNCD = COUPNCD ## Vrátí následující datum placení kupónu po datu zúčtování.
|
NPV = ČISTÁ.SOUČHODNOTA ## Vrátí čistou současnou hodnotu investice vypočítanou na základě série pravidelných peněžních toků a diskontní sazby.
|
||||||
COUPNUM = COUPNUM ## Vrátí počet kupónů splatných mezi datem zúčtování a datem splatnosti.
|
ODDFPRICE = ODDFPRICE ## Vrátí cenu cenného papíru o nominální hodnotě 100 Kč s odlišným prvním obdobím.
|
||||||
COUPPCD = COUPPCD ## Vrátí předchozí datum placení kupónu před datem zúčtování.
|
ODDFYIELD = ODDFYIELD ## Vrátí výnos cenného papíru s odlišným prvním obdobím.
|
||||||
CUMIPMT = CUMIPMT ## Vrátí kumulativní úrok splacený mezi dvěma obdobími.
|
ODDLPRICE = ODDLPRICE ## Vrátí cenu cenného papíru o nominální hodnotě 100 Kč s odlišným posledním obdobím.
|
||||||
CUMPRINC = CUMPRINC ## Vrátí kumulativní jistinu splacenou mezi dvěma obdobími půjčky.
|
ODDLYIELD = ODDLYIELD ## Vrátí výnos cenného papíru s odlišným posledním obdobím.
|
||||||
DB = ODPIS.ZRYCH ## Vrátí odpis aktiva za určité období pomocí degresivní metody odpisu s pevným zůstatkem.
|
PMT = PLATBA ## Vrátí hodnotu pravidelné splátky anuity.
|
||||||
DDB = ODPIS.ZRYCH2 ## Vrátí odpis aktiva za určité období pomocí dvojité degresivní metody odpisu nebo jiné metody, kterou zadáte.
|
PPMT = PLATBA.ZÁKLAD ## Vrátí hodnotu splátky jistiny pro zadanou investici za dané období.
|
||||||
DISC = DISC ## Vrátí diskontní sazbu cenného papíru.
|
PRICE = PRICE ## Vrátí cenu cenného papíru o nominální hodnotě 100 Kč, ze kterého je úrok placen v pravidelných termínech.
|
||||||
DOLLARDE = DOLLARDE ## Převede částku v korunách vyjádřenou zlomkem na částku v korunách vyjádřenou desetinným číslem.
|
PRICEDISC = PRICEDISC ## Vrátí cenu diskontního cenného papíru o nominální hodnotě 100 Kč.
|
||||||
DOLLARFR = DOLLARFR ## Převede částku v korunách vyjádřenou desetinným číslem na částku v korunách vyjádřenou zlomkem.
|
PRICEMAT = PRICEMAT ## Vrátí cenu cenného papíru o nominální hodnotě 100 Kč, ze kterého je úrok placen k datu splatnosti.
|
||||||
DURATION = DURATION ## Vrátí roční dobu cenného papíru s pravidelnými úrokovými sazbami.
|
PV = SOUČHODNOTA ## Vrátí současnou hodnotu investice.
|
||||||
EFFECT = EFFECT ## Vrátí efektivní roční úrokovou sazbu.
|
RATE = ÚROKOVÁ.MÍRA ## Vrátí úrokovou sazbu vztaženou na období anuity.
|
||||||
FV = BUDHODNOTA ## Vrátí budoucí hodnotu investice.
|
RECEIVED = RECEIVED ## Vrátí částku obdrženou k datu splatnosti plně investovaného cenného papíru.
|
||||||
FVSCHEDULE = FVSCHEDULE ## Vrátí budoucí hodnotu počáteční jistiny po použití série sazeb složitého úroku.
|
SLN = ODPIS.LIN ## Vrátí přímé odpisy aktiva pro jedno období.
|
||||||
INTRATE = INTRATE ## Vrátí úrokovou sazbu plně investovaného cenného papíru.
|
SYD = ODPIS.NELIN ## Vrátí směrné číslo ročních odpisů aktiva pro zadané období.
|
||||||
IPMT = PLATBA.ÚROK ## Vrátí výšku úroku investice za dané období.
|
TBILLEQ = TBILLEQ ## Vrátí výnos směnky státní pokladny ekvivalentní výnosu obligace.
|
||||||
IRR = MÍRA.VÝNOSNOSTI ## Vrátí vnitřní výnosové procento série peněžních toků.
|
TBILLPRICE = TBILLPRICE ## Vrátí cenu směnky státní pokladny o nominální hodnotě 100 Kč.
|
||||||
ISPMT = ISPMT ## Vypočte výši úroku z investice zaplaceného během určitého období.
|
TBILLYIELD = TBILLYIELD ## Vrátí výnos směnky státní pokladny.
|
||||||
MDURATION = MDURATION ## Vrátí Macauleyho modifikovanou dobu cenného papíru o nominální hodnotě 100 Kč.
|
VDB = ODPIS.ZA.INT ## Vrátí odpis aktiva pro určité období nebo část období pomocí degresivní metody odpisu.
|
||||||
MIRR = MOD.MÍRA.VÝNOSNOSTI ## Vrátí vnitřní sazbu výnosu, přičemž kladné a záporné hodnoty peněžních prostředků jsou financovány podle různých sazeb.
|
XIRR = XIRR ## Vrátí vnitřní výnosnost pro harmonogram peněžních toků, který nemusí být nutně periodický.
|
||||||
NOMINAL = NOMINAL ## Vrátí nominální roční úrokovou sazbu.
|
XNPV = XNPV ## Vrátí čistou současnou hodnotu pro harmonogram peněžních toků, který nemusí být nutně periodický.
|
||||||
NPER = POČET.OBDOBÍ ## Vrátí počet období pro investici.
|
YIELD = YIELD ## Vrátí výnos cenného papíru, ze kterého je úrok placen v pravidelných termínech.
|
||||||
NPV = ČISTÁ.SOUČHODNOTA ## Vrátí čistou současnou hodnotu investice vypočítanou na základě série pravidelných peněžních toků a diskontní sazby.
|
YIELDDISC = YIELDDISC ## Vrátí roční výnos diskontního cenného papíru, například směnky státní pokladny.
|
||||||
ODDFPRICE = ODDFPRICE ## Vrátí cenu cenného papíru o nominální hodnotě 100 Kč s odlišným prvním obdobím.
|
YIELDMAT = YIELDMAT ## Vrátí roční výnos cenného papíru, ze kterého je úrok placen k datu splatnosti.
|
||||||
ODDFYIELD = ODDFYIELD ## Vrátí výnos cenného papíru s odlišným prvním obdobím.
|
|
||||||
ODDLPRICE = ODDLPRICE ## Vrátí cenu cenného papíru o nominální hodnotě 100 Kč s odlišným posledním obdobím.
|
|
||||||
ODDLYIELD = ODDLYIELD ## Vrátí výnos cenného papíru s odlišným posledním obdobím.
|
##
|
||||||
PMT = PLATBA ## Vrátí hodnotu pravidelné splátky anuity.
|
## Information functions Informační funkce
|
||||||
PPMT = PLATBA.ZÁKLAD ## Vrátí hodnotu splátky jistiny pro zadanou investici za dané období.
|
##
|
||||||
PRICE = PRICE ## Vrátí cenu cenného papíru o nominální hodnotě 100 Kč, ze kterého je úrok placen v pravidelných termínech.
|
CELL = POLÍČKO ## Vrátí informace o formátování, umístění nebo obsahu buňky.
|
||||||
PRICEDISC = PRICEDISC ## Vrátí cenu diskontního cenného papíru o nominální hodnotě 100 Kč.
|
ERROR.TYPE = CHYBA.TYP ## Vrátí číslo odpovídající typu chyby.
|
||||||
PRICEMAT = PRICEMAT ## Vrátí cenu cenného papíru o nominální hodnotě 100 Kč, ze kterého je úrok placen k datu splatnosti.
|
INFO = O.PROSTŘEDÍ ## Vrátí informace o aktuálním pracovním prostředí.
|
||||||
PV = SOUČHODNOTA ## Vrátí současnou hodnotu investice.
|
ISBLANK = JE.PRÁZDNÉ ## Vrátí hodnotu PRAVDA, pokud se argument hodnota odkazuje na prázdnou buňku.
|
||||||
RATE = ÚROKOVÁ.MÍRA ## Vrátí úrokovou sazbu vztaženou na období anuity.
|
ISERR = JE.CHYBA ## Vrátí hodnotu PRAVDA, pokud je argument hodnota libovolná chybová hodnota (kromě #N/A).
|
||||||
RECEIVED = RECEIVED ## Vrátí částku obdrženou k datu splatnosti plně investovaného cenného papíru.
|
ISERROR = JE.CHYBHODN ## Vrátí hodnotu PRAVDA, pokud je argument hodnota libovolná chybová hodnota.
|
||||||
SLN = ODPIS.LIN ## Vrátí přímé odpisy aktiva pro jedno období.
|
ISEVEN = ISEVEN ## Vrátí hodnotu PRAVDA, pokud je číslo sudé.
|
||||||
SYD = ODPIS.NELIN ## Vrátí směrné číslo ročních odpisů aktiva pro zadané období.
|
ISLOGICAL = JE.LOGHODN ## Vrátí hodnotu PRAVDA, pokud je argument hodnota logická hodnota.
|
||||||
TBILLEQ = TBILLEQ ## Vrátí výnos směnky státní pokladny ekvivalentní výnosu obligace.
|
ISNA = JE.NEDEF ## Vrátí hodnotu PRAVDA, pokud je argument hodnota chybová hodnota #N/A.
|
||||||
TBILLPRICE = TBILLPRICE ## Vrátí cenu směnky státní pokladny o nominální hodnotě 100 Kč.
|
ISNONTEXT = JE.NETEXT ## Vrátí hodnotu PRAVDA, pokud argument hodnota není text.
|
||||||
TBILLYIELD = TBILLYIELD ## Vrátí výnos směnky státní pokladny.
|
ISNUMBER = JE.ČÍSLO ## Vrátí hodnotu PRAVDA, pokud je argument hodnota číslo.
|
||||||
VDB = ODPIS.ZA.INT ## Vrátí odpis aktiva pro určité období nebo část období pomocí degresivní metody odpisu.
|
ISODD = ISODD ## Vrátí hodnotu PRAVDA, pokud je číslo liché.
|
||||||
XIRR = XIRR ## Vrátí vnitřní výnosnost pro harmonogram peněžních toků, který nemusí být nutně periodický.
|
ISREF = JE.ODKAZ ## Vrátí hodnotu PRAVDA, pokud je argument hodnota odkaz.
|
||||||
XNPV = XNPV ## Vrátí čistou současnou hodnotu pro harmonogram peněžních toků, který nemusí být nutně periodický.
|
ISTEXT = JE.TEXT ## Vrátí hodnotu PRAVDA, pokud je argument hodnota text.
|
||||||
YIELD = YIELD ## Vrátí výnos cenného papíru, ze kterého je úrok placen v pravidelných termínech.
|
N = N ## Vrátí hodnotu převedenou na číslo.
|
||||||
YIELDDISC = YIELDDISC ## Vrátí roční výnos diskontního cenného papíru, například směnky státní pokladny.
|
NA = NEDEF ## Vrátí chybovou hodnotu #N/A.
|
||||||
YIELDMAT = YIELDMAT ## Vrátí roční výnos cenného papíru, ze kterého je úrok placen k datu splatnosti.
|
TYPE = TYP ## Vrátí číslo označující datový typ hodnoty.
|
||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Information functions Informační funkce
|
## Logical functions Logické funkce
|
||||||
##
|
##
|
||||||
CELL = POLÍČKO ## Vrátí informace o formátování, umístění nebo obsahu buňky.
|
AND = A ## Vrátí hodnotu PRAVDA, mají-li všechny argumenty hodnotu PRAVDA.
|
||||||
ERROR.TYPE = CHYBA.TYP ## Vrátí číslo odpovídající typu chyby.
|
FALSE = NEPRAVDA ## Vrátí logickou hodnotu NEPRAVDA.
|
||||||
INFO = O.PROSTŘEDÍ ## Vrátí informace o aktuálním pracovním prostředí.
|
IF = KDYŽ ## Určí, který logický test má proběhnout.
|
||||||
ISBLANK = JE.PRÁZDNÉ ## Vrátí hodnotu PRAVDA, pokud se argument hodnota odkazuje na prázdnou buňku.
|
IFERROR = IFERROR ## Pokud je vzorec vyhodnocen jako chyba, vrátí zadanou hodnotu. V opačném případě vrátí výsledek vzorce.
|
||||||
ISERR = JE.CHYBA ## Vrátí hodnotu PRAVDA, pokud je argument hodnota libovolná chybová hodnota (kromě #N/A).
|
NOT = NE ## Provede logickou negaci argumentu funkce.
|
||||||
ISERROR = JE.CHYBHODN ## Vrátí hodnotu PRAVDA, pokud je argument hodnota libovolná chybová hodnota.
|
OR = NEBO ## Vrátí hodnotu PRAVDA, je-li alespoň jeden argument roven hodnotě PRAVDA.
|
||||||
ISEVEN = ISEVEN ## Vrátí hodnotu PRAVDA, pokud je číslo sudé.
|
TRUE = PRAVDA ## Vrátí logickou hodnotu PRAVDA.
|
||||||
ISLOGICAL = JE.LOGHODN ## Vrátí hodnotu PRAVDA, pokud je argument hodnota logická hodnota.
|
|
||||||
ISNA = JE.NEDEF ## Vrátí hodnotu PRAVDA, pokud je argument hodnota chybová hodnota #N/A.
|
|
||||||
ISNONTEXT = JE.NETEXT ## Vrátí hodnotu PRAVDA, pokud argument hodnota není text.
|
##
|
||||||
ISNUMBER = JE.ČÍSLO ## Vrátí hodnotu PRAVDA, pokud je argument hodnota číslo.
|
## Lookup and reference functions Vyhledávací funkce
|
||||||
ISODD = ISODD ## Vrátí hodnotu PRAVDA, pokud je číslo liché.
|
##
|
||||||
ISREF = JE.ODKAZ ## Vrátí hodnotu PRAVDA, pokud je argument hodnota odkaz.
|
ADDRESS = ODKAZ ## Vrátí textový odkaz na jednu buňku listu.
|
||||||
ISTEXT = JE.TEXT ## Vrátí hodnotu PRAVDA, pokud je argument hodnota text.
|
AREAS = POČET.BLOKŮ ## Vrátí počet oblastí v odkazu.
|
||||||
N = N ## Vrátí hodnotu převedenou na číslo.
|
CHOOSE = ZVOLIT ## Zvolí hodnotu ze seznamu hodnot.
|
||||||
NA = NEDEF ## Vrátí chybovou hodnotu #N/A.
|
COLUMN = SLOUPEC ## Vrátí číslo sloupce odkazu.
|
||||||
TYPE = TYP ## Vrátí číslo označující datový typ hodnoty.
|
COLUMNS = SLOUPCE ## Vrátí počet sloupců v odkazu.
|
||||||
|
HLOOKUP = VVYHLEDAT ## Prohledá horní řádek matice a vrátí hodnotu určené buňky.
|
||||||
|
HYPERLINK = HYPERTEXTOVÝ.ODKAZ ## Vytvoří zástupce nebo odkaz, který otevře dokument uložený na síťovém serveru, v síti intranet nebo Internet.
|
||||||
##
|
INDEX = INDEX ## Pomocí rejstříku zvolí hodnotu z odkazu nebo matice.
|
||||||
## Logical functions Logické funkce
|
INDIRECT = NEPŘÍMÝ.ODKAZ ## Vrátí odkaz určený textovou hodnotou.
|
||||||
##
|
LOOKUP = VYHLEDAT ## Vyhledá hodnoty ve vektoru nebo matici.
|
||||||
AND = A ## Vrátí hodnotu PRAVDA, mají-li všechny argumenty hodnotu PRAVDA.
|
MATCH = POZVYHLEDAT ## Vyhledá hodnoty v odkazu nebo matici.
|
||||||
FALSE = NEPRAVDA ## Vrátí logickou hodnotu NEPRAVDA.
|
OFFSET = POSUN ## Vrátí posun odkazu od zadaného odkazu.
|
||||||
IF = KDYŽ ## Určí, který logický test má proběhnout.
|
ROW = ŘÁDEK ## Vrátí číslo řádku odkazu.
|
||||||
IFERROR = IFERROR ## Pokud je vzorec vyhodnocen jako chyba, vrátí zadanou hodnotu. V opačném případě vrátí výsledek vzorce.
|
ROWS = ŘÁDKY ## Vrátí počet řádků v odkazu.
|
||||||
NOT = NE ## Provede logickou negaci argumentu funkce.
|
RTD = RTD ## Načte data reálného času z programu, který podporuje automatizaci modelu COM (Automatizace: Způsob práce s objekty určité aplikace z jiné aplikace nebo nástroje pro vývoj. Automatizace (dříve nazývaná automatizace OLE) je počítačovým standardem a je funkcí modelu COM (Component Object Model).).
|
||||||
OR = NEBO ## Vrátí hodnotu PRAVDA, je-li alespoň jeden argument roven hodnotě PRAVDA.
|
TRANSPOSE = TRANSPOZICE ## Vrátí transponovanou matici.
|
||||||
TRUE = PRAVDA ## Vrátí logickou hodnotu PRAVDA.
|
VLOOKUP = SVYHLEDAT ## Prohledá první sloupec matice, přesune kurzor v řádku a vrátí hodnotu buňky.
|
||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Lookup and reference functions Vyhledávací funkce
|
## Math and trigonometry functions Matematické a trigonometrické funkce
|
||||||
##
|
##
|
||||||
ADDRESS = ODKAZ ## Vrátí textový odkaz na jednu buňku listu.
|
ABS = ABS ## Vrátí absolutní hodnotu čísla.
|
||||||
AREAS = POČET.BLOKŮ ## Vrátí počet oblastí v odkazu.
|
ACOS = ARCCOS ## Vrátí arkuskosinus čísla.
|
||||||
CHOOSE = ZVOLIT ## Zvolí hodnotu ze seznamu hodnot.
|
ACOSH = ARCCOSH ## Vrátí hyperbolický arkuskosinus čísla.
|
||||||
COLUMN = SLOUPEC ## Vrátí číslo sloupce odkazu.
|
ASIN = ARCSIN ## Vrátí arkussinus čísla.
|
||||||
COLUMNS = SLOUPCE ## Vrátí počet sloupců v odkazu.
|
ASINH = ARCSINH ## Vrátí hyperbolický arkussinus čísla.
|
||||||
HLOOKUP = VVYHLEDAT ## Prohledá horní řádek matice a vrátí hodnotu určené buňky.
|
ATAN = ARCTG ## Vrátí arkustangens čísla.
|
||||||
HYPERLINK = HYPERTEXTOVÝ.ODKAZ ## Vytvoří zástupce nebo odkaz, který otevře dokument uložený na síťovém serveru, v síti intranet nebo Internet.
|
ATAN2 = ARCTG2 ## Vrátí arkustangens x-ové a y-ové souřadnice.
|
||||||
INDEX = INDEX ## Pomocí rejstříku zvolí hodnotu z odkazu nebo matice.
|
ATANH = ARCTGH ## Vrátí hyperbolický arkustangens čísla.
|
||||||
INDIRECT = NEPŘÍMÝ.ODKAZ ## Vrátí odkaz určený textovou hodnotou.
|
CEILING = ZAOKR.NAHORU ## Zaokrouhlí číslo na nejbližší celé číslo nebo na nejbližší násobek zadané hodnoty.
|
||||||
LOOKUP = VYHLEDAT ## Vyhledá hodnoty ve vektoru nebo matici.
|
COMBIN = KOMBINACE ## Vrátí počet kombinací pro daný počet položek.
|
||||||
MATCH = POZVYHLEDAT ## Vyhledá hodnoty v odkazu nebo matici.
|
COS = COS ## Vrátí kosinus čísla.
|
||||||
OFFSET = POSUN ## Vrátí posun odkazu od zadaného odkazu.
|
COSH = COSH ## Vrátí hyperbolický kosinus čísla.
|
||||||
ROW = ŘÁDEK ## Vrátí číslo řádku odkazu.
|
DEGREES = DEGREES ## Převede radiány na stupně.
|
||||||
ROWS = ŘÁDKY ## Vrátí počet řádků v odkazu.
|
EVEN = ZAOKROUHLIT.NA.SUDÉ ## Zaokrouhlí číslo nahoru na nejbližší celé sudé číslo.
|
||||||
RTD = RTD ## Načte data reálného času z programu, který podporuje automatizaci modelu COM (Automatizace: Způsob práce s objekty určité aplikace z jiné aplikace nebo nástroje pro vývoj. Automatizace (dříve nazývaná automatizace OLE) je počítačovým standardem a je funkcí modelu COM (Component Object Model).).
|
EXP = EXP ## Vrátí základ přirozeného logaritmu e umocněný na zadané číslo.
|
||||||
TRANSPOSE = TRANSPOZICE ## Vrátí transponovanou matici.
|
FACT = FAKTORIÁL ## Vrátí faktoriál čísla.
|
||||||
VLOOKUP = SVYHLEDAT ## Prohledá první sloupec matice, přesune kurzor v řádku a vrátí hodnotu buňky.
|
FACTDOUBLE = FACTDOUBLE ## Vrátí dvojitý faktoriál čísla.
|
||||||
|
FLOOR = ZAOKR.DOLŮ ## Zaokrouhlí číslo dolů, směrem k nule.
|
||||||
|
GCD = GCD ## Vrátí největší společný dělitel.
|
||||||
##
|
INT = CELÁ.ČÁST ## Zaokrouhlí číslo dolů na nejbližší celé číslo.
|
||||||
## Math and trigonometry functions Matematické a trigonometrické funkce
|
LCM = LCM ## Vrátí nejmenší společný násobek.
|
||||||
##
|
LN = LN ## Vrátí přirozený logaritmus čísla.
|
||||||
ABS = ABS ## Vrátí absolutní hodnotu čísla.
|
LOG = LOGZ ## Vrátí logaritmus čísla při zadaném základu.
|
||||||
ACOS = ARCCOS ## Vrátí arkuskosinus čísla.
|
LOG10 = LOG ## Vrátí dekadický logaritmus čísla.
|
||||||
ACOSH = ARCCOSH ## Vrátí hyperbolický arkuskosinus čísla.
|
MDETERM = DETERMINANT ## Vrátí determinant matice.
|
||||||
ASIN = ARCSIN ## Vrátí arkussinus čísla.
|
MINVERSE = INVERZE ## Vrátí inverzní matici.
|
||||||
ASINH = ARCSINH ## Vrátí hyperbolický arkussinus čísla.
|
MMULT = SOUČIN.MATIC ## Vrátí součin dvou matic.
|
||||||
ATAN = ARCTG ## Vrátí arkustangens čísla.
|
MOD = MOD ## Vrátí zbytek po dělení.
|
||||||
ATAN2 = ARCTG2 ## Vrátí arkustangens x-ové a y-ové souřadnice.
|
MROUND = MROUND ## Vrátí číslo zaokrouhlené na požadovaný násobek.
|
||||||
ATANH = ARCTGH ## Vrátí hyperbolický arkustangens čísla.
|
MULTINOMIAL = MULTINOMIAL ## Vrátí mnohočlen z množiny čísel.
|
||||||
CEILING = ZAOKR.NAHORU ## Zaokrouhlí číslo na nejbližší celé číslo nebo na nejbližší násobek zadané hodnoty.
|
ODD = ZAOKROUHLIT.NA.LICHÉ ## Zaokrouhlí číslo nahoru na nejbližší celé liché číslo.
|
||||||
COMBIN = KOMBINACE ## Vrátí počet kombinací pro daný počet položek.
|
PI = PI ## Vrátí hodnotu čísla pí.
|
||||||
COS = COS ## Vrátí kosinus čísla.
|
POWER = POWER ## Umocní číslo na zadanou mocninu.
|
||||||
COSH = COSH ## Vrátí hyperbolický kosinus čísla.
|
PRODUCT = SOUČIN ## Vynásobí argumenty funkce.
|
||||||
DEGREES = DEGREES ## Převede radiány na stupně.
|
QUOTIENT = QUOTIENT ## Vrátí celou část dělení.
|
||||||
EVEN = ZAOKROUHLIT.NA.SUDÉ ## Zaokrouhlí číslo nahoru na nejbližší celé sudé číslo.
|
RADIANS = RADIANS ## Převede stupně na radiány.
|
||||||
EXP = EXP ## Vrátí základ přirozeného logaritmu e umocněný na zadané číslo.
|
RAND = NÁHČÍSLO ## Vrátí náhodné číslo mezi 0 a 1.
|
||||||
FACT = FAKTORIÁL ## Vrátí faktoriál čísla.
|
RANDBETWEEN = RANDBETWEEN ## Vrátí náhodné číslo mezi zadanými čísly.
|
||||||
FACTDOUBLE = FACTDOUBLE ## Vrátí dvojitý faktoriál čísla.
|
ROMAN = ROMAN ## Převede arabskou číslici na římskou ve formátu textu.
|
||||||
FLOOR = ZAOKR.DOLŮ ## Zaokrouhlí číslo dolů, směrem k nule.
|
ROUND = ZAOKROUHLIT ## Zaokrouhlí číslo na zadaný počet číslic.
|
||||||
GCD = GCD ## Vrátí největší společný dělitel.
|
ROUNDDOWN = ROUNDDOWN ## Zaokrouhlí číslo dolů, směrem k nule.
|
||||||
INT = CELÁ.ČÁST ## Zaokrouhlí číslo dolů na nejbližší celé číslo.
|
ROUNDUP = ROUNDUP ## Zaokrouhlí číslo nahoru, směrem od nuly.
|
||||||
LCM = LCM ## Vrátí nejmenší společný násobek.
|
SERIESSUM = SERIESSUM ## Vrátí součet mocninné řady určené podle vzorce.
|
||||||
LN = LN ## Vrátí přirozený logaritmus čísla.
|
SIGN = SIGN ## Vrátí znaménko čísla.
|
||||||
LOG = LOGZ ## Vrátí logaritmus čísla při zadaném základu.
|
SIN = SIN ## Vrátí sinus daného úhlu.
|
||||||
LOG10 = LOG ## Vrátí dekadický logaritmus čísla.
|
SINH = SINH ## Vrátí hyperbolický sinus čísla.
|
||||||
MDETERM = DETERMINANT ## Vrátí determinant matice.
|
SQRT = ODMOCNINA ## Vrátí kladnou druhou odmocninu.
|
||||||
MINVERSE = INVERZE ## Vrátí inverzní matici.
|
SQRTPI = SQRTPI ## Vrátí druhou odmocninu výrazu (číslo * pí).
|
||||||
MMULT = SOUČIN.MATIC ## Vrátí součin dvou matic.
|
SUBTOTAL = SUBTOTAL ## Vrátí souhrn v seznamu nebo databázi.
|
||||||
MOD = MOD ## Vrátí zbytek po dělení.
|
SUM = SUMA ## Sečte argumenty funkce.
|
||||||
MROUND = MROUND ## Vrátí číslo zaokrouhlené na požadovaný násobek.
|
SUMIF = SUMIF ## Sečte buňky vybrané podle zadaných kritérií.
|
||||||
MULTINOMIAL = MULTINOMIAL ## Vrátí mnohočlen z množiny čísel.
|
SUMIFS = SUMIFS ## Sečte buňky určené více zadanými podmínkami.
|
||||||
ODD = ZAOKROUHLIT.NA.LICHÉ ## Zaokrouhlí číslo nahoru na nejbližší celé liché číslo.
|
SUMPRODUCT = SOUČIN.SKALÁRNÍ ## Vrátí součet součinů odpovídajících prvků matic.
|
||||||
PI = PI ## Vrátí hodnotu čísla pí.
|
SUMSQ = SUMA.ČTVERCŮ ## Vrátí součet čtverců argumentů.
|
||||||
POWER = POWER ## Umocní číslo na zadanou mocninu.
|
SUMX2MY2 = SUMX2MY2 ## Vrátí součet rozdílu čtverců odpovídajících hodnot ve dvou maticích.
|
||||||
PRODUCT = SOUČIN ## Vynásobí argumenty funkce.
|
SUMX2PY2 = SUMX2PY2 ## Vrátí součet součtu čtverců odpovídajících hodnot ve dvou maticích.
|
||||||
QUOTIENT = QUOTIENT ## Vrátí celou část dělení.
|
SUMXMY2 = SUMXMY2 ## Vrátí součet čtverců rozdílů odpovídajících hodnot ve dvou maticích.
|
||||||
RADIANS = RADIANS ## Převede stupně na radiány.
|
TAN = TGTG ## Vrátí tangens čísla.
|
||||||
RAND = NÁHČÍSLO ## Vrátí náhodné číslo mezi 0 a 1.
|
TANH = TGH ## Vrátí hyperbolický tangens čísla.
|
||||||
RANDBETWEEN = RANDBETWEEN ## Vrátí náhodné číslo mezi zadanými čísly.
|
TRUNC = USEKNOUT ## Zkrátí číslo na celé číslo.
|
||||||
ROMAN = ROMAN ## Převede arabskou číslici na římskou ve formátu textu.
|
|
||||||
ROUND = ZAOKROUHLIT ## Zaokrouhlí číslo na zadaný počet číslic.
|
|
||||||
ROUNDDOWN = ROUNDDOWN ## Zaokrouhlí číslo dolů, směrem k nule.
|
##
|
||||||
ROUNDUP = ROUNDUP ## Zaokrouhlí číslo nahoru, směrem od nuly.
|
## Statistical functions Statistické funkce
|
||||||
SERIESSUM = SERIESSUM ## Vrátí součet mocninné řady určené podle vzorce.
|
##
|
||||||
SIGN = SIGN ## Vrátí znaménko čísla.
|
AVEDEV = PRŮMODCHYLKA ## Vrátí průměrnou hodnotu absolutních odchylek datových bodů od jejich střední hodnoty.
|
||||||
SIN = SIN ## Vrátí sinus daného úhlu.
|
AVERAGE = PRŮMĚR ## Vrátí průměrnou hodnotu argumentů.
|
||||||
SINH = SINH ## Vrátí hyperbolický sinus čísla.
|
AVERAGEA = AVERAGEA ## Vrátí průměrnou hodnotu argumentů včetně čísel, textu a logických hodnot.
|
||||||
SQRT = ODMOCNINA ## Vrátí kladnou druhou odmocninu.
|
AVERAGEIF = AVERAGEIF ## Vrátí průměrnou hodnotu (aritmetický průměr) všech buněk v oblasti, které vyhovují příslušné podmínce.
|
||||||
SQRTPI = SQRTPI ## Vrátí druhou odmocninu výrazu (číslo * pí).
|
AVERAGEIFS = AVERAGEIFS ## Vrátí průměrnou hodnotu (aritmetický průměr) všech buněk vyhovujících několika podmínkám.
|
||||||
SUBTOTAL = SUBTOTAL ## Vrátí souhrn v seznamu nebo databázi.
|
BETADIST = BETADIST ## Vrátí hodnotu součtového rozdělení beta.
|
||||||
SUM = SUMA ## Sečte argumenty funkce.
|
BETAINV = BETAINV ## Vrátí inverzní hodnotu součtového rozdělení pro zadané rozdělení beta.
|
||||||
SUMIF = SUMIF ## Sečte buňky vybrané podle zadaných kritérií.
|
BINOMDIST = BINOMDIST ## Vrátí hodnotu binomického rozdělení pravděpodobnosti jednotlivých veličin.
|
||||||
SUMIFS = SUMIFS ## Sečte buňky určené více zadanými podmínkami.
|
CHIDIST = CHIDIST ## Vrátí jednostrannou pravděpodobnost rozdělení chí-kvadrát.
|
||||||
SUMPRODUCT = SOUČIN.SKALÁRNÍ ## Vrátí součet součinů odpovídajících prvků matic.
|
CHIINV = CHIINV ## Vrátí hodnotu funkce inverzní k distribuční funkci jednostranné pravděpodobnosti rozdělení chí-kvadrát.
|
||||||
SUMSQ = SUMA.ČTVERCŮ ## Vrátí součet čtverců argumentů.
|
CHITEST = CHITEST ## Vrátí test nezávislosti.
|
||||||
SUMX2MY2 = SUMX2MY2 ## Vrátí součet rozdílu čtverců odpovídajících hodnot ve dvou maticích.
|
CONFIDENCE = CONFIDENCE ## Vrátí interval spolehlivosti pro střední hodnotu základního souboru.
|
||||||
SUMX2PY2 = SUMX2PY2 ## Vrátí součet součtu čtverců odpovídajících hodnot ve dvou maticích.
|
CORREL = CORREL ## Vrátí korelační koeficient mezi dvěma množinami dat.
|
||||||
SUMXMY2 = SUMXMY2 ## Vrátí součet čtverců rozdílů odpovídajících hodnot ve dvou maticích.
|
COUNT = POČET ## Vrátí počet čísel v seznamu argumentů.
|
||||||
TAN = TGTG ## Vrátí tangens čísla.
|
COUNTA = POČET2 ## Vrátí počet hodnot v seznamu argumentů.
|
||||||
TANH = TGH ## Vrátí hyperbolický tangens čísla.
|
COUNTBLANK = COUNTBLANK ## Spočítá počet prázdných buněk v oblasti.
|
||||||
TRUNC = USEKNOUT ## Zkrátí číslo na celé číslo.
|
COUNTIF = COUNTIF ## Spočítá buňky v oblasti, které odpovídají zadaným kritériím.
|
||||||
|
COUNTIFS = COUNTIFS ## Spočítá buňky v oblasti, které odpovídají více kritériím.
|
||||||
|
COVAR = COVAR ## Vrátí hodnotu kovariance, průměrnou hodnotu součinů párových odchylek
|
||||||
##
|
CRITBINOM = CRITBINOM ## Vrátí nejmenší hodnotu, pro kterou má součtové binomické rozdělení hodnotu větší nebo rovnu hodnotě kritéria.
|
||||||
## Statistical functions Statistické funkce
|
DEVSQ = DEVSQ ## Vrátí součet čtverců odchylek.
|
||||||
##
|
EXPONDIST = EXPONDIST ## Vrátí hodnotu exponenciálního rozdělení.
|
||||||
AVEDEV = PRŮMODCHYLKA ## Vrátí průměrnou hodnotu absolutních odchylek datových bodů od jejich střední hodnoty.
|
FDIST = FDIST ## Vrátí hodnotu rozdělení pravděpodobnosti F.
|
||||||
AVERAGE = PRŮMĚR ## Vrátí průměrnou hodnotu argumentů.
|
FINV = FINV ## Vrátí hodnotu inverzní funkce k distribuční funkci rozdělení F.
|
||||||
AVERAGEA = AVERAGEA ## Vrátí průměrnou hodnotu argumentů včetně čísel, textu a logických hodnot.
|
FISHER = FISHER ## Vrátí hodnotu Fisherovy transformace.
|
||||||
AVERAGEIF = AVERAGEIF ## Vrátí průměrnou hodnotu (aritmetický průměr) všech buněk v oblasti, které vyhovují příslušné podmínce.
|
FISHERINV = FISHERINV ## Vrátí hodnotu inverzní funkce k Fisherově transformaci.
|
||||||
AVERAGEIFS = AVERAGEIFS ## Vrátí průměrnou hodnotu (aritmetický průměr) všech buněk vyhovujících několika podmínkám.
|
FORECAST = FORECAST ## Vrátí hodnotu lineárního trendu.
|
||||||
BETADIST = BETADIST ## Vrátí hodnotu součtového rozdělení beta.
|
FREQUENCY = ČETNOSTI ## Vrátí četnost rozdělení jako svislou matici.
|
||||||
BETAINV = BETAINV ## Vrátí inverzní hodnotu součtového rozdělení pro zadané rozdělení beta.
|
FTEST = FTEST ## Vrátí výsledek F-testu.
|
||||||
BINOMDIST = BINOMDIST ## Vrátí hodnotu binomického rozdělení pravděpodobnosti jednotlivých veličin.
|
GAMMADIST = GAMMADIST ## Vrátí hodnotu rozdělení gama.
|
||||||
CHIDIST = CHIDIST ## Vrátí jednostrannou pravděpodobnost rozdělení chí-kvadrát.
|
GAMMAINV = GAMMAINV ## Vrátí hodnotu inverzní funkce k distribuční funkci součtového rozdělení gama.
|
||||||
CHIINV = CHIINV ## Vrátí hodnotu funkce inverzní k distribuční funkci jednostranné pravděpodobnosti rozdělení chí-kvadrát.
|
GAMMALN = GAMMALN ## Vrátí přirozený logaritmus funkce gama, Γ(x).
|
||||||
CHITEST = CHITEST ## Vrátí test nezávislosti.
|
GEOMEAN = GEOMEAN ## Vrátí geometrický průměr.
|
||||||
CONFIDENCE = CONFIDENCE ## Vrátí interval spolehlivosti pro střední hodnotu základního souboru.
|
GROWTH = LOGLINTREND ## Vrátí hodnoty exponenciálního trendu.
|
||||||
CORREL = CORREL ## Vrátí korelační koeficient mezi dvěma množinami dat.
|
HARMEAN = HARMEAN ## Vrátí harmonický průměr.
|
||||||
COUNT = POČET ## Vrátí počet čísel v seznamu argumentů.
|
HYPGEOMDIST = HYPGEOMDIST ## Vrátí hodnotu hypergeometrického rozdělení.
|
||||||
COUNTA = POČET2 ## Vrátí počet hodnot v seznamu argumentů.
|
INTERCEPT = INTERCEPT ## Vrátí úsek lineární regresní čáry.
|
||||||
COUNTBLANK = COUNTBLANK ## Spočítá počet prázdných buněk v oblasti.
|
KURT = KURT ## Vrátí hodnotu excesu množiny dat.
|
||||||
COUNTIF = COUNTIF ## Spočítá buňky v oblasti, které odpovídají zadaným kritériím.
|
LARGE = LARGE ## Vrátí k-tou největší hodnotu množiny dat.
|
||||||
COUNTIFS = COUNTIFS ## Spočítá buňky v oblasti, které odpovídají více kritériím.
|
LINEST = LINREGRESE ## Vrátí parametry lineárního trendu.
|
||||||
COVAR = COVAR ## Vrátí hodnotu kovariance, průměrnou hodnotu součinů párových odchylek
|
LOGEST = LOGLINREGRESE ## Vrátí parametry exponenciálního trendu.
|
||||||
CRITBINOM = CRITBINOM ## Vrátí nejmenší hodnotu, pro kterou má součtové binomické rozdělení hodnotu větší nebo rovnu hodnotě kritéria.
|
LOGINV = LOGINV ## Vrátí inverzní funkci k distribuční funkci logaritmicko-normálního rozdělení.
|
||||||
DEVSQ = DEVSQ ## Vrátí součet čtverců odchylek.
|
LOGNORMDIST = LOGNORMDIST ## Vrátí hodnotu součtového logaritmicko-normálního rozdělení.
|
||||||
EXPONDIST = EXPONDIST ## Vrátí hodnotu exponenciálního rozdělení.
|
MAX = MAX ## Vrátí maximální hodnotu seznamu argumentů.
|
||||||
FDIST = FDIST ## Vrátí hodnotu rozdělení pravděpodobnosti F.
|
MAXA = MAXA ## Vrátí maximální hodnotu seznamu argumentů včetně čísel, textu a logických hodnot.
|
||||||
FINV = FINV ## Vrátí hodnotu inverzní funkce k distribuční funkci rozdělení F.
|
MEDIAN = MEDIAN ## Vrátí střední hodnotu zadaných čísel.
|
||||||
FISHER = FISHER ## Vrátí hodnotu Fisherovy transformace.
|
MIN = MIN ## Vrátí minimální hodnotu seznamu argumentů.
|
||||||
FISHERINV = FISHERINV ## Vrátí hodnotu inverzní funkce k Fisherově transformaci.
|
MINA = MINA ## Vrátí nejmenší hodnotu v seznamu argumentů včetně čísel, textu a logických hodnot.
|
||||||
FORECAST = FORECAST ## Vrátí hodnotu lineárního trendu.
|
MODE = MODE ## Vrátí hodnotu, která se v množině dat vyskytuje nejčastěji.
|
||||||
FREQUENCY = ČETNOSTI ## Vrátí četnost rozdělení jako svislou matici.
|
NEGBINOMDIST = NEGBINOMDIST ## Vrátí hodnotu negativního binomického rozdělení.
|
||||||
FTEST = FTEST ## Vrátí výsledek F-testu.
|
NORMDIST = NORMDIST ## Vrátí hodnotu normálního součtového rozdělení.
|
||||||
GAMMADIST = GAMMADIST ## Vrátí hodnotu rozdělení gama.
|
NORMINV = NORMINV ## Vrátí inverzní funkci k funkci normálního součtového rozdělení.
|
||||||
GAMMAINV = GAMMAINV ## Vrátí hodnotu inverzní funkce k distribuční funkci součtového rozdělení gama.
|
NORMSDIST = NORMSDIST ## Vrátí hodnotu standardního normálního součtového rozdělení.
|
||||||
GAMMALN = GAMMALN ## Vrátí přirozený logaritmus funkce gama, Γ(x).
|
NORMSINV = NORMSINV ## Vrátí inverzní funkci k funkci standardního normálního součtového rozdělení.
|
||||||
GEOMEAN = GEOMEAN ## Vrátí geometrický průměr.
|
PEARSON = PEARSON ## Vrátí Pearsonův výsledný momentový korelační koeficient.
|
||||||
GROWTH = LOGLINTREND ## Vrátí hodnoty exponenciálního trendu.
|
PERCENTILE = PERCENTIL ## Vrátí hodnotu k-tého percentilu hodnot v oblasti.
|
||||||
HARMEAN = HARMEAN ## Vrátí harmonický průměr.
|
PERCENTRANK = PERCENTRANK ## Vrátí pořadí hodnoty v množině dat vyjádřené procentuální částí množiny dat.
|
||||||
HYPGEOMDIST = HYPGEOMDIST ## Vrátí hodnotu hypergeometrického rozdělení.
|
PERMUT = PERMUTACE ## Vrátí počet permutací pro zadaný počet objektů.
|
||||||
INTERCEPT = INTERCEPT ## Vrátí úsek lineární regresní čáry.
|
POISSON = POISSON ## Vrátí hodnotu distribuční funkce Poissonova rozdělení.
|
||||||
KURT = KURT ## Vrátí hodnotu excesu množiny dat.
|
PROB = PROB ## Vrátí pravděpodobnost výskytu hodnot v oblasti mezi dvěma mezními hodnotami.
|
||||||
LARGE = LARGE ## Vrátí k-tou největší hodnotu množiny dat.
|
QUARTILE = QUARTIL ## Vrátí hodnotu kvartilu množiny dat.
|
||||||
LINEST = LINREGRESE ## Vrátí parametry lineárního trendu.
|
RANK = RANK ## Vrátí pořadí čísla v seznamu čísel.
|
||||||
LOGEST = LOGLINREGRESE ## Vrátí parametry exponenciálního trendu.
|
RSQ = RKQ ## Vrátí druhou mocninu Pearsonova výsledného momentového korelačního koeficientu.
|
||||||
LOGINV = LOGINV ## Vrátí inverzní funkci k distribuční funkci logaritmicko-normálního rozdělení.
|
SKEW = SKEW ## Vrátí zešikmení rozdělení.
|
||||||
LOGNORMDIST = LOGNORMDIST ## Vrátí hodnotu součtového logaritmicko-normálního rozdělení.
|
SLOPE = SLOPE ## Vrátí směrnici lineární regresní čáry.
|
||||||
MAX = MAX ## Vrátí maximální hodnotu seznamu argumentů.
|
SMALL = SMALL ## Vrátí k-tou nejmenší hodnotu množiny dat.
|
||||||
MAXA = MAXA ## Vrátí maximální hodnotu seznamu argumentů včetně čísel, textu a logických hodnot.
|
STANDARDIZE = STANDARDIZE ## Vrátí normalizovanou hodnotu.
|
||||||
MEDIAN = MEDIAN ## Vrátí střední hodnotu zadaných čísel.
|
STDEV = SMODCH.VÝBĚR ## Vypočte směrodatnou odchylku výběru.
|
||||||
MIN = MIN ## Vrátí minimální hodnotu seznamu argumentů.
|
STDEVA = STDEVA ## Vypočte směrodatnou odchylku výběru včetně čísel, textu a logických hodnot.
|
||||||
MINA = MINA ## Vrátí nejmenší hodnotu v seznamu argumentů včetně čísel, textu a logických hodnot.
|
STDEVP = SMODCH ## Vypočte směrodatnou odchylku základního souboru.
|
||||||
MODE = MODE ## Vrátí hodnotu, která se v množině dat vyskytuje nejčastěji.
|
STDEVPA = STDEVPA ## Vypočte směrodatnou odchylku základního souboru včetně čísel, textu a logických hodnot.
|
||||||
NEGBINOMDIST = NEGBINOMDIST ## Vrátí hodnotu negativního binomického rozdělení.
|
STEYX = STEYX ## Vrátí standardní chybu předpovězené hodnoty y pro každou hodnotu x v regresi.
|
||||||
NORMDIST = NORMDIST ## Vrátí hodnotu normálního součtového rozdělení.
|
TDIST = TDIST ## Vrátí hodnotu Studentova t-rozdělení.
|
||||||
NORMINV = NORMINV ## Vrátí inverzní funkci k funkci normálního součtového rozdělení.
|
TINV = TINV ## Vrátí inverzní funkci k distribuční funkci Studentova t-rozdělení.
|
||||||
NORMSDIST = NORMSDIST ## Vrátí hodnotu standardního normálního součtového rozdělení.
|
TREND = LINTREND ## Vrátí hodnoty lineárního trendu.
|
||||||
NORMSINV = NORMSINV ## Vrátí inverzní funkci k funkci standardního normálního součtového rozdělení.
|
TRIMMEAN = TRIMMEAN ## Vrátí střední hodnotu vnitřní části množiny dat.
|
||||||
PEARSON = PEARSON ## Vrátí Pearsonův výsledný momentový korelační koeficient.
|
TTEST = TTEST ## Vrátí pravděpodobnost spojenou se Studentovým t-testem.
|
||||||
PERCENTILE = PERCENTIL ## Vrátí hodnotu k-tého percentilu hodnot v oblasti.
|
VAR = VAR.VÝBĚR ## Vypočte rozptyl výběru.
|
||||||
PERCENTRANK = PERCENTRANK ## Vrátí pořadí hodnoty v množině dat vyjádřené procentuální částí množiny dat.
|
VARA = VARA ## Vypočte rozptyl výběru včetně čísel, textu a logických hodnot.
|
||||||
PERMUT = PERMUTACE ## Vrátí počet permutací pro zadaný počet objektů.
|
VARP = VAR ## Vypočte rozptyl základního souboru.
|
||||||
POISSON = POISSON ## Vrátí hodnotu distribuční funkce Poissonova rozdělení.
|
VARPA = VARPA ## Vypočte rozptyl základního souboru včetně čísel, textu a logických hodnot.
|
||||||
PROB = PROB ## Vrátí pravděpodobnost výskytu hodnot v oblasti mezi dvěma mezními hodnotami.
|
WEIBULL = WEIBULL ## Vrátí hodnotu Weibullova rozdělení.
|
||||||
QUARTILE = QUARTIL ## Vrátí hodnotu kvartilu množiny dat.
|
ZTEST = ZTEST ## Vrátí jednostrannou P-hodnotu z-testu.
|
||||||
RANK = RANK ## Vrátí pořadí čísla v seznamu čísel.
|
|
||||||
RSQ = RKQ ## Vrátí druhou mocninu Pearsonova výsledného momentového korelačního koeficientu.
|
|
||||||
SKEW = SKEW ## Vrátí zešikmení rozdělení.
|
##
|
||||||
SLOPE = SLOPE ## Vrátí směrnici lineární regresní čáry.
|
## Text functions Textové funkce
|
||||||
SMALL = SMALL ## Vrátí k-tou nejmenší hodnotu množiny dat.
|
##
|
||||||
STANDARDIZE = STANDARDIZE ## Vrátí normalizovanou hodnotu.
|
ASC = ASC ## Změní znaky s plnou šířkou (dvoubajtové)v řetězci znaků na znaky s poloviční šířkou (jednobajtové).
|
||||||
STDEV = SMODCH.VÝBĚR ## Vypočte směrodatnou odchylku výběru.
|
BAHTTEXT = BAHTTEXT ## Převede číslo na text ve formátu, měny ß (baht).
|
||||||
STDEVA = STDEVA ## Vypočte směrodatnou odchylku výběru včetně čísel, textu a logických hodnot.
|
CHAR = ZNAK ## Vrátí znak určený číslem kódu.
|
||||||
STDEVP = SMODCH ## Vypočte směrodatnou odchylku základního souboru.
|
CLEAN = VYČISTIT ## Odebere z textu všechny netisknutelné znaky.
|
||||||
STDEVPA = STDEVPA ## Vypočte směrodatnou odchylku základního souboru včetně čísel, textu a logických hodnot.
|
CODE = KÓD ## Vrátí číselný kód prvního znaku zadaného textového řetězce.
|
||||||
STEYX = STEYX ## Vrátí standardní chybu předpovězené hodnoty y pro každou hodnotu x v regresi.
|
CONCATENATE = CONCATENATE ## Spojí několik textových položek do jedné.
|
||||||
TDIST = TDIST ## Vrátí hodnotu Studentova t-rozdělení.
|
DOLLAR = KČ ## Převede číslo na text ve formátu měny Kč (česká koruna).
|
||||||
TINV = TINV ## Vrátí inverzní funkci k distribuční funkci Studentova t-rozdělení.
|
EXACT = STEJNÉ ## Zkontroluje, zda jsou dvě textové hodnoty shodné.
|
||||||
TREND = LINTREND ## Vrátí hodnoty lineárního trendu.
|
FIND = NAJÍT ## Nalezne textovou hodnotu uvnitř jiné (rozlišuje malá a velká písmena).
|
||||||
TRIMMEAN = TRIMMEAN ## Vrátí střední hodnotu vnitřní části množiny dat.
|
FINDB = FINDB ## Nalezne textovou hodnotu uvnitř jiné (rozlišuje malá a velká písmena).
|
||||||
TTEST = TTEST ## Vrátí pravděpodobnost spojenou se Studentovým t-testem.
|
FIXED = ZAOKROUHLIT.NA.TEXT ## Zformátuje číslo jako text s pevným počtem desetinných míst.
|
||||||
VAR = VAR.VÝBĚR ## Vypočte rozptyl výběru.
|
JIS = JIS ## Změní znaky s poloviční šířkou (jednobajtové) v řetězci znaků na znaky s plnou šířkou (dvoubajtové).
|
||||||
VARA = VARA ## Vypočte rozptyl výběru včetně čísel, textu a logických hodnot.
|
LEFT = ZLEVA ## Vrátí první znaky textové hodnoty umístěné nejvíce vlevo.
|
||||||
VARP = VAR ## Vypočte rozptyl základního souboru.
|
LEFTB = LEFTB ## Vrátí první znaky textové hodnoty umístěné nejvíce vlevo.
|
||||||
VARPA = VARPA ## Vypočte rozptyl základního souboru včetně čísel, textu a logických hodnot.
|
LEN = DÉLKA ## Vrátí počet znaků textového řetězce.
|
||||||
WEIBULL = WEIBULL ## Vrátí hodnotu Weibullova rozdělení.
|
LENB = LENB ## Vrátí počet znaků textového řetězce.
|
||||||
ZTEST = ZTEST ## Vrátí jednostrannou P-hodnotu z-testu.
|
LOWER = MALÁ ## Převede text na malá písmena.
|
||||||
|
MID = ČÁST ## Vrátí určitý počet znaků textového řetězce počínaje zadaným místem.
|
||||||
|
MIDB = MIDB ## Vrátí určitý počet znaků textového řetězce počínaje zadaným místem.
|
||||||
##
|
PHONETIC = ZVUKOVÉ ## Extrahuje fonetické znaky (furigana) z textového řetězce.
|
||||||
## Text functions Textové funkce
|
PROPER = VELKÁ2 ## Převede první písmeno každého slova textové hodnoty na velké.
|
||||||
##
|
REPLACE = NAHRADIT ## Nahradí znaky uvnitř textu.
|
||||||
ASC = ASC ## Změní znaky s plnou šířkou (dvoubajtové)v řetězci znaků na znaky s poloviční šířkou (jednobajtové).
|
REPLACEB = NAHRADITB ## Nahradí znaky uvnitř textu.
|
||||||
BAHTTEXT = BAHTTEXT ## Převede číslo na text ve formátu, měny ß (baht).
|
REPT = OPAKOVAT ## Zopakuje text podle zadaného počtu opakování.
|
||||||
CHAR = ZNAK ## Vrátí znak určený číslem kódu.
|
RIGHT = ZPRAVA ## Vrátí první znaky textové hodnoty umístěné nejvíce vpravo.
|
||||||
CLEAN = VYČISTIT ## Odebere z textu všechny netisknutelné znaky.
|
RIGHTB = RIGHTB ## Vrátí první znaky textové hodnoty umístěné nejvíce vpravo.
|
||||||
CODE = KÓD ## Vrátí číselný kód prvního znaku zadaného textového řetězce.
|
SEARCH = HLEDAT ## Nalezne textovou hodnotu uvnitř jiné (malá a velká písmena nejsou rozlišována).
|
||||||
CONCATENATE = CONCATENATE ## Spojí několik textových položek do jedné.
|
SEARCHB = SEARCHB ## Nalezne textovou hodnotu uvnitř jiné (malá a velká písmena nejsou rozlišována).
|
||||||
DOLLAR = KČ ## Převede číslo na text ve formátu měny Kč (česká koruna).
|
SUBSTITUTE = DOSADIT ## V textovém řetězci nahradí starý text novým.
|
||||||
EXACT = STEJNÉ ## Zkontroluje, zda jsou dvě textové hodnoty shodné.
|
T = T ## Převede argumenty na text.
|
||||||
FIND = NAJÍT ## Nalezne textovou hodnotu uvnitř jiné (rozlišuje malá a velká písmena).
|
TEXT = HODNOTA.NA.TEXT ## Zformátuje číslo a převede ho na text.
|
||||||
FINDB = FINDB ## Nalezne textovou hodnotu uvnitř jiné (rozlišuje malá a velká písmena).
|
TRIM = PROČISTIT ## Odstraní z textu mezery.
|
||||||
FIXED = ZAOKROUHLIT.NA.TEXT ## Zformátuje číslo jako text s pevným počtem desetinných míst.
|
UPPER = VELKÁ ## Převede text na velká písmena.
|
||||||
JIS = JIS ## Změní znaky s poloviční šířkou (jednobajtové) v řetězci znaků na znaky s plnou šířkou (dvoubajtové).
|
VALUE = HODNOTA ## Převede textový argument na číslo.
|
||||||
LEFT = ZLEVA ## Vrátí první znaky textové hodnoty umístěné nejvíce vlevo.
|
|
||||||
LEFTB = LEFTB ## Vrátí první znaky textové hodnoty umístěné nejvíce vlevo.
|
|
||||||
LEN = DÉLKA ## Vrátí počet znaků textového řetězce.
|
|
||||||
LENB = LENB ## Vrátí počet znaků textového řetězce.
|
|
||||||
LOWER = MALÁ ## Převede text na malá písmena.
|
|
||||||
MID = ČÁST ## Vrátí určitý počet znaků textového řetězce počínaje zadaným místem.
|
|
||||||
MIDB = MIDB ## Vrátí určitý počet znaků textového řetězce počínaje zadaným místem.
|
|
||||||
PHONETIC = ZVUKOVÉ ## Extrahuje fonetické znaky (furigana) z textového řetězce.
|
|
||||||
PROPER = VELKÁ2 ## Převede první písmeno každého slova textové hodnoty na velké.
|
|
||||||
REPLACE = NAHRADIT ## Nahradí znaky uvnitř textu.
|
|
||||||
REPLACEB = NAHRADITB ## Nahradí znaky uvnitř textu.
|
|
||||||
REPT = OPAKOVAT ## Zopakuje text podle zadaného počtu opakování.
|
|
||||||
RIGHT = ZPRAVA ## Vrátí první znaky textové hodnoty umístěné nejvíce vpravo.
|
|
||||||
RIGHTB = RIGHTB ## Vrátí první znaky textové hodnoty umístěné nejvíce vpravo.
|
|
||||||
SEARCH = HLEDAT ## Nalezne textovou hodnotu uvnitř jiné (malá a velká písmena nejsou rozlišována).
|
|
||||||
SEARCHB = SEARCHB ## Nalezne textovou hodnotu uvnitř jiné (malá a velká písmena nejsou rozlišována).
|
|
||||||
SUBSTITUTE = DOSADIT ## V textovém řetězci nahradí starý text novým.
|
|
||||||
T = T ## Převede argumenty na text.
|
|
||||||
TEXT = HODNOTA.NA.TEXT ## Zformátuje číslo a převede ho na text.
|
|
||||||
TRIM = PROČISTIT ## Odstraní z textu mezery.
|
|
||||||
UPPER = VELKÁ ## Převede text na velká písmena.
|
|
||||||
VALUE = HODNOTA ## Převede textový argument na číslo.
|
|
||||||
25
PhpOffice/PhpSpreadsheet/Calculation/locale/da/config
Normal file
25
PhpOffice/PhpSpreadsheet/Calculation/locale/da/config
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
##
|
||||||
|
## PhpSpreadsheet
|
||||||
|
##
|
||||||
|
|
||||||
|
ArgumentSeparator = ;
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## (For future use)
|
||||||
|
##
|
||||||
|
currencySymbol = kr
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## Excel Error Codes (For future use)
|
||||||
|
|
||||||
|
##
|
||||||
|
NULL = #NUL!
|
||||||
|
DIV0 = #DIVISION/0!
|
||||||
|
VALUE = #VÆRDI!
|
||||||
|
REF = #REFERENCE!
|
||||||
|
NAME = #NAVN?
|
||||||
|
NUM = #NUM!
|
||||||
|
NA = #I/T
|
||||||
|
|
@ -1,438 +1,416 @@
|
||||||
##
|
##
|
||||||
## PHPExcel
|
## PhpSpreadsheet
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Data in this file derived from https://www.excel-function-translation.com/
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
##
|
||||||
## modify it under the terms of the GNU Lesser General Public
|
|
||||||
## License as published by the Free Software Foundation; either
|
|
||||||
## version 2.1 of the License, or (at your option) any later version.
|
##
|
||||||
##
|
## Add-in and Automation functions Tilføjelsesprogram- og automatiseringsfunktioner
|
||||||
## This library is distributed in the hope that it will be useful,
|
##
|
||||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
GETPIVOTDATA = HENTPIVOTDATA ## Returnerer data, der er lagret i en pivottabelrapport
|
||||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
## Lesser General Public License for more details.
|
|
||||||
##
|
##
|
||||||
## You should have received a copy of the GNU Lesser General Public
|
## Cube functions Kubefunktioner
|
||||||
## License along with this library; if not, write to the Free Software
|
##
|
||||||
## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
CUBEKPIMEMBER = KUBE.KPI.MEDLEM ## Returnerer navn, egenskab og mål for en KPI-indikator og viser navnet og egenskaben i cellen. En KPI-indikator er en målbar størrelse, f.eks. bruttooverskud pr. måned eller personaleudskiftning pr. kvartal, der bruges til at overvåge en organisations præstationer.
|
||||||
##
|
CUBEMEMBER = KUBE.MEDLEM ## Returnerer et medlem eller en tupel fra kubehierarkiet. Bruges til at validere, om et medlem eller en tupel findes i kuben.
|
||||||
## @category PHPExcel
|
CUBEMEMBERPROPERTY = KUBEMEDLEM.EGENSKAB ## Returnerer værdien af en egenskab for et medlem i kuben. Bruges til at validere, om et medlemsnavn findes i kuben, og returnere den angivne egenskab for medlemmet.
|
||||||
## @package PHPExcel_Calculation
|
CUBERANKEDMEMBER = KUBEMEDLEM.RANG ## Returnerer det n'te eller rangordnede medlem i et sæt. Bruges til at returnere et eller flere elementer i et sæt, f.eks. topsælgere eller de 10 bedste elever.
|
||||||
## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
CUBESET = KUBESÆT ## Definerer et beregnet sæt medlemmer eller tupler ved at sende et sætudtryk til kuben på serveren, som opretter sættet og returnerer det til Microsoft Office Excel.
|
||||||
## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
CUBESETCOUNT = KUBESÆT.TÆL ## Returnerer antallet af elementer i et sæt.
|
||||||
## @version ##VERSION##, ##DATE##
|
CUBEVALUE = KUBEVÆRDI ## Returnerer en sammenlagt (aggregeret) værdi fra en kube.
|
||||||
##
|
|
||||||
## Data in this file derived from http://www.piuha.fi/excel-function-name-translation/
|
|
||||||
##
|
##
|
||||||
##
|
## Database functions Databasefunktioner
|
||||||
|
##
|
||||||
|
DAVERAGE = DMIDDEL ## Returnerer gennemsnittet af markerede databaseposter
|
||||||
##
|
DCOUNT = DTÆL ## Tæller de celler, der indeholder tal, i en database
|
||||||
## Add-in and Automation functions Tilføjelsesprogram- og automatiseringsfunktioner
|
DCOUNTA = DTÆLV ## Tæller udfyldte celler i en database
|
||||||
##
|
DGET = DHENT ## Uddrager en enkelt post, der opfylder de angivne kriterier, fra en database
|
||||||
GETPIVOTDATA = HENTPIVOTDATA ## Returnerer data, der er lagret i en pivottabelrapport
|
DMAX = DMAKS ## Returnerer den største værdi blandt markerede databaseposter
|
||||||
|
DMIN = DMIN ## Returnerer den mindste værdi blandt markerede databaseposter
|
||||||
|
DPRODUCT = DPRODUKT ## Ganger værdierne i et bestemt felt med poster, der opfylder kriterierne i en database
|
||||||
##
|
DSTDEV = DSTDAFV ## Beregner et skøn over standardafvigelsen baseret på en stikprøve af markerede databaseposter
|
||||||
## Cube functions Kubefunktioner
|
DSTDEVP = DSTDAFVP ## Beregner standardafvigelsen baseret på hele populationen af markerede databaseposter
|
||||||
##
|
DSUM = DSUM ## Sammenlægger de tal i feltkolonnen i databasen, der opfylder kriterierne
|
||||||
CUBEKPIMEMBER = KUBE.KPI.MEDLEM ## Returnerer navn, egenskab og mål for en KPI-indikator og viser navnet og egenskaben i cellen. En KPI-indikator er en målbar størrelse, f.eks. bruttooverskud pr. måned eller personaleudskiftning pr. kvartal, der bruges til at overvåge en organisations præstationer.
|
DVAR = DVARIANS ## Beregner varians baseret på en stikprøve af markerede databaseposter
|
||||||
CUBEMEMBER = KUBE.MEDLEM ## Returnerer et medlem eller en tupel fra kubehierarkiet. Bruges til at validere, om et medlem eller en tupel findes i kuben.
|
DVARP = DVARIANSP ## Beregner varians baseret på hele populationen af markerede databaseposter
|
||||||
CUBEMEMBERPROPERTY = KUBEMEDLEM.EGENSKAB ## Returnerer værdien af en egenskab for et medlem i kuben. Bruges til at validere, om et medlemsnavn findes i kuben, og returnere den angivne egenskab for medlemmet.
|
|
||||||
CUBERANKEDMEMBER = KUBEMEDLEM.RANG ## Returnerer det n'te eller rangordnede medlem i et sæt. Bruges til at returnere et eller flere elementer i et sæt, f.eks. topsælgere eller de 10 bedste elever.
|
|
||||||
CUBESET = KUBESÆT ## Definerer et beregnet sæt medlemmer eller tupler ved at sende et sætudtryk til kuben på serveren, som opretter sættet og returnerer det til Microsoft Office Excel.
|
##
|
||||||
CUBESETCOUNT = KUBESÆT.TÆL ## Returnerer antallet af elementer i et sæt.
|
## Date and time functions Dato- og klokkeslætsfunktioner
|
||||||
CUBEVALUE = KUBEVÆRDI ## Returnerer en sammenlagt (aggregeret) værdi fra en kube.
|
##
|
||||||
|
DATE = DATO ## Returnerer serienummeret for en bestemt dato
|
||||||
|
DATEVALUE = DATOVÆRDI ## Konverterer en dato i form af tekst til et serienummer
|
||||||
##
|
DAY = DAG ## Konverterer et serienummer til en dag i måneden
|
||||||
## Database functions Databasefunktioner
|
DAYS360 = DAGE360 ## Beregner antallet af dage mellem to datoer på grundlag af et år med 360 dage
|
||||||
##
|
EDATE = EDATO ## Returnerer serienummeret for den dato, der ligger det angivne antal måneder før eller efter startdatoen
|
||||||
DAVERAGE = DMIDDEL ## Returnerer gennemsnittet af markerede databaseposter
|
EOMONTH = SLUT.PÅ.MÅNED ## Returnerer serienummeret på den sidste dag i måneden før eller efter et angivet antal måneder
|
||||||
DCOUNT = DTÆL ## Tæller de celler, der indeholder tal, i en database
|
HOUR = TIME ## Konverterer et serienummer til en time
|
||||||
DCOUNTA = DTÆLV ## Tæller udfyldte celler i en database
|
MINUTE = MINUT ## Konverterer et serienummer til et minut
|
||||||
DGET = DHENT ## Uddrager en enkelt post, der opfylder de angivne kriterier, fra en database
|
MONTH = MÅNED ## Konverterer et serienummer til en måned
|
||||||
DMAX = DMAKS ## Returnerer den største værdi blandt markerede databaseposter
|
NETWORKDAYS = ANTAL.ARBEJDSDAGE ## Returnerer antallet af hele arbejdsdage mellem to datoer
|
||||||
DMIN = DMIN ## Returnerer den mindste værdi blandt markerede databaseposter
|
NOW = NU ## Returnerer serienummeret for den aktuelle dato eller det aktuelle klokkeslæt
|
||||||
DPRODUCT = DPRODUKT ## Ganger værdierne i et bestemt felt med poster, der opfylder kriterierne i en database
|
SECOND = SEKUND ## Konverterer et serienummer til et sekund
|
||||||
DSTDEV = DSTDAFV ## Beregner et skøn over standardafvigelsen baseret på en stikprøve af markerede databaseposter
|
TIME = KLOKKESLÆT ## Returnerer serienummeret for et bestemt klokkeslæt
|
||||||
DSTDEVP = DSTDAFVP ## Beregner standardafvigelsen baseret på hele populationen af markerede databaseposter
|
TIMEVALUE = TIDSVÆRDI ## Konverterer et klokkeslæt i form af tekst til et serienummer
|
||||||
DSUM = DSUM ## Sammenlægger de tal i feltkolonnen i databasen, der opfylder kriterierne
|
TODAY = IDAG ## Returnerer serienummeret for dags dato
|
||||||
DVAR = DVARIANS ## Beregner varians baseret på en stikprøve af markerede databaseposter
|
WEEKDAY = UGEDAG ## Konverterer et serienummer til en ugedag
|
||||||
DVARP = DVARIANSP ## Beregner varians baseret på hele populationen af markerede databaseposter
|
WEEKNUM = UGE.NR ## Konverterer et serienummer til et tal, der angiver ugenummeret i året
|
||||||
|
WORKDAY = ARBEJDSDAG ## Returnerer serienummeret for dagen før eller efter det angivne antal arbejdsdage
|
||||||
|
YEAR = ÅR ## Konverterer et serienummer til et år
|
||||||
##
|
YEARFRAC = ÅR.BRØK ## Returnerer årsbrøken, der repræsenterer antallet af hele dage mellem startdato og slutdato
|
||||||
## Date and time functions Dato- og klokkeslætsfunktioner
|
|
||||||
##
|
|
||||||
DATE = DATO ## Returnerer serienummeret for en bestemt dato
|
##
|
||||||
DATEVALUE = DATOVÆRDI ## Konverterer en dato i form af tekst til et serienummer
|
## Engineering functions Tekniske funktioner
|
||||||
DAY = DAG ## Konverterer et serienummer til en dag i måneden
|
##
|
||||||
DAYS360 = DAGE360 ## Beregner antallet af dage mellem to datoer på grundlag af et år med 360 dage
|
BESSELI = BESSELI ## Returnerer den modificerede Bessel-funktion In(x)
|
||||||
EDATE = EDATO ## Returnerer serienummeret for den dato, der ligger det angivne antal måneder før eller efter startdatoen
|
BESSELJ = BESSELJ ## Returnerer Bessel-funktionen Jn(x)
|
||||||
EOMONTH = SLUT.PÅ.MÅNED ## Returnerer serienummeret på den sidste dag i måneden før eller efter et angivet antal måneder
|
BESSELK = BESSELK ## Returnerer den modificerede Bessel-funktion Kn(x)
|
||||||
HOUR = TIME ## Konverterer et serienummer til en time
|
BESSELY = BESSELY ## Returnerer Bessel-funktionen Yn(x)
|
||||||
MINUTE = MINUT ## Konverterer et serienummer til et minut
|
BIN2DEC = BIN.TIL.DEC ## Konverterer et binært tal til et decimaltal
|
||||||
MONTH = MÅNED ## Konverterer et serienummer til en måned
|
BIN2HEX = BIN.TIL.HEX ## Konverterer et binært tal til et heksadecimalt tal
|
||||||
NETWORKDAYS = ANTAL.ARBEJDSDAGE ## Returnerer antallet af hele arbejdsdage mellem to datoer
|
BIN2OCT = BIN.TIL.OKT ## Konverterer et binært tal til et oktaltal.
|
||||||
NOW = NU ## Returnerer serienummeret for den aktuelle dato eller det aktuelle klokkeslæt
|
COMPLEX = KOMPLEKS ## Konverterer reelle og imaginære koefficienter til et komplekst tal
|
||||||
SECOND = SEKUND ## Konverterer et serienummer til et sekund
|
CONVERT = KONVERTER ## Konverterer et tal fra én måleenhed til en anden
|
||||||
TIME = KLOKKESLÆT ## Returnerer serienummeret for et bestemt klokkeslæt
|
DEC2BIN = DEC.TIL.BIN ## Konverterer et decimaltal til et binært tal
|
||||||
TIMEVALUE = TIDSVÆRDI ## Konverterer et klokkeslæt i form af tekst til et serienummer
|
DEC2HEX = DEC.TIL.HEX ## Konverterer et decimaltal til et heksadecimalt tal
|
||||||
TODAY = IDAG ## Returnerer serienummeret for dags dato
|
DEC2OCT = DEC.TIL.OKT ## Konverterer et decimaltal til et oktaltal
|
||||||
WEEKDAY = UGEDAG ## Konverterer et serienummer til en ugedag
|
DELTA = DELTA ## Tester, om to værdier er ens
|
||||||
WEEKNUM = UGE.NR ## Konverterer et serienummer til et tal, der angiver ugenummeret i året
|
ERF = FEJLFUNK ## Returner fejlfunktionen
|
||||||
WORKDAY = ARBEJDSDAG ## Returnerer serienummeret for dagen før eller efter det angivne antal arbejdsdage
|
ERFC = FEJLFUNK.KOMP ## Returnerer den komplementære fejlfunktion
|
||||||
YEAR = ÅR ## Konverterer et serienummer til et år
|
GESTEP = GETRIN ## Tester, om et tal er større end en grænseværdi
|
||||||
YEARFRAC = ÅR.BRØK ## Returnerer årsbrøken, der repræsenterer antallet af hele dage mellem startdato og slutdato
|
HEX2BIN = HEX.TIL.BIN ## Konverterer et heksadecimalt tal til et binært tal
|
||||||
|
HEX2DEC = HEX.TIL.DEC ## Konverterer et decimaltal til et heksadecimalt tal
|
||||||
|
HEX2OCT = HEX.TIL.OKT ## Konverterer et heksadecimalt tal til et oktaltal
|
||||||
##
|
IMABS = IMAGABS ## Returnerer den absolutte værdi (modulus) for et komplekst tal
|
||||||
## Engineering functions Tekniske funktioner
|
IMAGINARY = IMAGINÆR ## Returnerer den imaginære koefficient for et komplekst tal
|
||||||
##
|
IMARGUMENT = IMAGARGUMENT ## Returnerer argumentet theta, en vinkel udtrykt i radianer
|
||||||
BESSELI = BESSELI ## Returnerer den modificerede Bessel-funktion In(x)
|
IMCONJUGATE = IMAGKONJUGERE ## Returnerer den komplekse konjugation af et komplekst tal
|
||||||
BESSELJ = BESSELJ ## Returnerer Bessel-funktionen Jn(x)
|
IMCOS = IMAGCOS ## Returnerer et komplekst tals cosinus
|
||||||
BESSELK = BESSELK ## Returnerer den modificerede Bessel-funktion Kn(x)
|
IMDIV = IMAGDIV ## Returnerer kvotienten for to komplekse tal
|
||||||
BESSELY = BESSELY ## Returnerer Bessel-funktionen Yn(x)
|
IMEXP = IMAGEKSP ## Returnerer et komplekst tals eksponentialfunktion
|
||||||
BIN2DEC = BIN.TIL.DEC ## Konverterer et binært tal til et decimaltal
|
IMLN = IMAGLN ## Returnerer et komplekst tals naturlige logaritme
|
||||||
BIN2HEX = BIN.TIL.HEX ## Konverterer et binært tal til et heksadecimalt tal
|
IMLOG10 = IMAGLOG10 ## Returnerer et komplekst tals sædvanlige logaritme (titalslogaritme)
|
||||||
BIN2OCT = BIN.TIL.OKT ## Konverterer et binært tal til et oktaltal.
|
IMLOG2 = IMAGLOG2 ## Returnerer et komplekst tals sædvanlige logaritme (totalslogaritme)
|
||||||
COMPLEX = KOMPLEKS ## Konverterer reelle og imaginære koefficienter til et komplekst tal
|
IMPOWER = IMAGPOTENS ## Returnerer et komplekst tal opløftet i en heltalspotens
|
||||||
CONVERT = KONVERTER ## Konverterer et tal fra én måleenhed til en anden
|
IMPRODUCT = IMAGPRODUKT ## Returnerer produktet af komplekse tal
|
||||||
DEC2BIN = DEC.TIL.BIN ## Konverterer et decimaltal til et binært tal
|
IMREAL = IMAGREELT ## Returnerer den reelle koefficient for et komplekst tal
|
||||||
DEC2HEX = DEC.TIL.HEX ## Konverterer et decimaltal til et heksadecimalt tal
|
IMSIN = IMAGSIN ## Returnerer et komplekst tals sinus
|
||||||
DEC2OCT = DEC.TIL.OKT ## Konverterer et decimaltal til et oktaltal
|
IMSQRT = IMAGKVROD ## Returnerer et komplekst tals kvadratrod
|
||||||
DELTA = DELTA ## Tester, om to værdier er ens
|
IMSUB = IMAGSUB ## Returnerer forskellen mellem to komplekse tal
|
||||||
ERF = FEJLFUNK ## Returner fejlfunktionen
|
IMSUM = IMAGSUM ## Returnerer summen af komplekse tal
|
||||||
ERFC = FEJLFUNK.KOMP ## Returnerer den komplementære fejlfunktion
|
OCT2BIN = OKT.TIL.BIN ## Konverterer et oktaltal til et binært tal
|
||||||
GESTEP = GETRIN ## Tester, om et tal er større end en grænseværdi
|
OCT2DEC = OKT.TIL.DEC ## Konverterer et oktaltal til et decimaltal
|
||||||
HEX2BIN = HEX.TIL.BIN ## Konverterer et heksadecimalt tal til et binært tal
|
OCT2HEX = OKT.TIL.HEX ## Konverterer et oktaltal til et heksadecimalt tal
|
||||||
HEX2DEC = HEX.TIL.DEC ## Konverterer et decimaltal til et heksadecimalt tal
|
|
||||||
HEX2OCT = HEX.TIL.OKT ## Konverterer et heksadecimalt tal til et oktaltal
|
|
||||||
IMABS = IMAGABS ## Returnerer den absolutte værdi (modulus) for et komplekst tal
|
##
|
||||||
IMAGINARY = IMAGINÆR ## Returnerer den imaginære koefficient for et komplekst tal
|
## Financial functions Finansielle funktioner
|
||||||
IMARGUMENT = IMAGARGUMENT ## Returnerer argumentet theta, en vinkel udtrykt i radianer
|
##
|
||||||
IMCONJUGATE = IMAGKONJUGERE ## Returnerer den komplekse konjugation af et komplekst tal
|
ACCRINT = PÅLØBRENTE ## Returnerer den påløbne rente for et værdipapir med periodiske renteudbetalinger
|
||||||
IMCOS = IMAGCOS ## Returnerer et komplekst tals cosinus
|
ACCRINTM = PÅLØBRENTE.UDLØB ## Returnerer den påløbne rente for et værdipapir, hvor renteudbetalingen finder sted ved papirets udløb
|
||||||
IMDIV = IMAGDIV ## Returnerer kvotienten for to komplekse tal
|
AMORDEGRC = AMORDEGRC ## Returnerer afskrivningsbeløbet for hver regnskabsperiode ved hjælp af en afskrivningskoefficient
|
||||||
IMEXP = IMAGEKSP ## Returnerer et komplekst tals eksponentialfunktion
|
AMORLINC = AMORLINC ## Returnerer afskrivningsbeløbet for hver regnskabsperiode
|
||||||
IMLN = IMAGLN ## Returnerer et komplekst tals naturlige logaritme
|
COUPDAYBS = KUPONDAGE.SA ## Returnerer antallet af dage fra starten af kuponperioden til afregningsdatoen
|
||||||
IMLOG10 = IMAGLOG10 ## Returnerer et komplekst tals sædvanlige logaritme (titalslogaritme)
|
COUPDAYS = KUPONDAGE.A ## Returnerer antallet af dage fra begyndelsen af kuponperioden til afregningsdatoen
|
||||||
IMLOG2 = IMAGLOG2 ## Returnerer et komplekst tals sædvanlige logaritme (totalslogaritme)
|
COUPDAYSNC = KUPONDAGE.ANK ## Returnerer antallet af dage i den kuponperiode, der indeholder afregningsdatoen
|
||||||
IMPOWER = IMAGPOTENS ## Returnerer et komplekst tal opløftet i en heltalspotens
|
COUPNCD = KUPONDAG.NÆSTE ## Returnerer den næste kupondato efter afregningsdatoen
|
||||||
IMPRODUCT = IMAGPRODUKT ## Returnerer produktet af komplekse tal
|
COUPNUM = KUPONBETALINGER ## Returnerer antallet af kuponudbetalinger mellem afregnings- og udløbsdatoen
|
||||||
IMREAL = IMAGREELT ## Returnerer den reelle koefficient for et komplekst tal
|
COUPPCD = KUPONDAG.FORRIGE ## Returnerer den forrige kupondato før afregningsdatoen
|
||||||
IMSIN = IMAGSIN ## Returnerer et komplekst tals sinus
|
CUMIPMT = AKKUM.RENTE ## Returnerer den akkumulerede rente, der betales på et lån mellem to perioder
|
||||||
IMSQRT = IMAGKVROD ## Returnerer et komplekst tals kvadratrod
|
CUMPRINC = AKKUM.HOVEDSTOL ## Returnerer den akkumulerede nedbringelse af hovedstol mellem to perioder
|
||||||
IMSUB = IMAGSUB ## Returnerer forskellen mellem to komplekse tal
|
DB = DB ## Returnerer afskrivningen på et aktiv i en angivet periode ved anvendelse af saldometoden
|
||||||
IMSUM = IMAGSUM ## Returnerer summen af komplekse tal
|
DDB = DSA ## Returnerer afskrivningsbeløbet for et aktiv over en bestemt periode ved anvendelse af dobbeltsaldometoden eller en anden afskrivningsmetode, som du angiver
|
||||||
OCT2BIN = OKT.TIL.BIN ## Konverterer et oktaltal til et binært tal
|
DISC = DISKONTO ## Returnerer et værdipapirs diskonto
|
||||||
OCT2DEC = OKT.TIL.DEC ## Konverterer et oktaltal til et decimaltal
|
DOLLARDE = KR.DECIMAL ## Konverterer en kronepris udtrykt som brøk til en kronepris udtrykt som decimaltal
|
||||||
OCT2HEX = OKT.TIL.HEX ## Konverterer et oktaltal til et heksadecimalt tal
|
DOLLARFR = KR.BRØK ## Konverterer en kronepris udtrykt som decimaltal til en kronepris udtrykt som brøk
|
||||||
|
DURATION = VARIGHED ## Returnerer den årlige løbetid for et værdipapir med periodiske renteudbetalinger
|
||||||
|
EFFECT = EFFEKTIV.RENTE ## Returnerer den årlige effektive rente
|
||||||
##
|
FV = FV ## Returnerer fremtidsværdien af en investering
|
||||||
## Financial functions Finansielle funktioner
|
FVSCHEDULE = FVTABEL ## Returnerer den fremtidige værdi af en hovedstol, når der er tilskrevet rente og rentes rente efter forskellige rentesatser
|
||||||
##
|
INTRATE = RENTEFOD ## Returnerer renten på et fuldt ud investeret værdipapir
|
||||||
ACCRINT = PÅLØBRENTE ## Returnerer den påløbne rente for et værdipapir med periodiske renteudbetalinger
|
IPMT = R.YDELSE ## Returnerer renten fra en investering for en given periode
|
||||||
ACCRINTM = PÅLØBRENTE.UDLØB ## Returnerer den påløbne rente for et værdipapir, hvor renteudbetalingen finder sted ved papirets udløb
|
IRR = IA ## Returnerer den interne rente for en række pengestrømme
|
||||||
AMORDEGRC = AMORDEGRC ## Returnerer afskrivningsbeløbet for hver regnskabsperiode ved hjælp af en afskrivningskoefficient
|
ISPMT = ISPMT ## Beregner den betalte rente i løbet af en bestemt investeringsperiode
|
||||||
AMORLINC = AMORLINC ## Returnerer afskrivningsbeløbet for hver regnskabsperiode
|
MDURATION = MVARIGHED ## Returnerer Macauleys modificerede løbetid for et værdipapir med en formodet pari på kr. 100
|
||||||
COUPDAYBS = KUPONDAGE.SA ## Returnerer antallet af dage fra starten af kuponperioden til afregningsdatoen
|
MIRR = MIA ## Returnerer den interne forrentning, hvor positive og negative pengestrømme finansieres til forskellig rente
|
||||||
COUPDAYS = KUPONDAGE.A ## Returnerer antallet af dage fra begyndelsen af kuponperioden til afregningsdatoen
|
NOMINAL = NOMINEL ## Returnerer den årlige nominelle rente
|
||||||
COUPDAYSNC = KUPONDAGE.ANK ## Returnerer antallet af dage i den kuponperiode, der indeholder afregningsdatoen
|
NPER = NPER ## Returnerer antallet af perioder for en investering
|
||||||
COUPNCD = KUPONDAG.NÆSTE ## Returnerer den næste kupondato efter afregningsdatoen
|
NPV = NUTIDSVÆRDI ## Returnerer nettonutidsværdien for en investering baseret på en række periodiske pengestrømme og en diskonteringssats
|
||||||
COUPNUM = KUPONBETALINGER ## Returnerer antallet af kuponudbetalinger mellem afregnings- og udløbsdatoen
|
ODDFPRICE = ULIGE.KURS.PÅLYDENDE ## Returnerer kursen pr. kr. 100 nominel værdi for et værdipapir med en ulige (kort eller lang) første periode
|
||||||
COUPPCD = KUPONDAG.FORRIGE ## Returnerer den forrige kupondato før afregningsdatoen
|
ODDFYIELD = ULIGE.FØRSTE.AFKAST ## Returnerer afkastet for et værdipapir med ulige første periode
|
||||||
CUMIPMT = AKKUM.RENTE ## Returnerer den akkumulerede rente, der betales på et lån mellem to perioder
|
ODDLPRICE = ULIGE.SIDSTE.KURS ## Returnerer kursen pr. kr. 100 nominel værdi for et værdipapir med ulige sidste periode
|
||||||
CUMPRINC = AKKUM.HOVEDSTOL ## Returnerer den akkumulerede nedbringelse af hovedstol mellem to perioder
|
ODDLYIELD = ULIGE.SIDSTE.AFKAST ## Returnerer afkastet for et værdipapir med ulige sidste periode
|
||||||
DB = DB ## Returnerer afskrivningen på et aktiv i en angivet periode ved anvendelse af saldometoden
|
PMT = YDELSE ## Returnerer renten fra en investering for en given periode
|
||||||
DDB = DSA ## Returnerer afskrivningsbeløbet for et aktiv over en bestemt periode ved anvendelse af dobbeltsaldometoden eller en anden afskrivningsmetode, som du angiver
|
PPMT = H.YDELSE ## Returnerer ydelsen på hovedstolen for en investering i en given periode
|
||||||
DISC = DISKONTO ## Returnerer et værdipapirs diskonto
|
PRICE = KURS ## Returnerer kursen pr. kr 100 nominel værdi for et værdipapir med periodiske renteudbetalinger
|
||||||
DOLLARDE = KR.DECIMAL ## Konverterer en kronepris udtrykt som brøk til en kronepris udtrykt som decimaltal
|
PRICEDISC = KURS.DISKONTO ## Returnerer kursen pr. kr 100 nominel værdi for et diskonteret værdipapir
|
||||||
DOLLARFR = KR.BRØK ## Konverterer en kronepris udtrykt som decimaltal til en kronepris udtrykt som brøk
|
PRICEMAT = KURS.UDLØB ## Returnerer kursen pr. kr 100 nominel værdi for et værdipapir, hvor renten udbetales ved papirets udløb
|
||||||
DURATION = VARIGHED ## Returnerer den årlige løbetid for et værdipapir med periodiske renteudbetalinger
|
PV = NV ## Returnerer den nuværende værdi af en investering
|
||||||
EFFECT = EFFEKTIV.RENTE ## Returnerer den årlige effektive rente
|
RATE = RENTE ## Returnerer renten i hver periode for en annuitet
|
||||||
FV = FV ## Returnerer fremtidsværdien af en investering
|
RECEIVED = MODTAGET.VED.UDLØB ## Returnerer det beløb, der modtages ved udløbet af et fuldt ud investeret værdipapir
|
||||||
FVSCHEDULE = FVTABEL ## Returnerer den fremtidige værdi af en hovedstol, når der er tilskrevet rente og rentes rente efter forskellige rentesatser
|
SLN = LA ## Returnerer den lineære afskrivning for et aktiv i en enkelt periode
|
||||||
INTRATE = RENTEFOD ## Returnerer renten på et fuldt ud investeret værdipapir
|
SYD = ÅRSAFSKRIVNING ## Returnerer den årlige afskrivning på et aktiv i en bestemt periode
|
||||||
IPMT = R.YDELSE ## Returnerer renten fra en investering for en given periode
|
TBILLEQ = STATSOBLIGATION ## Returnerer det obligationsækvivalente afkast for en statsobligation
|
||||||
IRR = IA ## Returnerer den interne rente for en række pengestrømme
|
TBILLPRICE = STATSOBLIGATION.KURS ## Returnerer kursen pr. kr 100 nominel værdi for en statsobligation
|
||||||
ISPMT = ISPMT ## Beregner den betalte rente i løbet af en bestemt investeringsperiode
|
TBILLYIELD = STATSOBLIGATION.AFKAST ## Returnerer en afkastet på en statsobligation
|
||||||
MDURATION = MVARIGHED ## Returnerer Macauleys modificerede løbetid for et værdipapir med en formodet pari på kr. 100
|
VDB = VSA ## Returnerer afskrivningen på et aktiv i en angivet periode, herunder delperioder, ved brug af dobbeltsaldometoden
|
||||||
MIRR = MIA ## Returnerer den interne forrentning, hvor positive og negative pengestrømme finansieres til forskellig rente
|
XIRR = INTERN.RENTE ## Returnerer den interne rente for en plan over pengestrømme, der ikke behøver at være periodiske
|
||||||
NOMINAL = NOMINEL ## Returnerer den årlige nominelle rente
|
XNPV = NETTO.NUTIDSVÆRDI ## Returnerer nutidsværdien for en plan over pengestrømme, der ikke behøver at være periodiske
|
||||||
NPER = NPER ## Returnerer antallet af perioder for en investering
|
YIELD = AFKAST ## Returnerer afkastet for et værdipapir med periodiske renteudbetalinger
|
||||||
NPV = NUTIDSVÆRDI ## Returnerer nettonutidsværdien for en investering baseret på en række periodiske pengestrømme og en diskonteringssats
|
YIELDDISC = AFKAST.DISKONTO ## Returnerer det årlige afkast for et diskonteret værdipapir, f.eks. en statsobligation
|
||||||
ODDFPRICE = ULIGE.KURS.PÅLYDENDE ## Returnerer kursen pr. kr. 100 nominel værdi for et værdipapir med en ulige (kort eller lang) første periode
|
YIELDMAT = AFKAST.UDLØBSDATO ## Returnerer det årlige afkast for et værdipapir, hvor renten udbetales ved papirets udløb
|
||||||
ODDFYIELD = ULIGE.FØRSTE.AFKAST ## Returnerer afkastet for et værdipapir med ulige første periode
|
|
||||||
ODDLPRICE = ULIGE.SIDSTE.KURS ## Returnerer kursen pr. kr. 100 nominel værdi for et værdipapir med ulige sidste periode
|
|
||||||
ODDLYIELD = ULIGE.SIDSTE.AFKAST ## Returnerer afkastet for et værdipapir med ulige sidste periode
|
##
|
||||||
PMT = YDELSE ## Returnerer renten fra en investering for en given periode
|
## Information functions Informationsfunktioner
|
||||||
PPMT = H.YDELSE ## Returnerer ydelsen på hovedstolen for en investering i en given periode
|
##
|
||||||
PRICE = KURS ## Returnerer kursen pr. kr 100 nominel værdi for et værdipapir med periodiske renteudbetalinger
|
CELL = CELLE ## Returnerer oplysninger om formatering, placering eller indhold af en celle
|
||||||
PRICEDISC = KURS.DISKONTO ## Returnerer kursen pr. kr 100 nominel værdi for et diskonteret værdipapir
|
ERROR.TYPE = FEJLTYPE ## Returnerer et tal, der svarer til en fejltype
|
||||||
PRICEMAT = KURS.UDLØB ## Returnerer kursen pr. kr 100 nominel værdi for et værdipapir, hvor renten udbetales ved papirets udløb
|
INFO = INFO ## Returnerer oplysninger om det aktuelle operativmiljø
|
||||||
PV = NV ## Returnerer den nuværende værdi af en investering
|
ISBLANK = ER.TOM ## Returnerer SAND, hvis værdien er tom
|
||||||
RATE = RENTE ## Returnerer renten i hver periode for en annuitet
|
ISERR = ER.FJL ## Returnerer SAND, hvis værdien er en fejlværdi undtagen #I/T
|
||||||
RECEIVED = MODTAGET.VED.UDLØB ## Returnerer det beløb, der modtages ved udløbet af et fuldt ud investeret værdipapir
|
ISERROR = ER.FEJL ## Returnerer SAND, hvis værdien er en fejlværdi
|
||||||
SLN = LA ## Returnerer den lineære afskrivning for et aktiv i en enkelt periode
|
ISEVEN = ER.LIGE ## Returnerer SAND, hvis tallet er lige
|
||||||
SYD = ÅRSAFSKRIVNING ## Returnerer den årlige afskrivning på et aktiv i en bestemt periode
|
ISLOGICAL = ER.LOGISK ## Returnerer SAND, hvis værdien er en logisk værdi
|
||||||
TBILLEQ = STATSOBLIGATION ## Returnerer det obligationsækvivalente afkast for en statsobligation
|
ISNA = ER.IKKE.TILGÆNGELIG ## Returnerer SAND, hvis værdien er fejlværdien #I/T
|
||||||
TBILLPRICE = STATSOBLIGATION.KURS ## Returnerer kursen pr. kr 100 nominel værdi for en statsobligation
|
ISNONTEXT = ER.IKKE.TEKST ## Returnerer SAND, hvis værdien ikke er tekst
|
||||||
TBILLYIELD = STATSOBLIGATION.AFKAST ## Returnerer en afkastet på en statsobligation
|
ISNUMBER = ER.TAL ## Returnerer SAND, hvis værdien er et tal
|
||||||
VDB = VSA ## Returnerer afskrivningen på et aktiv i en angivet periode, herunder delperioder, ved brug af dobbeltsaldometoden
|
ISODD = ER.ULIGE ## Returnerer SAND, hvis tallet er ulige
|
||||||
XIRR = INTERN.RENTE ## Returnerer den interne rente for en plan over pengestrømme, der ikke behøver at være periodiske
|
ISREF = ER.REFERENCE ## Returnerer SAND, hvis værdien er en reference
|
||||||
XNPV = NETTO.NUTIDSVÆRDI ## Returnerer nutidsværdien for en plan over pengestrømme, der ikke behøver at være periodiske
|
ISTEXT = ER.TEKST ## Returnerer SAND, hvis værdien er tekst
|
||||||
YIELD = AFKAST ## Returnerer afkastet for et værdipapir med periodiske renteudbetalinger
|
N = TAL ## Returnerer en værdi konverteret til et tal
|
||||||
YIELDDISC = AFKAST.DISKONTO ## Returnerer det årlige afkast for et diskonteret værdipapir, f.eks. en statsobligation
|
NA = IKKE.TILGÆNGELIG ## Returnerer fejlværdien #I/T
|
||||||
YIELDMAT = AFKAST.UDLØBSDATO ## Returnerer det årlige afkast for et værdipapir, hvor renten udbetales ved papirets udløb
|
TYPE = VÆRDITYPE ## Returnerer et tal, der angiver datatypen for en værdi
|
||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Information functions Informationsfunktioner
|
## Logical functions Logiske funktioner
|
||||||
##
|
##
|
||||||
CELL = CELLE ## Returnerer oplysninger om formatering, placering eller indhold af en celle
|
AND = OG ## Returnerer SAND, hvis alle argumenterne er sande
|
||||||
ERROR.TYPE = FEJLTYPE ## Returnerer et tal, der svarer til en fejltype
|
FALSE = FALSK ## Returnerer den logiske værdi FALSK
|
||||||
INFO = INFO ## Returnerer oplysninger om det aktuelle operativmiljø
|
IF = HVIS ## Angiver en logisk test, der skal udføres
|
||||||
ISBLANK = ER.TOM ## Returnerer SAND, hvis værdien er tom
|
IFERROR = HVIS.FEJL ## Returnerer en værdi, du angiver, hvis en formel evauleres som en fejl. Returnerer i modsat fald resultatet af formlen
|
||||||
ISERR = ER.FJL ## Returnerer SAND, hvis værdien er en fejlværdi undtagen #I/T
|
NOT = IKKE ## Vender argumentets logik om
|
||||||
ISERROR = ER.FEJL ## Returnerer SAND, hvis værdien er en fejlværdi
|
OR = ELLER ## Returneret værdien SAND, hvis mindst ét argument er sandt
|
||||||
ISEVEN = ER.LIGE ## Returnerer SAND, hvis tallet er lige
|
TRUE = SAND ## Returnerer den logiske værdi SAND
|
||||||
ISLOGICAL = ER.LOGISK ## Returnerer SAND, hvis værdien er en logisk værdi
|
|
||||||
ISNA = ER.IKKE.TILGÆNGELIG ## Returnerer SAND, hvis værdien er fejlværdien #I/T
|
|
||||||
ISNONTEXT = ER.IKKE.TEKST ## Returnerer SAND, hvis værdien ikke er tekst
|
##
|
||||||
ISNUMBER = ER.TAL ## Returnerer SAND, hvis værdien er et tal
|
## Lookup and reference functions Opslags- og referencefunktioner
|
||||||
ISODD = ER.ULIGE ## Returnerer SAND, hvis tallet er ulige
|
##
|
||||||
ISREF = ER.REFERENCE ## Returnerer SAND, hvis værdien er en reference
|
ADDRESS = ADRESSE ## Returnerer en reference som tekst til en enkelt celle i et regneark
|
||||||
ISTEXT = ER.TEKST ## Returnerer SAND, hvis værdien er tekst
|
AREAS = OMRÅDER ## Returnerer antallet af områder i en reference
|
||||||
N = TAL ## Returnerer en værdi konverteret til et tal
|
CHOOSE = VÆLG ## Vælger en værdi på en liste med værdier
|
||||||
NA = IKKE.TILGÆNGELIG ## Returnerer fejlværdien #I/T
|
COLUMN = KOLONNE ## Returnerer kolonnenummeret i en reference
|
||||||
TYPE = VÆRDITYPE ## Returnerer et tal, der angiver datatypen for en værdi
|
COLUMNS = KOLONNER ## Returnerer antallet af kolonner i en reference
|
||||||
|
HLOOKUP = VOPSLAG ## Søger i den øverste række af en matrix og returnerer værdien af den angivne celle
|
||||||
|
HYPERLINK = HYPERLINK ## Opretter en genvej kaldet et hyperlink, der åbner et dokument, som er lagret på en netværksserver, på et intranet eller på internettet
|
||||||
##
|
INDEX = INDEKS ## Anvender et indeks til at vælge en værdi fra en reference eller en matrix
|
||||||
## Logical functions Logiske funktioner
|
INDIRECT = INDIREKTE ## Returnerer en reference, der er angivet af en tekstværdi
|
||||||
##
|
LOOKUP = SLÅ.OP ## Søger værdier i en vektor eller en matrix
|
||||||
AND = OG ## Returnerer SAND, hvis alle argumenterne er sande
|
MATCH = SAMMENLIGN ## Søger værdier i en reference eller en matrix
|
||||||
FALSE = FALSK ## Returnerer den logiske værdi FALSK
|
OFFSET = FORSKYDNING ## Returnerer en reference forskudt i forhold til en given reference
|
||||||
IF = HVIS ## Angiver en logisk test, der skal udføres
|
ROW = RÆKKE ## Returnerer rækkenummeret for en reference
|
||||||
IFERROR = HVIS.FEJL ## Returnerer en værdi, du angiver, hvis en formel evauleres som en fejl. Returnerer i modsat fald resultatet af formlen
|
ROWS = RÆKKER ## Returnerer antallet af rækker i en reference
|
||||||
NOT = IKKE ## Vender argumentets logik om
|
RTD = RTD ## Henter realtidsdata fra et program, der understøtter COM-automatisering (Automation: En metode til at arbejde med objekter fra et andet program eller udviklingsværktøj. Automation, som tidligere blev kaldt OLE Automation, er en industristandard og en funktion i COM (Component Object Model).)
|
||||||
OR = ELLER ## Returneret værdien SAND, hvis mindst ét argument er sandt
|
TRANSPOSE = TRANSPONER ## Returnerer en transponeret matrix
|
||||||
TRUE = SAND ## Returnerer den logiske værdi SAND
|
VLOOKUP = LOPSLAG ## Søger i øverste række af en matrix og flytter på tværs af rækken for at returnere en celleværdi
|
||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Lookup and reference functions Opslags- og referencefunktioner
|
## Math and trigonometry functions Matematiske og trigonometriske funktioner
|
||||||
##
|
##
|
||||||
ADDRESS = ADRESSE ## Returnerer en reference som tekst til en enkelt celle i et regneark
|
ABS = ABS ## Returnerer den absolutte værdi af et tal
|
||||||
AREAS = OMRÅDER ## Returnerer antallet af områder i en reference
|
ACOS = ARCCOS ## Returnerer et tals arcus cosinus
|
||||||
CHOOSE = VÆLG ## Vælger en værdi på en liste med værdier
|
ACOSH = ARCCOSH ## Returnerer den inverse hyperbolske cosinus af tal
|
||||||
COLUMN = KOLONNE ## Returnerer kolonnenummeret i en reference
|
ASIN = ARCSIN ## Returnerer et tals arcus sinus
|
||||||
COLUMNS = KOLONNER ## Returnerer antallet af kolonner i en reference
|
ASINH = ARCSINH ## Returnerer den inverse hyperbolske sinus for tal
|
||||||
HLOOKUP = VOPSLAG ## Søger i den øverste række af en matrix og returnerer værdien af den angivne celle
|
ATAN = ARCTAN ## Returnerer et tals arcus tangens
|
||||||
HYPERLINK = HYPERLINK ## Opretter en genvej kaldet et hyperlink, der åbner et dokument, som er lagret på en netværksserver, på et intranet eller på internettet
|
ATAN2 = ARCTAN2 ## Returnerer de angivne x- og y-koordinaters arcus tangens
|
||||||
INDEX = INDEKS ## Anvender et indeks til at vælge en værdi fra en reference eller en matrix
|
ATANH = ARCTANH ## Returnerer et tals inverse hyperbolske tangens
|
||||||
INDIRECT = INDIREKTE ## Returnerer en reference, der er angivet af en tekstværdi
|
CEILING = AFRUND.LOFT ## Afrunder et tal til nærmeste heltal eller til nærmeste multiplum af betydning
|
||||||
LOOKUP = SLÅ.OP ## Søger værdier i en vektor eller en matrix
|
COMBIN = KOMBIN ## Returnerer antallet af kombinationer for et givet antal objekter
|
||||||
MATCH = SAMMENLIGN ## Søger værdier i en reference eller en matrix
|
COS = COS ## Returnerer et tals cosinus
|
||||||
OFFSET = FORSKYDNING ## Returnerer en reference forskudt i forhold til en given reference
|
COSH = COSH ## Returnerer den inverse hyperbolske cosinus af et tal
|
||||||
ROW = RÆKKE ## Returnerer rækkenummeret for en reference
|
DEGREES = GRADER ## Konverterer radianer til grader
|
||||||
ROWS = RÆKKER ## Returnerer antallet af rækker i en reference
|
EVEN = LIGE ## Runder et tal op til nærmeste lige heltal
|
||||||
RTD = RTD ## Henter realtidsdata fra et program, der understøtter COM-automatisering (Automation: En metode til at arbejde med objekter fra et andet program eller udviklingsværktøj. Automation, som tidligere blev kaldt OLE Automation, er en industristandard og en funktion i COM (Component Object Model).)
|
EXP = EKSP ## Returnerer e opløftet til en potens af et angivet tal
|
||||||
TRANSPOSE = TRANSPONER ## Returnerer en transponeret matrix
|
FACT = FAKULTET ## Returnerer et tals fakultet
|
||||||
VLOOKUP = LOPSLAG ## Søger i øverste række af en matrix og flytter på tværs af rækken for at returnere en celleværdi
|
FACTDOUBLE = DOBBELT.FAKULTET ## Returnerer et tals dobbelte fakultet
|
||||||
|
FLOOR = AFRUND.GULV ## Runder et tal ned mod nul
|
||||||
|
GCD = STØRSTE.FÆLLES.DIVISOR ## Returnerer den største fælles divisor
|
||||||
##
|
INT = HELTAL ## Nedrunder et tal til det nærmeste heltal
|
||||||
## Math and trigonometry functions Matematiske og trigonometriske funktioner
|
LCM = MINDSTE.FÆLLES.MULTIPLUM ## Returnerer det mindste fælles multiplum
|
||||||
##
|
LN = LN ## Returnerer et tals naturlige logaritme
|
||||||
ABS = ABS ## Returnerer den absolutte værdi af et tal
|
LOG = LOG ## Returnerer logaritmen for et tal på grundlag af et angivet grundtal
|
||||||
ACOS = ARCCOS ## Returnerer et tals arcus cosinus
|
LOG10 = LOG10 ## Returnerer titalslogaritmen af et tal
|
||||||
ACOSH = ARCCOSH ## Returnerer den inverse hyperbolske cosinus af tal
|
MDETERM = MDETERM ## Returnerer determinanten for en matrix
|
||||||
ASIN = ARCSIN ## Returnerer et tals arcus sinus
|
MINVERSE = MINVERT ## Returnerer den inverse matrix for en matrix
|
||||||
ASINH = ARCSINH ## Returnerer den inverse hyperbolske sinus for tal
|
MMULT = MPRODUKT ## Returnerer matrixproduktet af to matrixer
|
||||||
ATAN = ARCTAN ## Returnerer et tals arcus tangens
|
MOD = REST ## Returnerer restværdien fra division
|
||||||
ATAN2 = ARCTAN2 ## Returnerer de angivne x- og y-koordinaters arcus tangens
|
MROUND = MAFRUND ## Returnerer et tal afrundet til det ønskede multiplum
|
||||||
ATANH = ARCTANH ## Returnerer et tals inverse hyperbolske tangens
|
MULTINOMIAL = MULTINOMIAL ## Returnerer et multinomialt talsæt
|
||||||
CEILING = AFRUND.LOFT ## Afrunder et tal til nærmeste heltal eller til nærmeste multiplum af betydning
|
ODD = ULIGE ## Runder et tal op til nærmeste ulige heltal
|
||||||
COMBIN = KOMBIN ## Returnerer antallet af kombinationer for et givet antal objekter
|
PI = PI ## Returnerer værdien af pi
|
||||||
COS = COS ## Returnerer et tals cosinus
|
POWER = POTENS ## Returnerer resultatet af et tal opløftet til en potens
|
||||||
COSH = COSH ## Returnerer den inverse hyperbolske cosinus af et tal
|
PRODUCT = PRODUKT ## Multiplicerer argumenterne
|
||||||
DEGREES = GRADER ## Konverterer radianer til grader
|
QUOTIENT = KVOTIENT ## Returnerer heltalsdelen ved division
|
||||||
EVEN = LIGE ## Runder et tal op til nærmeste lige heltal
|
RADIANS = RADIANER ## Konverterer grader til radianer
|
||||||
EXP = EKSP ## Returnerer e opløftet til en potens af et angivet tal
|
RAND = SLUMP ## Returnerer et tilfældigt tal mellem 0 og 1
|
||||||
FACT = FAKULTET ## Returnerer et tals fakultet
|
RANDBETWEEN = SLUMP.MELLEM ## Returnerer et tilfældigt tal mellem de tal, der angives
|
||||||
FACTDOUBLE = DOBBELT.FAKULTET ## Returnerer et tals dobbelte fakultet
|
ROMAN = ROMERTAL ## Konverterer et arabertal til romertal som tekst
|
||||||
FLOOR = AFRUND.GULV ## Runder et tal ned mod nul
|
ROUND = AFRUND ## Afrunder et tal til et angivet antal decimaler
|
||||||
GCD = STØRSTE.FÆLLES.DIVISOR ## Returnerer den største fælles divisor
|
ROUNDDOWN = RUND.NED ## Runder et tal ned mod nul
|
||||||
INT = HELTAL ## Nedrunder et tal til det nærmeste heltal
|
ROUNDUP = RUND.OP ## Runder et tal op, væk fra 0 (nul)
|
||||||
LCM = MINDSTE.FÆLLES.MULTIPLUM ## Returnerer det mindste fælles multiplum
|
SERIESSUM = SERIESUM ## Returnerer summen af en potensserie baseret på en formel
|
||||||
LN = LN ## Returnerer et tals naturlige logaritme
|
SIGN = FORTEGN ## Returnerer et tals fortegn
|
||||||
LOG = LOG ## Returnerer logaritmen for et tal på grundlag af et angivet grundtal
|
SIN = SIN ## Returnerer en given vinkels sinusværdi
|
||||||
LOG10 = LOG10 ## Returnerer titalslogaritmen af et tal
|
SINH = SINH ## Returnerer den hyperbolske sinus af et tal
|
||||||
MDETERM = MDETERM ## Returnerer determinanten for en matrix
|
SQRT = KVROD ## Returnerer en positiv kvadratrod
|
||||||
MINVERSE = MINVERT ## Returnerer den inverse matrix for en matrix
|
SQRTPI = KVRODPI ## Returnerer kvadratroden af (tal * pi;)
|
||||||
MMULT = MPRODUKT ## Returnerer matrixproduktet af to matrixer
|
SUBTOTAL = SUBTOTAL ## Returnerer en subtotal på en liste eller i en database
|
||||||
MOD = REST ## Returnerer restværdien fra division
|
SUM = SUM ## Lægger argumenterne sammen
|
||||||
MROUND = MAFRUND ## Returnerer et tal afrundet til det ønskede multiplum
|
SUMIF = SUM.HVIS ## Lægger de celler sammen, der er specificeret af et givet kriterium.
|
||||||
MULTINOMIAL = MULTINOMIAL ## Returnerer et multinomialt talsæt
|
SUMIFS = SUM.HVISER ## Lægger de celler i et område sammen, der opfylder flere kriterier.
|
||||||
ODD = ULIGE ## Runder et tal op til nærmeste ulige heltal
|
SUMPRODUCT = SUMPRODUKT ## Returnerer summen af produkter af ens matrixkomponenter
|
||||||
PI = PI ## Returnerer værdien af pi
|
SUMSQ = SUMKV ## Returnerer summen af argumenternes kvadrater
|
||||||
POWER = POTENS ## Returnerer resultatet af et tal opløftet til en potens
|
SUMX2MY2 = SUMX2MY2 ## Returnerer summen af differensen mellem kvadrater af ens værdier i to matrixer
|
||||||
PRODUCT = PRODUKT ## Multiplicerer argumenterne
|
SUMX2PY2 = SUMX2PY2 ## Returnerer summen af summen af kvadrater af tilsvarende værdier i to matrixer
|
||||||
QUOTIENT = KVOTIENT ## Returnerer heltalsdelen ved division
|
SUMXMY2 = SUMXMY2 ## Returnerer summen af kvadrater af differenser mellem ens værdier i to matrixer
|
||||||
RADIANS = RADIANER ## Konverterer grader til radianer
|
TAN = TAN ## Returnerer et tals tangens
|
||||||
RAND = SLUMP ## Returnerer et tilfældigt tal mellem 0 og 1
|
TANH = TANH ## Returnerer et tals hyperbolske tangens
|
||||||
RANDBETWEEN = SLUMP.MELLEM ## Returnerer et tilfældigt tal mellem de tal, der angives
|
TRUNC = AFKORT ## Afkorter et tal til et heltal
|
||||||
ROMAN = ROMERTAL ## Konverterer et arabertal til romertal som tekst
|
|
||||||
ROUND = AFRUND ## Afrunder et tal til et angivet antal decimaler
|
|
||||||
ROUNDDOWN = RUND.NED ## Runder et tal ned mod nul
|
##
|
||||||
ROUNDUP = RUND.OP ## Runder et tal op, væk fra 0 (nul)
|
## Statistical functions Statistiske funktioner
|
||||||
SERIESSUM = SERIESUM ## Returnerer summen af en potensserie baseret på en formel
|
##
|
||||||
SIGN = FORTEGN ## Returnerer et tals fortegn
|
AVEDEV = MAD ## Returnerer den gennemsnitlige numeriske afvigelse fra stikprøvens middelværdi
|
||||||
SIN = SIN ## Returnerer en given vinkels sinusværdi
|
AVERAGE = MIDDEL ## Returnerer middelværdien af argumenterne
|
||||||
SINH = SINH ## Returnerer den hyperbolske sinus af et tal
|
AVERAGEA = MIDDELV ## Returnerer middelværdien af argumenterne og medtager tal, tekst og logiske værdier
|
||||||
SQRT = KVROD ## Returnerer en positiv kvadratrod
|
AVERAGEIF = MIDDEL.HVIS ## Returnerer gennemsnittet (den aritmetiske middelværdi) af alle de celler, der opfylder et givet kriterium, i et område
|
||||||
SQRTPI = KVRODPI ## Returnerer kvadratroden af (tal * pi;)
|
AVERAGEIFS = MIDDEL.HVISER ## Returnerer gennemsnittet (den aritmetiske middelværdi) af alle de celler, der opfylder flere kriterier.
|
||||||
SUBTOTAL = SUBTOTAL ## Returnerer en subtotal på en liste eller i en database
|
BETADIST = BETAFORDELING ## Returnerer den kumulative betafordelingsfunktion
|
||||||
SUM = SUM ## Lægger argumenterne sammen
|
BETAINV = BETAINV ## Returnerer den inverse kumulative fordelingsfunktion for en angivet betafordeling
|
||||||
SUMIF = SUM.HVIS ## Lægger de celler sammen, der er specificeret af et givet kriterium.
|
BINOMDIST = BINOMIALFORDELING ## Returnerer punktsandsynligheden for binomialfordelingen
|
||||||
SUMIFS = SUM.HVISER ## Lægger de celler i et område sammen, der opfylder flere kriterier.
|
CHIDIST = CHIFORDELING ## Returnerer fraktilsandsynligheden for en chi2-fordeling
|
||||||
SUMPRODUCT = SUMPRODUKT ## Returnerer summen af produkter af ens matrixkomponenter
|
CHIINV = CHIINV ## Returnerer den inverse fraktilsandsynlighed for en chi2-fordeling
|
||||||
SUMSQ = SUMKV ## Returnerer summen af argumenternes kvadrater
|
CHITEST = CHITEST ## Foretager en test for uafhængighed
|
||||||
SUMX2MY2 = SUMX2MY2 ## Returnerer summen af differensen mellem kvadrater af ens værdier i to matrixer
|
CONFIDENCE = KONFIDENSINTERVAL ## Returnerer et konfidensinterval for en population
|
||||||
SUMX2PY2 = SUMX2PY2 ## Returnerer summen af summen af kvadrater af tilsvarende værdier i to matrixer
|
CORREL = KORRELATION ## Returnerer korrelationskoefficienten mellem to datasæt
|
||||||
SUMXMY2 = SUMXMY2 ## Returnerer summen af kvadrater af differenser mellem ens værdier i to matrixer
|
COUNT = TÆL ## Tæller antallet af tal på en liste med argumenter
|
||||||
TAN = TAN ## Returnerer et tals tangens
|
COUNTA = TÆLV ## Tæller antallet af værdier på en liste med argumenter
|
||||||
TANH = TANH ## Returnerer et tals hyperbolske tangens
|
COUNTBLANK = ANTAL.BLANKE ## Tæller antallet af tomme celler i et område
|
||||||
TRUNC = AFKORT ## Afkorter et tal til et heltal
|
COUNTIF = TÆLHVIS ## Tæller antallet af celler, som opfylder de givne kriterier, i et område
|
||||||
|
COUNTIFS = TÆL.HVISER ## Tæller antallet af de celler, som opfylder flere kriterier, i et område
|
||||||
|
COVAR = KOVARIANS ## Beregner kovariansen mellem to stokastiske variabler
|
||||||
##
|
CRITBINOM = KRITBINOM ## Returnerer den mindste værdi for x, for hvilken det gælder, at fordelingsfunktionen er mindre end eller lig med kriterieværdien.
|
||||||
## Statistical functions Statistiske funktioner
|
DEVSQ = SAK ## Returnerer summen af de kvadrerede afvigelser fra middelværdien
|
||||||
##
|
EXPONDIST = EKSPFORDELING ## Returnerer eksponentialfordelingen
|
||||||
AVEDEV = MAD ## Returnerer den gennemsnitlige numeriske afvigelse fra stikprøvens middelværdi
|
FDIST = FFORDELING ## Returnerer fraktilsandsynligheden for F-fordelingen
|
||||||
AVERAGE = MIDDEL ## Returnerer middelværdien af argumenterne
|
FINV = FINV ## Returnerer den inverse fraktilsandsynlighed for F-fordelingen
|
||||||
AVERAGEA = MIDDELV ## Returnerer middelværdien af argumenterne og medtager tal, tekst og logiske værdier
|
FISHER = FISHER ## Returnerer Fisher-transformationen
|
||||||
AVERAGEIF = MIDDEL.HVIS ## Returnerer gennemsnittet (den aritmetiske middelværdi) af alle de celler, der opfylder et givet kriterium, i et område
|
FISHERINV = FISHERINV ## Returnerer den inverse Fisher-transformation
|
||||||
AVERAGEIFS = MIDDEL.HVISER ## Returnerer gennemsnittet (den aritmetiske middelværdi) af alle de celler, der opfylder flere kriterier.
|
FORECAST = PROGNOSE ## Returnerer en prognoseværdi baseret på lineær tendens
|
||||||
BETADIST = BETAFORDELING ## Returnerer den kumulative betafordelingsfunktion
|
FREQUENCY = FREKVENS ## Returnerer en frekvensfordeling i en søjlevektor
|
||||||
BETAINV = BETAINV ## Returnerer den inverse kumulative fordelingsfunktion for en angivet betafordeling
|
FTEST = FTEST ## Returnerer resultatet af en F-test til sammenligning af varians
|
||||||
BINOMDIST = BINOMIALFORDELING ## Returnerer punktsandsynligheden for binomialfordelingen
|
GAMMADIST = GAMMAFORDELING ## Returnerer fordelingsfunktionen for gammafordelingen
|
||||||
CHIDIST = CHIFORDELING ## Returnerer fraktilsandsynligheden for en chi2-fordeling
|
GAMMAINV = GAMMAINV ## Returnerer den inverse fordelingsfunktion for gammafordelingen
|
||||||
CHIINV = CHIINV ## Returnerer den inverse fraktilsandsynlighed for en chi2-fordeling
|
GAMMALN = GAMMALN ## Returnerer den naturlige logaritme til gammafordelingen, G(x)
|
||||||
CHITEST = CHITEST ## Foretager en test for uafhængighed
|
GEOMEAN = GEOMIDDELVÆRDI ## Returnerer det geometriske gennemsnit
|
||||||
CONFIDENCE = KONFIDENSINTERVAL ## Returnerer et konfidensinterval for en population
|
GROWTH = FORØGELSE ## Returnerer værdier langs en eksponentiel tendens
|
||||||
CORREL = KORRELATION ## Returnerer korrelationskoefficienten mellem to datasæt
|
HARMEAN = HARMIDDELVÆRDI ## Returnerer det harmoniske gennemsnit
|
||||||
COUNT = TÆL ## Tæller antallet af tal på en liste med argumenter
|
HYPGEOMDIST = HYPGEOFORDELING ## Returnerer punktsandsynligheden i en hypergeometrisk fordeling
|
||||||
COUNTA = TÆLV ## Tæller antallet af værdier på en liste med argumenter
|
INTERCEPT = SKÆRING ## Returnerer afskæringsværdien på y-aksen i en lineær regression
|
||||||
COUNTBLANK = ANTAL.BLANKE ## Tæller antallet af tomme celler i et område
|
KURT = TOPSTEJL ## Returnerer kurtosisværdien for en stokastisk variabel
|
||||||
COUNTIF = TÆLHVIS ## Tæller antallet af celler, som opfylder de givne kriterier, i et område
|
LARGE = STOR ## Returnerer den k'te største værdi i et datasæt
|
||||||
COUNTIFS = TÆL.HVISER ## Tæller antallet af de celler, som opfylder flere kriterier, i et område
|
LINEST = LINREGR ## Returnerer parameterestimaterne for en lineær tendens
|
||||||
COVAR = KOVARIANS ## Beregner kovariansen mellem to stokastiske variabler
|
LOGEST = LOGREGR ## Returnerer parameterestimaterne for en eksponentiel tendens
|
||||||
CRITBINOM = KRITBINOM ## Returnerer den mindste værdi for x, for hvilken det gælder, at fordelingsfunktionen er mindre end eller lig med kriterieværdien.
|
LOGINV = LOGINV ## Returnerer den inverse fordelingsfunktion for lognormalfordelingen
|
||||||
DEVSQ = SAK ## Returnerer summen af de kvadrerede afvigelser fra middelværdien
|
LOGNORMDIST = LOGNORMFORDELING ## Returnerer fordelingsfunktionen for lognormalfordelingen
|
||||||
EXPONDIST = EKSPFORDELING ## Returnerer eksponentialfordelingen
|
MAX = MAKS ## Returnerer den maksimale værdi på en liste med argumenter.
|
||||||
FDIST = FFORDELING ## Returnerer fraktilsandsynligheden for F-fordelingen
|
MAXA = MAKSV ## Returnerer den maksimale værdi på en liste med argumenter og medtager tal, tekst og logiske værdier
|
||||||
FINV = FINV ## Returnerer den inverse fraktilsandsynlighed for F-fordelingen
|
MEDIAN = MEDIAN ## Returnerer medianen for de angivne tal
|
||||||
FISHER = FISHER ## Returnerer Fisher-transformationen
|
MIN = MIN ## Returnerer den mindste værdi på en liste med argumenter.
|
||||||
FISHERINV = FISHERINV ## Returnerer den inverse Fisher-transformation
|
MINA = MINV ## Returnerer den mindste værdi på en liste med argumenter og medtager tal, tekst og logiske værdier
|
||||||
FORECAST = PROGNOSE ## Returnerer en prognoseværdi baseret på lineær tendens
|
MODE = HYPPIGST ## Returnerer den hyppigste værdi i et datasæt
|
||||||
FREQUENCY = FREKVENS ## Returnerer en frekvensfordeling i en søjlevektor
|
NEGBINOMDIST = NEGBINOMFORDELING ## Returnerer den negative binomialfordeling
|
||||||
FTEST = FTEST ## Returnerer resultatet af en F-test til sammenligning af varians
|
NORMDIST = NORMFORDELING ## Returnerer fordelingsfunktionen for normalfordelingen
|
||||||
GAMMADIST = GAMMAFORDELING ## Returnerer fordelingsfunktionen for gammafordelingen
|
NORMINV = NORMINV ## Returnerer den inverse fordelingsfunktion for normalfordelingen
|
||||||
GAMMAINV = GAMMAINV ## Returnerer den inverse fordelingsfunktion for gammafordelingen
|
NORMSDIST = STANDARDNORMFORDELING ## Returnerer fordelingsfunktionen for standardnormalfordelingen
|
||||||
GAMMALN = GAMMALN ## Returnerer den naturlige logaritme til gammafordelingen, G(x)
|
NORMSINV = STANDARDNORMINV ## Returnerer den inverse fordelingsfunktion for standardnormalfordelingen
|
||||||
GEOMEAN = GEOMIDDELVÆRDI ## Returnerer det geometriske gennemsnit
|
PEARSON = PEARSON ## Returnerer Pearsons korrelationskoefficient
|
||||||
GROWTH = FORØGELSE ## Returnerer værdier langs en eksponentiel tendens
|
PERCENTILE = FRAKTIL ## Returnerer den k'te fraktil for datasættet
|
||||||
HARMEAN = HARMIDDELVÆRDI ## Returnerer det harmoniske gennemsnit
|
PERCENTRANK = PROCENTPLADS ## Returnerer den procentuelle rang for en given værdi i et datasæt
|
||||||
HYPGEOMDIST = HYPGEOFORDELING ## Returnerer punktsandsynligheden i en hypergeometrisk fordeling
|
PERMUT = PERMUT ## Returnerer antallet af permutationer for et givet sæt objekter
|
||||||
INTERCEPT = SKÆRING ## Returnerer afskæringsværdien på y-aksen i en lineær regression
|
POISSON = POISSON ## Returnerer fordelingsfunktionen for en Poisson-fordeling
|
||||||
KURT = TOPSTEJL ## Returnerer kurtosisværdien for en stokastisk variabel
|
PROB = SANDSYNLIGHED ## Returnerer intervalsandsynligheden
|
||||||
LARGE = STOR ## Returnerer den k'te største værdi i et datasæt
|
QUARTILE = KVARTIL ## Returnerer kvartilen i et givet datasæt
|
||||||
LINEST = LINREGR ## Returnerer parameterestimaterne for en lineær tendens
|
RANK = PLADS ## Returnerer rangen for et tal på en liste med tal
|
||||||
LOGEST = LOGREGR ## Returnerer parameterestimaterne for en eksponentiel tendens
|
RSQ = FORKLARINGSGRAD ## Returnerer R2-værdien fra en simpel lineær regression
|
||||||
LOGINV = LOGINV ## Returnerer den inverse fordelingsfunktion for lognormalfordelingen
|
SKEW = SKÆVHED ## Returnerer skævheden for en stokastisk variabel
|
||||||
LOGNORMDIST = LOGNORMFORDELING ## Returnerer fordelingsfunktionen for lognormalfordelingen
|
SLOPE = HÆLDNING ## Returnerer estimatet på hældningen fra en simpel lineær regression
|
||||||
MAX = MAKS ## Returnerer den maksimale værdi på en liste med argumenter.
|
SMALL = MINDSTE ## Returnerer den k'te mindste værdi i datasættet
|
||||||
MAXA = MAKSV ## Returnerer den maksimale værdi på en liste med argumenter og medtager tal, tekst og logiske værdier
|
STANDARDIZE = STANDARDISER ## Returnerer en standardiseret værdi
|
||||||
MEDIAN = MEDIAN ## Returnerer medianen for de angivne tal
|
STDEV = STDAFV ## Estimerer standardafvigelsen på basis af en stikprøve
|
||||||
MIN = MIN ## Returnerer den mindste værdi på en liste med argumenter.
|
STDEVA = STDAFVV ## Beregner standardafvigelsen på basis af en prøve og medtager tal, tekst og logiske værdier
|
||||||
MINA = MINV ## Returnerer den mindste værdi på en liste med argumenter og medtager tal, tekst og logiske værdier
|
STDEVP = STDAFVP ## Beregner standardafvigelsen på basis af en hel population
|
||||||
MODE = HYPPIGST ## Returnerer den hyppigste værdi i et datasæt
|
STDEVPA = STDAFVPV ## Beregner standardafvigelsen på basis af en hel population og medtager tal, tekst og logiske værdier
|
||||||
NEGBINOMDIST = NEGBINOMFORDELING ## Returnerer den negative binomialfordeling
|
STEYX = STFYX ## Returnerer standardafvigelsen for de estimerede y-værdier i den simple lineære regression
|
||||||
NORMDIST = NORMFORDELING ## Returnerer fordelingsfunktionen for normalfordelingen
|
TDIST = TFORDELING ## Returnerer fordelingsfunktionen for Student's t-fordeling
|
||||||
NORMINV = NORMINV ## Returnerer den inverse fordelingsfunktion for normalfordelingen
|
TINV = TINV ## Returnerer den inverse fordelingsfunktion for Student's t-fordeling
|
||||||
NORMSDIST = STANDARDNORMFORDELING ## Returnerer fordelingsfunktionen for standardnormalfordelingen
|
TREND = TENDENS ## Returnerer værdi under antagelse af en lineær tendens
|
||||||
NORMSINV = STANDARDNORMINV ## Returnerer den inverse fordelingsfunktion for standardnormalfordelingen
|
TRIMMEAN = TRIMMIDDELVÆRDI ## Returnerer den trimmede middelværdi for datasættet
|
||||||
PEARSON = PEARSON ## Returnerer Pearsons korrelationskoefficient
|
TTEST = TTEST ## Returnerer den sandsynlighed, der er forbundet med Student's t-test
|
||||||
PERCENTILE = FRAKTIL ## Returnerer den k'te fraktil for datasættet
|
VAR = VARIANS ## Beregner variansen på basis af en prøve
|
||||||
PERCENTRANK = PROCENTPLADS ## Returnerer den procentuelle rang for en given værdi i et datasæt
|
VARA = VARIANSV ## Beregner variansen på basis af en prøve og medtager tal, tekst og logiske værdier
|
||||||
PERMUT = PERMUT ## Returnerer antallet af permutationer for et givet sæt objekter
|
VARP = VARIANSP ## Beregner variansen på basis af hele populationen
|
||||||
POISSON = POISSON ## Returnerer fordelingsfunktionen for en Poisson-fordeling
|
VARPA = VARIANSPV ## Beregner variansen på basis af hele populationen og medtager tal, tekst og logiske værdier
|
||||||
PROB = SANDSYNLIGHED ## Returnerer intervalsandsynligheden
|
WEIBULL = WEIBULL ## Returnerer fordelingsfunktionen for Weibull-fordelingen
|
||||||
QUARTILE = KVARTIL ## Returnerer kvartilen i et givet datasæt
|
ZTEST = ZTEST ## Returnerer sandsynlighedsværdien ved en en-sidet z-test
|
||||||
RANK = PLADS ## Returnerer rangen for et tal på en liste med tal
|
|
||||||
RSQ = FORKLARINGSGRAD ## Returnerer R2-værdien fra en simpel lineær regression
|
|
||||||
SKEW = SKÆVHED ## Returnerer skævheden for en stokastisk variabel
|
##
|
||||||
SLOPE = HÆLDNING ## Returnerer estimatet på hældningen fra en simpel lineær regression
|
## Text functions Tekstfunktioner
|
||||||
SMALL = MINDSTE ## Returnerer den k'te mindste værdi i datasættet
|
##
|
||||||
STANDARDIZE = STANDARDISER ## Returnerer en standardiseret værdi
|
ASC = ASC ## Ændrer engelske tegn i fuld bredde (dobbelt-byte) eller katakana i en tegnstreng til tegn i halv bredde (enkelt-byte)
|
||||||
STDEV = STDAFV ## Estimerer standardafvigelsen på basis af en stikprøve
|
BAHTTEXT = BAHTTEKST ## Konverterer et tal til tekst ved hjælp af valutaformatet ß (baht)
|
||||||
STDEVA = STDAFVV ## Beregner standardafvigelsen på basis af en prøve og medtager tal, tekst og logiske værdier
|
CHAR = TEGN ## Returnerer det tegn, der svarer til kodenummeret
|
||||||
STDEVP = STDAFVP ## Beregner standardafvigelsen på basis af en hel population
|
CLEAN = RENS ## Fjerner alle tegn, der ikke kan udskrives, fra tekst
|
||||||
STDEVPA = STDAFVPV ## Beregner standardafvigelsen på basis af en hel population og medtager tal, tekst og logiske værdier
|
CODE = KODE ## Returnerer en numerisk kode for det første tegn i en tekststreng
|
||||||
STEYX = STFYX ## Returnerer standardafvigelsen for de estimerede y-værdier i den simple lineære regression
|
CONCATENATE = SAMMENKÆDNING ## Sammenkæder adskillige tekstelementer til ét tekstelement
|
||||||
TDIST = TFORDELING ## Returnerer fordelingsfunktionen for Student's t-fordeling
|
DOLLAR = KR ## Konverterer et tal til tekst ved hjælp af valutaformatet kr. (kroner)
|
||||||
TINV = TINV ## Returnerer den inverse fordelingsfunktion for Student's t-fordeling
|
EXACT = EKSAKT ## Kontrollerer, om to tekstværdier er identiske
|
||||||
TREND = TENDENS ## Returnerer værdi under antagelse af en lineær tendens
|
FIND = FIND ## Søger efter en tekstværdi i en anden tekstværdi (der skelnes mellem store og små bogstaver)
|
||||||
TRIMMEAN = TRIMMIDDELVÆRDI ## Returnerer den trimmede middelværdi for datasættet
|
FINDB = FINDB ## Søger efter en tekstværdi i en anden tekstværdi (der skelnes mellem store og små bogstaver)
|
||||||
TTEST = TTEST ## Returnerer den sandsynlighed, der er forbundet med Student's t-test
|
FIXED = FAST ## Formaterer et tal som tekst med et fast antal decimaler
|
||||||
VAR = VARIANS ## Beregner variansen på basis af en prøve
|
JIS = JIS ## Ændrer engelske tegn i halv bredde (enkelt-byte) eller katakana i en tegnstreng til tegn i fuld bredde (dobbelt-byte)
|
||||||
VARA = VARIANSV ## Beregner variansen på basis af en prøve og medtager tal, tekst og logiske værdier
|
LEFT = VENSTRE ## Returnerer tegnet længst til venstre i en tekstværdi
|
||||||
VARP = VARIANSP ## Beregner variansen på basis af hele populationen
|
LEFTB = VENSTREB ## Returnerer tegnet længst til venstre i en tekstværdi
|
||||||
VARPA = VARIANSPV ## Beregner variansen på basis af hele populationen og medtager tal, tekst og logiske værdier
|
LEN = LÆNGDE ## Returnerer antallet af tegn i en tekststreng
|
||||||
WEIBULL = WEIBULL ## Returnerer fordelingsfunktionen for Weibull-fordelingen
|
LENB = LÆNGDEB ## Returnerer antallet af tegn i en tekststreng
|
||||||
ZTEST = ZTEST ## Returnerer sandsynlighedsværdien ved en en-sidet z-test
|
LOWER = SMÅ.BOGSTAVER ## Konverterer tekst til små bogstaver
|
||||||
|
MID = MIDT ## Returnerer et bestemt antal tegn fra en tekststreng fra og med den angivne startposition
|
||||||
|
MIDB = MIDTB ## Returnerer et bestemt antal tegn fra en tekststreng fra og med den angivne startposition
|
||||||
##
|
PHONETIC = FONETISK ## Uddrager de fonetiske (furigana) tegn fra en tekststreng
|
||||||
## Text functions Tekstfunktioner
|
PROPER = STORT.FORBOGSTAV ## Konverterer første bogstav i hvert ord i teksten til stort bogstav
|
||||||
##
|
REPLACE = ERSTAT ## Erstatter tegn i tekst
|
||||||
ASC = ASC ## Ændrer engelske tegn i fuld bredde (dobbelt-byte) eller katakana i en tegnstreng til tegn i halv bredde (enkelt-byte)
|
REPLACEB = ERSTATB ## Erstatter tegn i tekst
|
||||||
BAHTTEXT = BAHTTEKST ## Konverterer et tal til tekst ved hjælp af valutaformatet ß (baht)
|
REPT = GENTAG ## Gentager tekst et givet antal gange
|
||||||
CHAR = TEGN ## Returnerer det tegn, der svarer til kodenummeret
|
RIGHT = HØJRE ## Returnerer tegnet længste til højre i en tekstværdi
|
||||||
CLEAN = RENS ## Fjerner alle tegn, der ikke kan udskrives, fra tekst
|
RIGHTB = HØJREB ## Returnerer tegnet længste til højre i en tekstværdi
|
||||||
CODE = KODE ## Returnerer en numerisk kode for det første tegn i en tekststreng
|
SEARCH = SØG ## Søger efter en tekstværdi i en anden tekstværdi (der skelnes ikke mellem store og små bogstaver)
|
||||||
CONCATENATE = SAMMENKÆDNING ## Sammenkæder adskillige tekstelementer til ét tekstelement
|
SEARCHB = SØGB ## Søger efter en tekstværdi i en anden tekstværdi (der skelnes ikke mellem store og små bogstaver)
|
||||||
DOLLAR = KR ## Konverterer et tal til tekst ved hjælp af valutaformatet kr. (kroner)
|
SUBSTITUTE = UDSKIFT ## Udskifter gammel tekst med ny tekst i en tekststreng
|
||||||
EXACT = EKSAKT ## Kontrollerer, om to tekstværdier er identiske
|
T = T ## Konverterer argumenterne til tekst
|
||||||
FIND = FIND ## Søger efter en tekstværdi i en anden tekstværdi (der skelnes mellem store og små bogstaver)
|
TEXT = TEKST ## Formaterer et tal og konverterer det til tekst
|
||||||
FINDB = FINDB ## Søger efter en tekstværdi i en anden tekstværdi (der skelnes mellem store og små bogstaver)
|
TRIM = FJERN.OVERFLØDIGE.BLANKE ## Fjerner mellemrum fra tekst
|
||||||
FIXED = FAST ## Formaterer et tal som tekst med et fast antal decimaler
|
UPPER = STORE.BOGSTAVER ## Konverterer tekst til store bogstaver
|
||||||
JIS = JIS ## Ændrer engelske tegn i halv bredde (enkelt-byte) eller katakana i en tegnstreng til tegn i fuld bredde (dobbelt-byte)
|
VALUE = VÆRDI ## Konverterer et tekstargument til et tal
|
||||||
LEFT = VENSTRE ## Returnerer tegnet længst til venstre i en tekstværdi
|
|
||||||
LEFTB = VENSTREB ## Returnerer tegnet længst til venstre i en tekstværdi
|
|
||||||
LEN = LÆNGDE ## Returnerer antallet af tegn i en tekststreng
|
|
||||||
LENB = LÆNGDEB ## Returnerer antallet af tegn i en tekststreng
|
|
||||||
LOWER = SMÅ.BOGSTAVER ## Konverterer tekst til små bogstaver
|
|
||||||
MID = MIDT ## Returnerer et bestemt antal tegn fra en tekststreng fra og med den angivne startposition
|
|
||||||
MIDB = MIDTB ## Returnerer et bestemt antal tegn fra en tekststreng fra og med den angivne startposition
|
|
||||||
PHONETIC = FONETISK ## Uddrager de fonetiske (furigana) tegn fra en tekststreng
|
|
||||||
PROPER = STORT.FORBOGSTAV ## Konverterer første bogstav i hvert ord i teksten til stort bogstav
|
|
||||||
REPLACE = ERSTAT ## Erstatter tegn i tekst
|
|
||||||
REPLACEB = ERSTATB ## Erstatter tegn i tekst
|
|
||||||
REPT = GENTAG ## Gentager tekst et givet antal gange
|
|
||||||
RIGHT = HØJRE ## Returnerer tegnet længste til højre i en tekstværdi
|
|
||||||
RIGHTB = HØJREB ## Returnerer tegnet længste til højre i en tekstværdi
|
|
||||||
SEARCH = SØG ## Søger efter en tekstværdi i en anden tekstværdi (der skelnes ikke mellem store og små bogstaver)
|
|
||||||
SEARCHB = SØGB ## Søger efter en tekstværdi i en anden tekstværdi (der skelnes ikke mellem store og små bogstaver)
|
|
||||||
SUBSTITUTE = UDSKIFT ## Udskifter gammel tekst med ny tekst i en tekststreng
|
|
||||||
T = T ## Konverterer argumenterne til tekst
|
|
||||||
TEXT = TEKST ## Formaterer et tal og konverterer det til tekst
|
|
||||||
TRIM = FJERN.OVERFLØDIGE.BLANKE ## Fjerner mellemrum fra tekst
|
|
||||||
UPPER = STORE.BOGSTAVER ## Konverterer tekst til store bogstaver
|
|
||||||
VALUE = VÆRDI ## Konverterer et tekstargument til et tal
|
|
||||||
24
PhpOffice/PhpSpreadsheet/Calculation/locale/de/config
Normal file
24
PhpOffice/PhpSpreadsheet/Calculation/locale/de/config
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
##
|
||||||
|
## PhpSpreadsheet
|
||||||
|
##
|
||||||
|
|
||||||
|
ArgumentSeparator = ;
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## (For future use)
|
||||||
|
##
|
||||||
|
currencySymbol = €
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## Excel Error Codes (For future use)
|
||||||
|
|
||||||
|
##
|
||||||
|
NULL = #NULL!
|
||||||
|
DIV0 = #DIV/0!
|
||||||
|
VALUE = #WERT!
|
||||||
|
REF = #BEZUG!
|
||||||
|
NAME = #NAME?
|
||||||
|
NUM = #ZAHL!
|
||||||
|
NA = #NV
|
||||||
|
|
@ -1,438 +1,416 @@
|
||||||
##
|
##
|
||||||
## PHPExcel
|
## PhpSpreadsheet
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Data in this file derived from https://www.excel-function-translation.com/
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
##
|
||||||
## modify it under the terms of the GNU Lesser General Public
|
|
||||||
## License as published by the Free Software Foundation; either
|
|
||||||
## version 2.1 of the License, or (at your option) any later version.
|
##
|
||||||
##
|
## Add-in and Automation functions Add-In- und Automatisierungsfunktionen
|
||||||
## This library is distributed in the hope that it will be useful,
|
##
|
||||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
GETPIVOTDATA = PIVOTDATENZUORDNEN ## In einem PivotTable-Bericht gespeicherte Daten werden zurückgegeben.
|
||||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
## Lesser General Public License for more details.
|
|
||||||
##
|
##
|
||||||
## You should have received a copy of the GNU Lesser General Public
|
## Cube functions Cubefunktionen
|
||||||
## License along with this library; if not, write to the Free Software
|
##
|
||||||
## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
CUBEKPIMEMBER = CUBEKPIELEMENT ## Gibt Name, Eigenschaft und Measure eines Key Performance Indicators (KPI) zurück und zeigt den Namen und die Eigenschaft in der Zelle an. Ein KPI ist ein quantifizierbares Maß, wie z. B. der monatliche Bruttogewinn oder die vierteljährliche Mitarbeiterfluktuation, mit dessen Hilfe das Leistungsverhalten eines Unternehmens überwacht werden kann.
|
||||||
##
|
CUBEMEMBER = CUBEELEMENT ## Gibt ein Element oder ein Tuple in einer Cubehierarchie zurück. Wird verwendet, um zu überprüfen, ob das Element oder Tuple im Cube vorhanden ist.
|
||||||
## @category PHPExcel
|
CUBEMEMBERPROPERTY = CUBEELEMENTEIGENSCHAFT ## Gibt den Wert einer Elementeigenschaft im Cube zurück. Wird verwendet, um zu überprüfen, ob ein Elementname im Cube vorhanden ist, und um die für dieses Element angegebene Eigenschaft zurückzugeben.
|
||||||
## @package PHPExcel_Calculation
|
CUBERANKEDMEMBER = CUBERANGELEMENT ## Gibt das n-te oder n-rangige Element in einer Menge zurück. Wird verwendet, um mindestens ein Element in einer Menge zurückzugeben, wie z. B. bester Vertriebsmitarbeiter oder 10 beste Kursteilnehmer.
|
||||||
## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
CUBESET = CUBEMENGE ## Definiert eine berechnete Menge Elemente oder Tuples durch Senden eines Mengenausdrucks an den Cube auf dem Server, der die Menge erstellt und an Microsoft Office Excel zurückgibt.
|
||||||
## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
CUBESETCOUNT = CUBEMENGENANZAHL ## Gibt die Anzahl der Elemente in einer Menge zurück.
|
||||||
## @version ##VERSION##, ##DATE##
|
CUBEVALUE = CUBEWERT ## Gibt einen Aggregatwert aus einem Cube zurück.
|
||||||
##
|
|
||||||
## Data in this file derived from http://www.piuha.fi/excel-function-name-translation/
|
|
||||||
##
|
##
|
||||||
##
|
## Database functions Datenbankfunktionen
|
||||||
|
##
|
||||||
|
DAVERAGE = DBMITTELWERT ## Gibt den Mittelwert der ausgewählten Datenbankeinträge zurück
|
||||||
##
|
DCOUNT = DBANZAHL ## Zählt die Zellen mit Zahlen in einer Datenbank
|
||||||
## Add-in and Automation functions Add-In- und Automatisierungsfunktionen
|
DCOUNTA = DBANZAHL2 ## Zählt nicht leere Zellen in einer Datenbank
|
||||||
##
|
DGET = DBAUSZUG ## Extrahiert aus einer Datenbank einen einzelnen Datensatz, der den angegebenen Kriterien entspricht
|
||||||
GETPIVOTDATA = PIVOTDATENZUORDNEN ## In einem PivotTable-Bericht gespeicherte Daten werden zurückgegeben.
|
DMAX = DBMAX ## Gibt den größten Wert aus ausgewählten Datenbankeinträgen zurück
|
||||||
|
DMIN = DBMIN ## Gibt den kleinsten Wert aus ausgewählten Datenbankeinträgen zurück
|
||||||
|
DPRODUCT = DBPRODUKT ## Multipliziert die Werte in einem bestimmten Feld mit Datensätzen, die den Kriterien in einer Datenbank entsprechen
|
||||||
##
|
DSTDEV = DBSTDABW ## Schätzt die Standardabweichung auf der Grundlage einer Stichprobe aus ausgewählten Datenbankeinträgen
|
||||||
## Cube functions Cubefunktionen
|
DSTDEVP = DBSTDABWN ## Berechnet die Standardabweichung auf der Grundlage der Grundgesamtheit ausgewählter Datenbankeinträge
|
||||||
##
|
DSUM = DBSUMME ## Addiert die Zahlen in der Feldspalte mit Datensätzen in der Datenbank, die den Kriterien entsprechen
|
||||||
CUBEKPIMEMBER = CUBEKPIELEMENT ## Gibt Name, Eigenschaft und Measure eines Key Performance Indicators (KPI) zurück und zeigt den Namen und die Eigenschaft in der Zelle an. Ein KPI ist ein quantifizierbares Maß, wie z. B. der monatliche Bruttogewinn oder die vierteljährliche Mitarbeiterfluktuation, mit dessen Hilfe das Leistungsverhalten eines Unternehmens überwacht werden kann.
|
DVAR = DBVARIANZ ## Schätzt die Varianz auf der Grundlage ausgewählter Datenbankeinträge
|
||||||
CUBEMEMBER = CUBEELEMENT ## Gibt ein Element oder ein Tuple in einer Cubehierarchie zurück. Wird verwendet, um zu überprüfen, ob das Element oder Tuple im Cube vorhanden ist.
|
DVARP = DBVARIANZEN ## Berechnet die Varianz auf der Grundlage der Grundgesamtheit ausgewählter Datenbankeinträge
|
||||||
CUBEMEMBERPROPERTY = CUBEELEMENTEIGENSCHAFT ## Gibt den Wert einer Elementeigenschaft im Cube zurück. Wird verwendet, um zu überprüfen, ob ein Elementname im Cube vorhanden ist, und um die für dieses Element angegebene Eigenschaft zurückzugeben.
|
|
||||||
CUBERANKEDMEMBER = CUBERANGELEMENT ## Gibt das n-te oder n-rangige Element in einer Menge zurück. Wird verwendet, um mindestens ein Element in einer Menge zurückzugeben, wie z. B. bester Vertriebsmitarbeiter oder 10 beste Kursteilnehmer.
|
|
||||||
CUBESET = CUBEMENGE ## Definiert eine berechnete Menge Elemente oder Tuples durch Senden eines Mengenausdrucks an den Cube auf dem Server, der die Menge erstellt und an Microsoft Office Excel zurückgibt.
|
##
|
||||||
CUBESETCOUNT = CUBEMENGENANZAHL ## Gibt die Anzahl der Elemente in einer Menge zurück.
|
## Date and time functions Datums- und Zeitfunktionen
|
||||||
CUBEVALUE = CUBEWERT ## Gibt einen Aggregatwert aus einem Cube zurück.
|
##
|
||||||
|
DATE = DATUM ## Gibt die fortlaufende Zahl eines bestimmten Datums zurück
|
||||||
|
DATEVALUE = DATWERT ## Wandelt ein Datum in Form von Text in eine fortlaufende Zahl um
|
||||||
##
|
DAY = TAG ## Wandelt eine fortlaufende Zahl in den Tag des Monats um
|
||||||
## Database functions Datenbankfunktionen
|
DAYS360 = TAGE360 ## Berechnet die Anzahl der Tage zwischen zwei Datumsangaben ausgehend von einem Jahr, das 360 Tage hat
|
||||||
##
|
EDATE = EDATUM ## Gibt die fortlaufende Zahl des Datums zurück, bei dem es sich um die angegebene Anzahl von Monaten vor oder nach dem Anfangstermin handelt
|
||||||
DAVERAGE = DBMITTELWERT ## Gibt den Mittelwert der ausgewählten Datenbankeinträge zurück
|
EOMONTH = MONATSENDE ## Gibt die fortlaufende Zahl des letzten Tags des Monats vor oder nach einer festgelegten Anzahl von Monaten zurück
|
||||||
DCOUNT = DBANZAHL ## Zählt die Zellen mit Zahlen in einer Datenbank
|
HOUR = STUNDE ## Wandelt eine fortlaufende Zahl in eine Stunde um
|
||||||
DCOUNTA = DBANZAHL2 ## Zählt nicht leere Zellen in einer Datenbank
|
MINUTE = MINUTE ## Wandelt eine fortlaufende Zahl in eine Minute um
|
||||||
DGET = DBAUSZUG ## Extrahiert aus einer Datenbank einen einzelnen Datensatz, der den angegebenen Kriterien entspricht
|
MONTH = MONAT ## Wandelt eine fortlaufende Zahl in einen Monat um
|
||||||
DMAX = DBMAX ## Gibt den größten Wert aus ausgewählten Datenbankeinträgen zurück
|
NETWORKDAYS = NETTOARBEITSTAGE ## Gibt die Anzahl von ganzen Arbeitstagen zwischen zwei Datumswerten zurück
|
||||||
DMIN = DBMIN ## Gibt den kleinsten Wert aus ausgewählten Datenbankeinträgen zurück
|
NOW = JETZT ## Gibt die fortlaufende Zahl des aktuellen Datums und der aktuellen Uhrzeit zurück
|
||||||
DPRODUCT = DBPRODUKT ## Multipliziert die Werte in einem bestimmten Feld mit Datensätzen, die den Kriterien in einer Datenbank entsprechen
|
SECOND = SEKUNDE ## Wandelt eine fortlaufende Zahl in eine Sekunde um
|
||||||
DSTDEV = DBSTDABW ## Schätzt die Standardabweichung auf der Grundlage einer Stichprobe aus ausgewählten Datenbankeinträgen
|
TIME = ZEIT ## Gibt die fortlaufende Zahl einer bestimmten Uhrzeit zurück
|
||||||
DSTDEVP = DBSTDABWN ## Berechnet die Standardabweichung auf der Grundlage der Grundgesamtheit ausgewählter Datenbankeinträge
|
TIMEVALUE = ZEITWERT ## Wandelt eine Uhrzeit in Form von Text in eine fortlaufende Zahl um
|
||||||
DSUM = DBSUMME ## Addiert die Zahlen in der Feldspalte mit Datensätzen in der Datenbank, die den Kriterien entsprechen
|
TODAY = HEUTE ## Gibt die fortlaufende Zahl des heutigen Datums zurück
|
||||||
DVAR = DBVARIANZ ## Schätzt die Varianz auf der Grundlage ausgewählter Datenbankeinträge
|
WEEKDAY = WOCHENTAG ## Wandelt eine fortlaufende Zahl in den Wochentag um
|
||||||
DVARP = DBVARIANZEN ## Berechnet die Varianz auf der Grundlage der Grundgesamtheit ausgewählter Datenbankeinträge
|
WEEKNUM = KALENDERWOCHE ## Wandelt eine fortlaufende Zahl in eine Zahl um, die angibt, in welche Woche eines Jahres das angegebene Datum fällt
|
||||||
|
WORKDAY = ARBEITSTAG ## Gibt die fortlaufende Zahl des Datums vor oder nach einer bestimmten Anzahl von Arbeitstagen zurück
|
||||||
|
YEAR = JAHR ## Wandelt eine fortlaufende Zahl in ein Jahr um
|
||||||
##
|
YEARFRAC = BRTEILJAHRE ## Gibt die Anzahl der ganzen Tage zwischen Ausgangsdatum und Enddatum in Bruchteilen von Jahren zurück
|
||||||
## Date and time functions Datums- und Zeitfunktionen
|
|
||||||
##
|
|
||||||
DATE = DATUM ## Gibt die fortlaufende Zahl eines bestimmten Datums zurück
|
##
|
||||||
DATEVALUE = DATWERT ## Wandelt ein Datum in Form von Text in eine fortlaufende Zahl um
|
## Engineering functions Konstruktionsfunktionen
|
||||||
DAY = TAG ## Wandelt eine fortlaufende Zahl in den Tag des Monats um
|
##
|
||||||
DAYS360 = TAGE360 ## Berechnet die Anzahl der Tage zwischen zwei Datumsangaben ausgehend von einem Jahr, das 360 Tage hat
|
BESSELI = BESSELI ## Gibt die geänderte Besselfunktion In(x) zurück
|
||||||
EDATE = EDATUM ## Gibt die fortlaufende Zahl des Datums zurück, bei dem es sich um die angegebene Anzahl von Monaten vor oder nach dem Anfangstermin handelt
|
BESSELJ = BESSELJ ## Gibt die Besselfunktion Jn(x) zurück
|
||||||
EOMONTH = MONATSENDE ## Gibt die fortlaufende Zahl des letzten Tags des Monats vor oder nach einer festgelegten Anzahl von Monaten zurück
|
BESSELK = BESSELK ## Gibt die geänderte Besselfunktion Kn(x) zurück
|
||||||
HOUR = STUNDE ## Wandelt eine fortlaufende Zahl in eine Stunde um
|
BESSELY = BESSELY ## Gibt die Besselfunktion Yn(x) zurück
|
||||||
MINUTE = MINUTE ## Wandelt eine fortlaufende Zahl in eine Minute um
|
BIN2DEC = BININDEZ ## Wandelt eine binäre Zahl (Dualzahl) in eine dezimale Zahl um
|
||||||
MONTH = MONAT ## Wandelt eine fortlaufende Zahl in einen Monat um
|
BIN2HEX = BININHEX ## Wandelt eine binäre Zahl (Dualzahl) in eine hexadezimale Zahl um
|
||||||
NETWORKDAYS = NETTOARBEITSTAGE ## Gibt die Anzahl von ganzen Arbeitstagen zwischen zwei Datumswerten zurück
|
BIN2OCT = BININOKT ## Wandelt eine binäre Zahl (Dualzahl) in eine oktale Zahl um
|
||||||
NOW = JETZT ## Gibt die fortlaufende Zahl des aktuellen Datums und der aktuellen Uhrzeit zurück
|
COMPLEX = KOMPLEXE ## Wandelt den Real- und Imaginärteil in eine komplexe Zahl um
|
||||||
SECOND = SEKUNDE ## Wandelt eine fortlaufende Zahl in eine Sekunde um
|
CONVERT = UMWANDELN ## Wandelt eine Zahl von einem Maßsystem in ein anderes um
|
||||||
TIME = ZEIT ## Gibt die fortlaufende Zahl einer bestimmten Uhrzeit zurück
|
DEC2BIN = DEZINBIN ## Wandelt eine dezimale Zahl in eine binäre Zahl (Dualzahl) um
|
||||||
TIMEVALUE = ZEITWERT ## Wandelt eine Uhrzeit in Form von Text in eine fortlaufende Zahl um
|
DEC2HEX = DEZINHEX ## Wandelt eine dezimale Zahl in eine hexadezimale Zahl um
|
||||||
TODAY = HEUTE ## Gibt die fortlaufende Zahl des heutigen Datums zurück
|
DEC2OCT = DEZINOKT ## Wandelt eine dezimale Zahl in eine oktale Zahl um
|
||||||
WEEKDAY = WOCHENTAG ## Wandelt eine fortlaufende Zahl in den Wochentag um
|
DELTA = DELTA ## Überprüft, ob zwei Werte gleich sind
|
||||||
WEEKNUM = KALENDERWOCHE ## Wandelt eine fortlaufende Zahl in eine Zahl um, die angibt, in welche Woche eines Jahres das angegebene Datum fällt
|
ERF = GAUSSFEHLER ## Gibt die Gauss'sche Fehlerfunktion zurück
|
||||||
WORKDAY = ARBEITSTAG ## Gibt die fortlaufende Zahl des Datums vor oder nach einer bestimmten Anzahl von Arbeitstagen zurück
|
ERFC = GAUSSFKOMPL ## Gibt das Komplement zur Gauss'schen Fehlerfunktion zurück
|
||||||
YEAR = JAHR ## Wandelt eine fortlaufende Zahl in ein Jahr um
|
GESTEP = GGANZZAHL ## Überprüft, ob eine Zahl größer als ein gegebener Schwellenwert ist
|
||||||
YEARFRAC = BRTEILJAHRE ## Gibt die Anzahl der ganzen Tage zwischen Ausgangsdatum und Enddatum in Bruchteilen von Jahren zurück
|
HEX2BIN = HEXINBIN ## Wandelt eine hexadezimale Zahl in eine Binärzahl um
|
||||||
|
HEX2DEC = HEXINDEZ ## Wandelt eine hexadezimale Zahl in eine dezimale Zahl um
|
||||||
|
HEX2OCT = HEXINOKT ## Wandelt eine hexadezimale Zahl in eine Oktalzahl um
|
||||||
##
|
IMABS = IMABS ## Gibt den Absolutbetrag (Modulo) einer komplexen Zahl zurück
|
||||||
## Engineering functions Konstruktionsfunktionen
|
IMAGINARY = IMAGINÄRTEIL ## Gibt den Imaginärteil einer komplexen Zahl zurück
|
||||||
##
|
IMARGUMENT = IMARGUMENT ## Gibt das Argument Theta zurück, einen Winkel, der als Bogenmaß ausgedrückt wird
|
||||||
BESSELI = BESSELI ## Gibt die geänderte Besselfunktion In(x) zurück
|
IMCONJUGATE = IMKONJUGIERTE ## Gibt die konjugierte komplexe Zahl zu einer komplexen Zahl zurück
|
||||||
BESSELJ = BESSELJ ## Gibt die Besselfunktion Jn(x) zurück
|
IMCOS = IMCOS ## Gibt den Kosinus einer komplexen Zahl zurück
|
||||||
BESSELK = BESSELK ## Gibt die geänderte Besselfunktion Kn(x) zurück
|
IMDIV = IMDIV ## Gibt den Quotienten zweier komplexer Zahlen zurück
|
||||||
BESSELY = BESSELY ## Gibt die Besselfunktion Yn(x) zurück
|
IMEXP = IMEXP ## Gibt die algebraische Form einer in exponentieller Schreibweise vorliegenden komplexen Zahl zurück
|
||||||
BIN2DEC = BININDEZ ## Wandelt eine binäre Zahl (Dualzahl) in eine dezimale Zahl um
|
IMLN = IMLN ## Gibt den natürlichen Logarithmus einer komplexen Zahl zurück
|
||||||
BIN2HEX = BININHEX ## Wandelt eine binäre Zahl (Dualzahl) in eine hexadezimale Zahl um
|
IMLOG10 = IMLOG10 ## Gibt den Logarithmus einer komplexen Zahl zur Basis 10 zurück
|
||||||
BIN2OCT = BININOKT ## Wandelt eine binäre Zahl (Dualzahl) in eine oktale Zahl um
|
IMLOG2 = IMLOG2 ## Gibt den Logarithmus einer komplexen Zahl zur Basis 2 zurück
|
||||||
COMPLEX = KOMPLEXE ## Wandelt den Real- und Imaginärteil in eine komplexe Zahl um
|
IMPOWER = IMAPOTENZ ## Potenziert eine komplexe Zahl mit einer ganzen Zahl
|
||||||
CONVERT = UMWANDELN ## Wandelt eine Zahl von einem Maßsystem in ein anderes um
|
IMPRODUCT = IMPRODUKT ## Gibt das Produkt von komplexen Zahlen zurück
|
||||||
DEC2BIN = DEZINBIN ## Wandelt eine dezimale Zahl in eine binäre Zahl (Dualzahl) um
|
IMREAL = IMREALTEIL ## Gibt den Realteil einer komplexen Zahl zurück
|
||||||
DEC2HEX = DEZINHEX ## Wandelt eine dezimale Zahl in eine hexadezimale Zahl um
|
IMSIN = IMSIN ## Gibt den Sinus einer komplexen Zahl zurück
|
||||||
DEC2OCT = DEZINOKT ## Wandelt eine dezimale Zahl in eine oktale Zahl um
|
IMSQRT = IMWURZEL ## Gibt die Quadratwurzel einer komplexen Zahl zurück
|
||||||
DELTA = DELTA ## Überprüft, ob zwei Werte gleich sind
|
IMSUB = IMSUB ## Gibt die Differenz zwischen zwei komplexen Zahlen zurück
|
||||||
ERF = GAUSSFEHLER ## Gibt die Gauss'sche Fehlerfunktion zurück
|
IMSUM = IMSUMME ## Gibt die Summe von komplexen Zahlen zurück
|
||||||
ERFC = GAUSSFKOMPL ## Gibt das Komplement zur Gauss'schen Fehlerfunktion zurück
|
OCT2BIN = OKTINBIN ## Wandelt eine oktale Zahl in eine binäre Zahl (Dualzahl) um
|
||||||
GESTEP = GGANZZAHL ## Überprüft, ob eine Zahl größer als ein gegebener Schwellenwert ist
|
OCT2DEC = OKTINDEZ ## Wandelt eine oktale Zahl in eine dezimale Zahl um
|
||||||
HEX2BIN = HEXINBIN ## Wandelt eine hexadezimale Zahl in eine Binärzahl um
|
OCT2HEX = OKTINHEX ## Wandelt eine oktale Zahl in eine hexadezimale Zahl um
|
||||||
HEX2DEC = HEXINDEZ ## Wandelt eine hexadezimale Zahl in eine dezimale Zahl um
|
|
||||||
HEX2OCT = HEXINOKT ## Wandelt eine hexadezimale Zahl in eine Oktalzahl um
|
|
||||||
IMABS = IMABS ## Gibt den Absolutbetrag (Modulo) einer komplexen Zahl zurück
|
##
|
||||||
IMAGINARY = IMAGINÄRTEIL ## Gibt den Imaginärteil einer komplexen Zahl zurück
|
## Financial functions Finanzmathematische Funktionen
|
||||||
IMARGUMENT = IMARGUMENT ## Gibt das Argument Theta zurück, einen Winkel, der als Bogenmaß ausgedrückt wird
|
##
|
||||||
IMCONJUGATE = IMKONJUGIERTE ## Gibt die konjugierte komplexe Zahl zu einer komplexen Zahl zurück
|
ACCRINT = AUFGELZINS ## Gibt die aufgelaufenen Zinsen (Stückzinsen) eines Wertpapiers mit periodischen Zinszahlungen zurück
|
||||||
IMCOS = IMCOS ## Gibt den Kosinus einer komplexen Zahl zurück
|
ACCRINTM = AUFGELZINSF ## Gibt die aufgelaufenen Zinsen (Stückzinsen) eines Wertpapiers zurück, die bei Fälligkeit ausgezahlt werden
|
||||||
IMDIV = IMDIV ## Gibt den Quotienten zweier komplexer Zahlen zurück
|
AMORDEGRC = AMORDEGRK ## Gibt die Abschreibung für die einzelnen Abschreibungszeiträume mithilfe eines Abschreibungskoeffizienten zurück
|
||||||
IMEXP = IMEXP ## Gibt die algebraische Form einer in exponentieller Schreibweise vorliegenden komplexen Zahl zurück
|
AMORLINC = AMORLINEARK ## Gibt die Abschreibung für die einzelnen Abschreibungszeiträume zurück
|
||||||
IMLN = IMLN ## Gibt den natürlichen Logarithmus einer komplexen Zahl zurück
|
COUPDAYBS = ZINSTERMTAGVA ## Gibt die Anzahl der Tage vom Anfang des Zinstermins bis zum Abrechnungstermin zurück
|
||||||
IMLOG10 = IMLOG10 ## Gibt den Logarithmus einer komplexen Zahl zur Basis 10 zurück
|
COUPDAYS = ZINSTERMTAGE ## Gibt die Anzahl der Tage der Zinsperiode zurück, die den Abrechnungstermin einschließt
|
||||||
IMLOG2 = IMLOG2 ## Gibt den Logarithmus einer komplexen Zahl zur Basis 2 zurück
|
COUPDAYSNC = ZINSTERMTAGNZ ## Gibt die Anzahl der Tage vom Abrechnungstermin bis zum nächsten Zinstermin zurück
|
||||||
IMPOWER = IMAPOTENZ ## Potenziert eine komplexe Zahl mit einer ganzen Zahl
|
COUPNCD = ZINSTERMNZ ## Gibt das Datum des ersten Zinstermins nach dem Abrechnungstermin zurück
|
||||||
IMPRODUCT = IMPRODUKT ## Gibt das Produkt von komplexen Zahlen zurück
|
COUPNUM = ZINSTERMZAHL ## Gibt die Anzahl der Zinstermine zwischen Abrechnungs- und Fälligkeitsdatum zurück
|
||||||
IMREAL = IMREALTEIL ## Gibt den Realteil einer komplexen Zahl zurück
|
COUPPCD = ZINSTERMVZ ## Gibt das Datum des letzten Zinstermins vor dem Abrechnungstermin zurück
|
||||||
IMSIN = IMSIN ## Gibt den Sinus einer komplexen Zahl zurück
|
CUMIPMT = KUMZINSZ ## Berechnet die kumulierten Zinsen, die zwischen zwei Perioden zu zahlen sind
|
||||||
IMSQRT = IMWURZEL ## Gibt die Quadratwurzel einer komplexen Zahl zurück
|
CUMPRINC = KUMKAPITAL ## Berechnet die aufgelaufene Tilgung eines Darlehens, die zwischen zwei Perioden zu zahlen ist
|
||||||
IMSUB = IMSUB ## Gibt die Differenz zwischen zwei komplexen Zahlen zurück
|
DB = GDA2 ## Gibt die geometrisch-degressive Abschreibung eines Wirtschaftsguts für eine bestimmte Periode zurück
|
||||||
IMSUM = IMSUMME ## Gibt die Summe von komplexen Zahlen zurück
|
DDB = GDA ## Gibt die Abschreibung eines Anlageguts für einen angegebenen Zeitraum unter Verwendung der degressiven Doppelraten-Abschreibung oder eines anderen von Ihnen angegebenen Abschreibungsverfahrens zurück
|
||||||
OCT2BIN = OKTINBIN ## Wandelt eine oktale Zahl in eine binäre Zahl (Dualzahl) um
|
DISC = DISAGIO ## Gibt den in Prozent ausgedrückten Abzinsungssatz eines Wertpapiers zurück
|
||||||
OCT2DEC = OKTINDEZ ## Wandelt eine oktale Zahl in eine dezimale Zahl um
|
DOLLARDE = NOTIERUNGDEZ ## Wandelt eine Notierung, die als Dezimalbruch ausgedrückt wurde, in eine Dezimalzahl um
|
||||||
OCT2HEX = OKTINHEX ## Wandelt eine oktale Zahl in eine hexadezimale Zahl um
|
DOLLARFR = NOTIERUNGBRU ## Wandelt eine Notierung, die als Dezimalzahl ausgedrückt wurde, in einen Dezimalbruch um
|
||||||
|
DURATION = DURATION ## Gibt die jährliche Duration eines Wertpapiers mit periodischen Zinszahlungen zurück
|
||||||
|
EFFECT = EFFEKTIV ## Gibt die jährliche Effektivverzinsung zurück
|
||||||
##
|
FV = ZW ## Gibt den zukünftigen Wert (Endwert) einer Investition zurück
|
||||||
## Financial functions Finanzmathematische Funktionen
|
FVSCHEDULE = ZW2 ## Gibt den aufgezinsten Wert des Anfangskapitals für eine Reihe periodisch unterschiedlicher Zinssätze zurück
|
||||||
##
|
INTRATE = ZINSSATZ ## Gibt den Zinssatz eines voll investierten Wertpapiers zurück
|
||||||
ACCRINT = AUFGELZINS ## Gibt die aufgelaufenen Zinsen (Stückzinsen) eines Wertpapiers mit periodischen Zinszahlungen zurück
|
IPMT = ZINSZ ## Gibt die Zinszahlung einer Investition für die angegebene Periode zurück
|
||||||
ACCRINTM = AUFGELZINSF ## Gibt die aufgelaufenen Zinsen (Stückzinsen) eines Wertpapiers zurück, die bei Fälligkeit ausgezahlt werden
|
IRR = IKV ## Gibt den internen Zinsfuß einer Investition ohne Finanzierungskosten oder Reinvestitionsgewinne zurück
|
||||||
AMORDEGRC = AMORDEGRK ## Gibt die Abschreibung für die einzelnen Abschreibungszeiträume mithilfe eines Abschreibungskoeffizienten zurück
|
ISPMT = ISPMT ## Berechnet die während eines bestimmten Zeitraums für eine Investition gezahlten Zinsen
|
||||||
AMORLINC = AMORLINEARK ## Gibt die Abschreibung für die einzelnen Abschreibungszeiträume zurück
|
MDURATION = MDURATION ## Gibt die geänderte Dauer für ein Wertpapier mit einem angenommenen Nennwert von 100 € zurück
|
||||||
COUPDAYBS = ZINSTERMTAGVA ## Gibt die Anzahl der Tage vom Anfang des Zinstermins bis zum Abrechnungstermin zurück
|
MIRR = QIKV ## Gibt den internen Zinsfuß zurück, wobei positive und negative Zahlungen zu unterschiedlichen Sätzen finanziert werden
|
||||||
COUPDAYS = ZINSTERMTAGE ## Gibt die Anzahl der Tage der Zinsperiode zurück, die den Abrechnungstermin einschließt
|
NOMINAL = NOMINAL ## Gibt die jährliche Nominalverzinsung zurück
|
||||||
COUPDAYSNC = ZINSTERMTAGNZ ## Gibt die Anzahl der Tage vom Abrechnungstermin bis zum nächsten Zinstermin zurück
|
NPER = ZZR ## Gibt die Anzahl der Zahlungsperioden einer Investition zurück
|
||||||
COUPNCD = ZINSTERMNZ ## Gibt das Datum des ersten Zinstermins nach dem Abrechnungstermin zurück
|
NPV = NBW ## Gibt den Nettobarwert einer Investition auf Basis periodisch anfallender Zahlungen und eines Abzinsungsfaktors zurück
|
||||||
COUPNUM = ZINSTERMZAHL ## Gibt die Anzahl der Zinstermine zwischen Abrechnungs- und Fälligkeitsdatum zurück
|
ODDFPRICE = UNREGER.KURS ## Gibt den Kurs pro 100 € Nennwert eines Wertpapiers mit einem unregelmäßigen ersten Zinstermin zurück
|
||||||
COUPPCD = ZINSTERMVZ ## Gibt das Datum des letzten Zinstermins vor dem Abrechnungstermin zurück
|
ODDFYIELD = UNREGER.REND ## Gibt die Rendite eines Wertpapiers mit einem unregelmäßigen ersten Zinstermin zurück
|
||||||
CUMIPMT = KUMZINSZ ## Berechnet die kumulierten Zinsen, die zwischen zwei Perioden zu zahlen sind
|
ODDLPRICE = UNREGLE.KURS ## Gibt den Kurs pro 100 € Nennwert eines Wertpapiers mit einem unregelmäßigen letzten Zinstermin zurück
|
||||||
CUMPRINC = KUMKAPITAL ## Berechnet die aufgelaufene Tilgung eines Darlehens, die zwischen zwei Perioden zu zahlen ist
|
ODDLYIELD = UNREGLE.REND ## Gibt die Rendite eines Wertpapiers mit einem unregelmäßigen letzten Zinstermin zurück
|
||||||
DB = GDA2 ## Gibt die geometrisch-degressive Abschreibung eines Wirtschaftsguts für eine bestimmte Periode zurück
|
PMT = RMZ ## Gibt die periodische Zahlung für eine Annuität zurück
|
||||||
DDB = GDA ## Gibt die Abschreibung eines Anlageguts für einen angegebenen Zeitraum unter Verwendung der degressiven Doppelraten-Abschreibung oder eines anderen von Ihnen angegebenen Abschreibungsverfahrens zurück
|
PPMT = KAPZ ## Gibt die Kapitalrückzahlung einer Investition für eine angegebene Periode zurück
|
||||||
DISC = DISAGIO ## Gibt den in Prozent ausgedrückten Abzinsungssatz eines Wertpapiers zurück
|
PRICE = KURS ## Gibt den Kurs pro 100 € Nennwert eines Wertpapiers zurück, das periodisch Zinsen auszahlt
|
||||||
DOLLARDE = NOTIERUNGDEZ ## Wandelt eine Notierung, die als Dezimalbruch ausgedrückt wurde, in eine Dezimalzahl um
|
PRICEDISC = KURSDISAGIO ## Gibt den Kurs pro 100 € Nennwert eines unverzinslichen Wertpapiers zurück
|
||||||
DOLLARFR = NOTIERUNGBRU ## Wandelt eine Notierung, die als Dezimalzahl ausgedrückt wurde, in einen Dezimalbruch um
|
PRICEMAT = KURSFÄLLIG ## Gibt den Kurs pro 100 € Nennwert eines Wertpapiers zurück, das Zinsen am Fälligkeitsdatum auszahlt
|
||||||
DURATION = DURATION ## Gibt die jährliche Duration eines Wertpapiers mit periodischen Zinszahlungen zurück
|
PV = BW ## Gibt den Barwert einer Investition zurück
|
||||||
EFFECT = EFFEKTIV ## Gibt die jährliche Effektivverzinsung zurück
|
RATE = ZINS ## Gibt den Zinssatz pro Zeitraum einer Annuität zurück
|
||||||
FV = ZW ## Gibt den zukünftigen Wert (Endwert) einer Investition zurück
|
RECEIVED = AUSZAHLUNG ## Gibt den Auszahlungsbetrag eines voll investierten Wertpapiers am Fälligkeitstermin zurück
|
||||||
FVSCHEDULE = ZW2 ## Gibt den aufgezinsten Wert des Anfangskapitals für eine Reihe periodisch unterschiedlicher Zinssätze zurück
|
SLN = LIA ## Gibt die lineare Abschreibung eines Wirtschaftsguts pro Periode zurück
|
||||||
INTRATE = ZINSSATZ ## Gibt den Zinssatz eines voll investierten Wertpapiers zurück
|
SYD = DIA ## Gibt die arithmetisch-degressive Abschreibung eines Wirtschaftsguts für eine bestimmte Periode zurück
|
||||||
IPMT = ZINSZ ## Gibt die Zinszahlung einer Investition für die angegebene Periode zurück
|
TBILLEQ = TBILLÄQUIV ## Gibt die Rendite für ein Wertpapier zurück
|
||||||
IRR = IKV ## Gibt den internen Zinsfuß einer Investition ohne Finanzierungskosten oder Reinvestitionsgewinne zurück
|
TBILLPRICE = TBILLKURS ## Gibt den Kurs pro 100 € Nennwert eines Wertpapiers zurück
|
||||||
ISPMT = ISPMT ## Berechnet die während eines bestimmten Zeitraums für eine Investition gezahlten Zinsen
|
TBILLYIELD = TBILLRENDITE ## Gibt die Rendite für ein Wertpapier zurück
|
||||||
MDURATION = MDURATION ## Gibt die geänderte Dauer für ein Wertpapier mit einem angenommenen Nennwert von 100 € zurück
|
VDB = VDB ## Gibt die degressive Abschreibung eines Wirtschaftsguts für eine bestimmte Periode oder Teilperiode zurück
|
||||||
MIRR = QIKV ## Gibt den internen Zinsfuß zurück, wobei positive und negative Zahlungen zu unterschiedlichen Sätzen finanziert werden
|
XIRR = XINTZINSFUSS ## Gibt den internen Zinsfuß einer Reihe nicht periodisch anfallender Zahlungen zurück
|
||||||
NOMINAL = NOMINAL ## Gibt die jährliche Nominalverzinsung zurück
|
XNPV = XKAPITALWERT ## Gibt den Nettobarwert (Kapitalwert) einer Reihe nicht periodisch anfallender Zahlungen zurück
|
||||||
NPER = ZZR ## Gibt die Anzahl der Zahlungsperioden einer Investition zurück
|
YIELD = RENDITE ## Gibt die Rendite eines Wertpapiers zurück, das periodisch Zinsen auszahlt
|
||||||
NPV = NBW ## Gibt den Nettobarwert einer Investition auf Basis periodisch anfallender Zahlungen und eines Abzinsungsfaktors zurück
|
YIELDDISC = RENDITEDIS ## Gibt die jährliche Rendite eines unverzinslichen Wertpapiers zurück
|
||||||
ODDFPRICE = UNREGER.KURS ## Gibt den Kurs pro 100 € Nennwert eines Wertpapiers mit einem unregelmäßigen ersten Zinstermin zurück
|
YIELDMAT = RENDITEFÄLL ## Gibt die jährliche Rendite eines Wertpapiers zurück, das Zinsen am Fälligkeitsdatum auszahlt
|
||||||
ODDFYIELD = UNREGER.REND ## Gibt die Rendite eines Wertpapiers mit einem unregelmäßigen ersten Zinstermin zurück
|
|
||||||
ODDLPRICE = UNREGLE.KURS ## Gibt den Kurs pro 100 € Nennwert eines Wertpapiers mit einem unregelmäßigen letzten Zinstermin zurück
|
|
||||||
ODDLYIELD = UNREGLE.REND ## Gibt die Rendite eines Wertpapiers mit einem unregelmäßigen letzten Zinstermin zurück
|
##
|
||||||
PMT = RMZ ## Gibt die periodische Zahlung für eine Annuität zurück
|
## Information functions Informationsfunktionen
|
||||||
PPMT = KAPZ ## Gibt die Kapitalrückzahlung einer Investition für eine angegebene Periode zurück
|
##
|
||||||
PRICE = KURS ## Gibt den Kurs pro 100 € Nennwert eines Wertpapiers zurück, das periodisch Zinsen auszahlt
|
CELL = ZELLE ## Gibt Informationen zu Formatierung, Position oder Inhalt einer Zelle zurück
|
||||||
PRICEDISC = KURSDISAGIO ## Gibt den Kurs pro 100 € Nennwert eines unverzinslichen Wertpapiers zurück
|
ERROR.TYPE = FEHLER.TYP ## Gibt eine Zahl zurück, die einem Fehlertyp entspricht
|
||||||
PRICEMAT = KURSFÄLLIG ## Gibt den Kurs pro 100 € Nennwert eines Wertpapiers zurück, das Zinsen am Fälligkeitsdatum auszahlt
|
INFO = INFO ## Gibt Informationen zur aktuellen Betriebssystemumgebung zurück
|
||||||
PV = BW ## Gibt den Barwert einer Investition zurück
|
ISBLANK = ISTLEER ## Gibt WAHR zurück, wenn der Wert leer ist
|
||||||
RATE = ZINS ## Gibt den Zinssatz pro Zeitraum einer Annuität zurück
|
ISERR = ISTFEHL ## Gibt WAHR zurück, wenn der Wert ein beliebiger Fehlerwert außer #N/V ist
|
||||||
RECEIVED = AUSZAHLUNG ## Gibt den Auszahlungsbetrag eines voll investierten Wertpapiers am Fälligkeitstermin zurück
|
ISERROR = ISTFEHLER ## Gibt WAHR zurück, wenn der Wert ein beliebiger Fehlerwert ist
|
||||||
SLN = LIA ## Gibt die lineare Abschreibung eines Wirtschaftsguts pro Periode zurück
|
ISEVEN = ISTGERADE ## Gibt WAHR zurück, wenn es sich um eine gerade Zahl handelt
|
||||||
SYD = DIA ## Gibt die arithmetisch-degressive Abschreibung eines Wirtschaftsguts für eine bestimmte Periode zurück
|
ISLOGICAL = ISTLOG ## Gibt WAHR zurück, wenn der Wert ein Wahrheitswert ist
|
||||||
TBILLEQ = TBILLÄQUIV ## Gibt die Rendite für ein Wertpapier zurück
|
ISNA = ISTNV ## Gibt WAHR zurück, wenn der Wert der Fehlerwert #N/V ist
|
||||||
TBILLPRICE = TBILLKURS ## Gibt den Kurs pro 100 € Nennwert eines Wertpapiers zurück
|
ISNONTEXT = ISTKTEXT ## Gibt WAHR zurück, wenn der Wert ein Element ist, das keinen Text enthält
|
||||||
TBILLYIELD = TBILLRENDITE ## Gibt die Rendite für ein Wertpapier zurück
|
ISNUMBER = ISTZAHL ## Gibt WAHR zurück, wenn der Wert eine Zahl ist
|
||||||
VDB = VDB ## Gibt die degressive Abschreibung eines Wirtschaftsguts für eine bestimmte Periode oder Teilperiode zurück
|
ISODD = ISTUNGERADE ## Gibt WAHR zurück, wenn es sich um eine ungerade Zahl handelt
|
||||||
XIRR = XINTZINSFUSS ## Gibt den internen Zinsfuß einer Reihe nicht periodisch anfallender Zahlungen zurück
|
ISREF = ISTBEZUG ## Gibt WAHR zurück, wenn der Wert ein Bezug ist
|
||||||
XNPV = XKAPITALWERT ## Gibt den Nettobarwert (Kapitalwert) einer Reihe nicht periodisch anfallender Zahlungen zurück
|
ISTEXT = ISTTEXT ## Gibt WAHR zurück, wenn der Wert ein Element ist, das Text enthält
|
||||||
YIELD = RENDITE ## Gibt die Rendite eines Wertpapiers zurück, das periodisch Zinsen auszahlt
|
N = N ## Gibt den in eine Zahl umgewandelten Wert zurück
|
||||||
YIELDDISC = RENDITEDIS ## Gibt die jährliche Rendite eines unverzinslichen Wertpapiers zurück
|
NA = NV ## Gibt den Fehlerwert #NV zurück
|
||||||
YIELDMAT = RENDITEFÄLL ## Gibt die jährliche Rendite eines Wertpapiers zurück, das Zinsen am Fälligkeitsdatum auszahlt
|
TYPE = TYP ## Gibt eine Zahl zurück, die den Datentyp des angegebenen Werts anzeigt
|
||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Information functions Informationsfunktionen
|
## Logical functions Logische Funktionen
|
||||||
##
|
##
|
||||||
CELL = ZELLE ## Gibt Informationen zu Formatierung, Position oder Inhalt einer Zelle zurück
|
AND = UND ## Gibt WAHR zurück, wenn alle zugehörigen Argumente WAHR sind
|
||||||
ERROR.TYPE = FEHLER.TYP ## Gibt eine Zahl zurück, die einem Fehlertyp entspricht
|
FALSE = FALSCH ## Gibt den Wahrheitswert FALSCH zurück
|
||||||
INFO = INFO ## Gibt Informationen zur aktuellen Betriebssystemumgebung zurück
|
IF = WENN ## Gibt einen logischen Test zum Ausführen an
|
||||||
ISBLANK = ISTLEER ## Gibt WAHR zurück, wenn der Wert leer ist
|
IFERROR = WENNFEHLER ## Gibt einen von Ihnen festgelegten Wert zurück, wenn die Auswertung der Formel zu einem Fehler führt; andernfalls wird das Ergebnis der Formel zurückgegeben
|
||||||
ISERR = ISTFEHL ## Gibt WAHR zurück, wenn der Wert ein beliebiger Fehlerwert außer #N/V ist
|
NOT = NICHT ## Kehrt den Wahrheitswert der zugehörigen Argumente um
|
||||||
ISERROR = ISTFEHLER ## Gibt WAHR zurück, wenn der Wert ein beliebiger Fehlerwert ist
|
OR = ODER ## Gibt WAHR zurück, wenn ein Argument WAHR ist
|
||||||
ISEVEN = ISTGERADE ## Gibt WAHR zurück, wenn es sich um eine gerade Zahl handelt
|
TRUE = WAHR ## Gibt den Wahrheitswert WAHR zurück
|
||||||
ISLOGICAL = ISTLOG ## Gibt WAHR zurück, wenn der Wert ein Wahrheitswert ist
|
|
||||||
ISNA = ISTNV ## Gibt WAHR zurück, wenn der Wert der Fehlerwert #N/V ist
|
|
||||||
ISNONTEXT = ISTKTEXT ## Gibt WAHR zurück, wenn der Wert ein Element ist, das keinen Text enthält
|
##
|
||||||
ISNUMBER = ISTZAHL ## Gibt WAHR zurück, wenn der Wert eine Zahl ist
|
## Lookup and reference functions Nachschlage- und Verweisfunktionen
|
||||||
ISODD = ISTUNGERADE ## Gibt WAHR zurück, wenn es sich um eine ungerade Zahl handelt
|
##
|
||||||
ISREF = ISTBEZUG ## Gibt WAHR zurück, wenn der Wert ein Bezug ist
|
ADDRESS = ADRESSE ## Gibt einen Bezug auf eine einzelne Zelle in einem Tabellenblatt als Text zurück
|
||||||
ISTEXT = ISTTEXT ## Gibt WAHR zurück, wenn der Wert ein Element ist, das Text enthält
|
AREAS = BEREICHE ## Gibt die Anzahl der innerhalb eines Bezugs aufgeführten Bereiche zurück
|
||||||
N = N ## Gibt den in eine Zahl umgewandelten Wert zurück
|
CHOOSE = WAHL ## Wählt einen Wert aus eine Liste mit Werten aus
|
||||||
NA = NV ## Gibt den Fehlerwert #NV zurück
|
COLUMN = SPALTE ## Gibt die Spaltennummer eines Bezugs zurück
|
||||||
TYPE = TYP ## Gibt eine Zahl zurück, die den Datentyp des angegebenen Werts anzeigt
|
COLUMNS = SPALTEN ## Gibt die Anzahl der Spalten in einem Bezug zurück
|
||||||
|
HLOOKUP = HVERWEIS ## Sucht in der obersten Zeile einer Matrix und gibt den Wert der angegebenen Zelle zurück
|
||||||
|
HYPERLINK = HYPERLINK ## Erstellt eine Verknüpfung, über die ein auf einem Netzwerkserver, in einem Intranet oder im Internet gespeichertes Dokument geöffnet wird
|
||||||
##
|
INDEX = INDEX ## Verwendet einen Index, um einen Wert aus einem Bezug oder einer Matrix auszuwählen
|
||||||
## Logical functions Logische Funktionen
|
INDIRECT = INDIREKT ## Gibt einen Bezug zurück, der von einem Textwert angegeben wird
|
||||||
##
|
LOOKUP = LOOKUP ## Sucht Werte in einem Vektor oder einer Matrix
|
||||||
AND = UND ## Gibt WAHR zurück, wenn alle zugehörigen Argumente WAHR sind
|
MATCH = VERGLEICH ## Sucht Werte in einem Bezug oder einer Matrix
|
||||||
FALSE = FALSCH ## Gibt den Wahrheitswert FALSCH zurück
|
OFFSET = BEREICH.VERSCHIEBEN ## Gibt einen Bezugoffset aus einem gegebenen Bezug zurück
|
||||||
IF = WENN ## Gibt einen logischen Test zum Ausführen an
|
ROW = ZEILE ## Gibt die Zeilennummer eines Bezugs zurück
|
||||||
IFERROR = WENNFEHLER ## Gibt einen von Ihnen festgelegten Wert zurück, wenn die Auswertung der Formel zu einem Fehler führt; andernfalls wird das Ergebnis der Formel zurückgegeben
|
ROWS = ZEILEN ## Gibt die Anzahl der Zeilen in einem Bezug zurück
|
||||||
NOT = NICHT ## Kehrt den Wahrheitswert der zugehörigen Argumente um
|
RTD = RTD ## Ruft Echtzeitdaten von einem Programm ab, das die COM-Automatisierung (Automatisierung: Ein Verfahren, bei dem aus einer Anwendung oder einem Entwicklungstool heraus mit den Objekten einer anderen Anwendung gearbeitet wird. Die früher als OLE-Automatisierung bezeichnete Automatisierung ist ein Industriestandard und eine Funktion von COM (Component Object Model).) unterstützt
|
||||||
OR = ODER ## Gibt WAHR zurück, wenn ein Argument WAHR ist
|
TRANSPOSE = MTRANS ## Gibt die transponierte Matrix einer Matrix zurück
|
||||||
TRUE = WAHR ## Gibt den Wahrheitswert WAHR zurück
|
VLOOKUP = SVERWEIS ## Sucht in der ersten Spalte einer Matrix und arbeitet sich durch die Zeile, um den Wert einer Zelle zurückzugeben
|
||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Lookup and reference functions Nachschlage- und Verweisfunktionen
|
## Math and trigonometry functions Mathematische und trigonometrische Funktionen
|
||||||
##
|
##
|
||||||
ADDRESS = ADRESSE ## Gibt einen Bezug auf eine einzelne Zelle in einem Tabellenblatt als Text zurück
|
ABS = ABS ## Gibt den Absolutwert einer Zahl zurück
|
||||||
AREAS = BEREICHE ## Gibt die Anzahl der innerhalb eines Bezugs aufgeführten Bereiche zurück
|
ACOS = ARCCOS ## Gibt den Arkuskosinus einer Zahl zurück
|
||||||
CHOOSE = WAHL ## Wählt einen Wert aus eine Liste mit Werten aus
|
ACOSH = ARCCOSHYP ## Gibt den umgekehrten hyperbolischen Kosinus einer Zahl zurück
|
||||||
COLUMN = SPALTE ## Gibt die Spaltennummer eines Bezugs zurück
|
ASIN = ARCSIN ## Gibt den Arkussinus einer Zahl zurück
|
||||||
COLUMNS = SPALTEN ## Gibt die Anzahl der Spalten in einem Bezug zurück
|
ASINH = ARCSINHYP ## Gibt den umgekehrten hyperbolischen Sinus einer Zahl zurück
|
||||||
HLOOKUP = HVERWEIS ## Sucht in der obersten Zeile einer Matrix und gibt den Wert der angegebenen Zelle zurück
|
ATAN = ARCTAN ## Gibt den Arkustangens einer Zahl zurück
|
||||||
HYPERLINK = HYPERLINK ## Erstellt eine Verknüpfung, über die ein auf einem Netzwerkserver, in einem Intranet oder im Internet gespeichertes Dokument geöffnet wird
|
ATAN2 = ARCTAN2 ## Gibt den Arkustangens einer x- und einer y-Koordinate zurück
|
||||||
INDEX = INDEX ## Verwendet einen Index, um einen Wert aus einem Bezug oder einer Matrix auszuwählen
|
ATANH = ARCTANHYP ## Gibt den umgekehrten hyperbolischen Tangens einer Zahl zurück
|
||||||
INDIRECT = INDIREKT ## Gibt einen Bezug zurück, der von einem Textwert angegeben wird
|
CEILING = OBERGRENZE ## Rundet eine Zahl auf die nächste ganze Zahl oder das nächste Vielfache von Schritt
|
||||||
LOOKUP = LOOKUP ## Sucht Werte in einem Vektor oder einer Matrix
|
COMBIN = KOMBINATIONEN ## Gibt die Anzahl der Kombinationen für eine bestimmte Anzahl von Objekten zurück
|
||||||
MATCH = VERGLEICH ## Sucht Werte in einem Bezug oder einer Matrix
|
COS = COS ## Gibt den Kosinus einer Zahl zurück
|
||||||
OFFSET = BEREICH.VERSCHIEBEN ## Gibt einen Bezugoffset aus einem gegebenen Bezug zurück
|
COSH = COSHYP ## Gibt den hyperbolischen Kosinus einer Zahl zurück
|
||||||
ROW = ZEILE ## Gibt die Zeilennummer eines Bezugs zurück
|
DEGREES = GRAD ## Wandelt Bogenmaß (Radiant) in Grad um
|
||||||
ROWS = ZEILEN ## Gibt die Anzahl der Zeilen in einem Bezug zurück
|
EVEN = GERADE ## Rundet eine Zahl auf die nächste gerade ganze Zahl auf
|
||||||
RTD = RTD ## Ruft Echtzeitdaten von einem Programm ab, das die COM-Automatisierung (Automatisierung: Ein Verfahren, bei dem aus einer Anwendung oder einem Entwicklungstool heraus mit den Objekten einer anderen Anwendung gearbeitet wird. Die früher als OLE-Automatisierung bezeichnete Automatisierung ist ein Industriestandard und eine Funktion von COM (Component Object Model).) unterstützt
|
EXP = EXP ## Potenziert die Basis e mit der als Argument angegebenen Zahl
|
||||||
TRANSPOSE = MTRANS ## Gibt die transponierte Matrix einer Matrix zurück
|
FACT = FAKULTÄT ## Gibt die Fakultät einer Zahl zurück
|
||||||
VLOOKUP = SVERWEIS ## Sucht in der ersten Spalte einer Matrix und arbeitet sich durch die Zeile, um den Wert einer Zelle zurückzugeben
|
FACTDOUBLE = ZWEIFAKULTÄT ## Gibt die Fakultät zu Zahl mit Schrittlänge 2 zurück
|
||||||
|
FLOOR = UNTERGRENZE ## Rundet die Zahl auf Anzahl_Stellen ab
|
||||||
|
GCD = GGT ## Gibt den größten gemeinsamen Teiler zurück
|
||||||
##
|
INT = GANZZAHL ## Rundet eine Zahl auf die nächstkleinere ganze Zahl ab
|
||||||
## Math and trigonometry functions Mathematische und trigonometrische Funktionen
|
LCM = KGV ## Gibt das kleinste gemeinsame Vielfache zurück
|
||||||
##
|
LN = LN ## Gibt den natürlichen Logarithmus einer Zahl zurück
|
||||||
ABS = ABS ## Gibt den Absolutwert einer Zahl zurück
|
LOG = LOG ## Gibt den Logarithmus einer Zahl zu der angegebenen Basis zurück
|
||||||
ACOS = ARCCOS ## Gibt den Arkuskosinus einer Zahl zurück
|
LOG10 = LOG10 ## Gibt den Logarithmus einer Zahl zur Basis 10 zurück
|
||||||
ACOSH = ARCCOSHYP ## Gibt den umgekehrten hyperbolischen Kosinus einer Zahl zurück
|
MDETERM = MDET ## Gibt die Determinante einer Matrix zurück
|
||||||
ASIN = ARCSIN ## Gibt den Arkussinus einer Zahl zurück
|
MINVERSE = MINV ## Gibt die inverse Matrix einer Matrix zurück
|
||||||
ASINH = ARCSINHYP ## Gibt den umgekehrten hyperbolischen Sinus einer Zahl zurück
|
MMULT = MMULT ## Gibt das Produkt zweier Matrizen zurück
|
||||||
ATAN = ARCTAN ## Gibt den Arkustangens einer Zahl zurück
|
MOD = REST ## Gibt den Rest einer Division zurück
|
||||||
ATAN2 = ARCTAN2 ## Gibt den Arkustangens einer x- und einer y-Koordinate zurück
|
MROUND = VRUNDEN ## Gibt eine auf das gewünschte Vielfache gerundete Zahl zurück
|
||||||
ATANH = ARCTANHYP ## Gibt den umgekehrten hyperbolischen Tangens einer Zahl zurück
|
MULTINOMIAL = POLYNOMIAL ## Gibt den Polynomialkoeffizienten einer Gruppe von Zahlen zurück
|
||||||
CEILING = OBERGRENZE ## Rundet eine Zahl auf die nächste ganze Zahl oder das nächste Vielfache von Schritt
|
ODD = UNGERADE ## Rundet eine Zahl auf die nächste ungerade ganze Zahl auf
|
||||||
COMBIN = KOMBINATIONEN ## Gibt die Anzahl der Kombinationen für eine bestimmte Anzahl von Objekten zurück
|
PI = PI ## Gibt den Wert Pi zurück
|
||||||
COS = COS ## Gibt den Kosinus einer Zahl zurück
|
POWER = POTENZ ## Gibt als Ergebnis eine potenzierte Zahl zurück
|
||||||
COSH = COSHYP ## Gibt den hyperbolischen Kosinus einer Zahl zurück
|
PRODUCT = PRODUKT ## Multipliziert die zugehörigen Argumente
|
||||||
DEGREES = GRAD ## Wandelt Bogenmaß (Radiant) in Grad um
|
QUOTIENT = QUOTIENT ## Gibt den ganzzahligen Anteil einer Division zurück
|
||||||
EVEN = GERADE ## Rundet eine Zahl auf die nächste gerade ganze Zahl auf
|
RADIANS = BOGENMASS ## Wandelt Grad in Bogenmaß (Radiant) um
|
||||||
EXP = EXP ## Potenziert die Basis e mit der als Argument angegebenen Zahl
|
RAND = ZUFALLSZAHL ## Gibt eine Zufallszahl zwischen 0 und 1 zurück
|
||||||
FACT = FAKULTÄT ## Gibt die Fakultät einer Zahl zurück
|
RANDBETWEEN = ZUFALLSBEREICH ## Gibt eine Zufallszahl aus dem festgelegten Bereich zurück
|
||||||
FACTDOUBLE = ZWEIFAKULTÄT ## Gibt die Fakultät zu Zahl mit Schrittlänge 2 zurück
|
ROMAN = RÖMISCH ## Wandelt eine arabische Zahl in eine römische Zahl als Text um
|
||||||
FLOOR = UNTERGRENZE ## Rundet die Zahl auf Anzahl_Stellen ab
|
ROUND = RUNDEN ## Rundet eine Zahl auf eine bestimmte Anzahl von Dezimalstellen
|
||||||
GCD = GGT ## Gibt den größten gemeinsamen Teiler zurück
|
ROUNDDOWN = ABRUNDEN ## Rundet die Zahl auf Anzahl_Stellen ab
|
||||||
INT = GANZZAHL ## Rundet eine Zahl auf die nächstkleinere ganze Zahl ab
|
ROUNDUP = AUFRUNDEN ## Rundet die Zahl auf Anzahl_Stellen auf
|
||||||
LCM = KGV ## Gibt das kleinste gemeinsame Vielfache zurück
|
SERIESSUM = POTENZREIHE ## Gibt die Summe von Potenzen (zur Berechnung von Potenzreihen und dichotomen Wahrscheinlichkeiten) zurück
|
||||||
LN = LN ## Gibt den natürlichen Logarithmus einer Zahl zurück
|
SIGN = VORZEICHEN ## Gibt das Vorzeichen einer Zahl zurück
|
||||||
LOG = LOG ## Gibt den Logarithmus einer Zahl zu der angegebenen Basis zurück
|
SIN = SIN ## Gibt den Sinus einer Zahl zurück
|
||||||
LOG10 = LOG10 ## Gibt den Logarithmus einer Zahl zur Basis 10 zurück
|
SINH = SINHYP ## Gibt den hyperbolischen Sinus einer Zahl zurück
|
||||||
MDETERM = MDET ## Gibt die Determinante einer Matrix zurück
|
SQRT = WURZEL ## Gibt die Quadratwurzel einer Zahl zurück
|
||||||
MINVERSE = MINV ## Gibt die inverse Matrix einer Matrix zurück
|
SQRTPI = WURZELPI ## Gibt die Wurzel aus der mit Pi (pi) multiplizierten Zahl zurück
|
||||||
MMULT = MMULT ## Gibt das Produkt zweier Matrizen zurück
|
SUBTOTAL = TEILERGEBNIS ## Gibt ein Teilergebnis in einer Liste oder Datenbank zurück
|
||||||
MOD = REST ## Gibt den Rest einer Division zurück
|
SUM = SUMME ## Addiert die zugehörigen Argumente
|
||||||
MROUND = VRUNDEN ## Gibt eine auf das gewünschte Vielfache gerundete Zahl zurück
|
SUMIF = SUMMEWENN ## Addiert Zahlen, die mit den Suchkriterien übereinstimmen
|
||||||
MULTINOMIAL = POLYNOMIAL ## Gibt den Polynomialkoeffizienten einer Gruppe von Zahlen zurück
|
SUMIFS = SUMMEWENNS ## Die Zellen, die mehrere Kriterien erfüllen, werden in einem Bereich hinzugefügt
|
||||||
ODD = UNGERADE ## Rundet eine Zahl auf die nächste ungerade ganze Zahl auf
|
SUMPRODUCT = SUMMENPRODUKT ## Gibt die Summe der Produkte zusammengehöriger Matrixkomponenten zurück
|
||||||
PI = PI ## Gibt den Wert Pi zurück
|
SUMSQ = QUADRATESUMME ## Gibt die Summe der quadrierten Argumente zurück
|
||||||
POWER = POTENZ ## Gibt als Ergebnis eine potenzierte Zahl zurück
|
SUMX2MY2 = SUMMEX2MY2 ## Gibt die Summe der Differenzen der Quadrate für zusammengehörige Komponenten zweier Matrizen zurück
|
||||||
PRODUCT = PRODUKT ## Multipliziert die zugehörigen Argumente
|
SUMX2PY2 = SUMMEX2PY2 ## Gibt die Summe der Quadrate für zusammengehörige Komponenten zweier Matrizen zurück
|
||||||
QUOTIENT = QUOTIENT ## Gibt den ganzzahligen Anteil einer Division zurück
|
SUMXMY2 = SUMMEXMY2 ## Gibt die Summe der quadrierten Differenzen für zusammengehörige Komponenten zweier Matrizen zurück
|
||||||
RADIANS = BOGENMASS ## Wandelt Grad in Bogenmaß (Radiant) um
|
TAN = TAN ## Gibt den Tangens einer Zahl zurück
|
||||||
RAND = ZUFALLSZAHL ## Gibt eine Zufallszahl zwischen 0 und 1 zurück
|
TANH = TANHYP ## Gibt den hyperbolischen Tangens einer Zahl zurück
|
||||||
RANDBETWEEN = ZUFALLSBEREICH ## Gibt eine Zufallszahl aus dem festgelegten Bereich zurück
|
TRUNC = KÜRZEN ## Schneidet die Kommastellen einer Zahl ab und gibt als Ergebnis eine ganze Zahl zurück
|
||||||
ROMAN = RÖMISCH ## Wandelt eine arabische Zahl in eine römische Zahl als Text um
|
|
||||||
ROUND = RUNDEN ## Rundet eine Zahl auf eine bestimmte Anzahl von Dezimalstellen
|
|
||||||
ROUNDDOWN = ABRUNDEN ## Rundet die Zahl auf Anzahl_Stellen ab
|
##
|
||||||
ROUNDUP = AUFRUNDEN ## Rundet die Zahl auf Anzahl_Stellen auf
|
## Statistical functions Statistische Funktionen
|
||||||
SERIESSUM = POTENZREIHE ## Gibt die Summe von Potenzen (zur Berechnung von Potenzreihen und dichotomen Wahrscheinlichkeiten) zurück
|
##
|
||||||
SIGN = VORZEICHEN ## Gibt das Vorzeichen einer Zahl zurück
|
AVEDEV = MITTELABW ## Gibt die durchschnittliche absolute Abweichung einer Reihe von Merkmalsausprägungen und ihrem Mittelwert zurück
|
||||||
SIN = SIN ## Gibt den Sinus einer Zahl zurück
|
AVERAGE = MITTELWERT ## Gibt den Mittelwert der zugehörigen Argumente zurück
|
||||||
SINH = SINHYP ## Gibt den hyperbolischen Sinus einer Zahl zurück
|
AVERAGEA = MITTELWERTA ## Gibt den Mittelwert der zugehörigen Argumente, die Zahlen, Text und Wahrheitswerte enthalten, zurück
|
||||||
SQRT = WURZEL ## Gibt die Quadratwurzel einer Zahl zurück
|
AVERAGEIF = MITTELWERTWENN ## Der Durchschnittswert (arithmetisches Mittel) für alle Zellen in einem Bereich, die einem angegebenen Kriterium entsprechen, wird zurückgegeben
|
||||||
SQRTPI = WURZELPI ## Gibt die Wurzel aus der mit Pi (pi) multiplizierten Zahl zurück
|
AVERAGEIFS = MITTELWERTWENNS ## Gibt den Durchschnittswert (arithmetisches Mittel) aller Zellen zurück, die mehreren Kriterien entsprechen
|
||||||
SUBTOTAL = TEILERGEBNIS ## Gibt ein Teilergebnis in einer Liste oder Datenbank zurück
|
BETADIST = BETAVERT ## Gibt die Werte der kumulierten Betaverteilungsfunktion zurück
|
||||||
SUM = SUMME ## Addiert die zugehörigen Argumente
|
BETAINV = BETAINV ## Gibt das Quantil der angegebenen Betaverteilung zurück
|
||||||
SUMIF = SUMMEWENN ## Addiert Zahlen, die mit den Suchkriterien übereinstimmen
|
BINOMDIST = BINOMVERT ## Gibt Wahrscheinlichkeiten einer binomialverteilten Zufallsvariablen zurück
|
||||||
SUMIFS = SUMMEWENNS ## Die Zellen, die mehrere Kriterien erfüllen, werden in einem Bereich hinzugefügt
|
CHIDIST = CHIVERT ## Gibt Werte der Verteilungsfunktion (1-Alpha) einer Chi-Quadrat-verteilten Zufallsgröße zurück
|
||||||
SUMPRODUCT = SUMMENPRODUKT ## Gibt die Summe der Produkte zusammengehöriger Matrixkomponenten zurück
|
CHIINV = CHIINV ## Gibt Quantile der Verteilungsfunktion (1-Alpha) der Chi-Quadrat-Verteilung zurück
|
||||||
SUMSQ = QUADRATESUMME ## Gibt die Summe der quadrierten Argumente zurück
|
CHITEST = CHITEST ## Gibt die Teststatistik eines Unabhängigkeitstests zurück
|
||||||
SUMX2MY2 = SUMMEX2MY2 ## Gibt die Summe der Differenzen der Quadrate für zusammengehörige Komponenten zweier Matrizen zurück
|
CONFIDENCE = KONFIDENZ ## Ermöglicht die Berechnung des 1-Alpha Konfidenzintervalls für den Erwartungswert einer Zufallsvariablen
|
||||||
SUMX2PY2 = SUMMEX2PY2 ## Gibt die Summe der Quadrate für zusammengehörige Komponenten zweier Matrizen zurück
|
CORREL = KORREL ## Gibt den Korrelationskoeffizienten zweier Reihen von Merkmalsausprägungen zurück
|
||||||
SUMXMY2 = SUMMEXMY2 ## Gibt die Summe der quadrierten Differenzen für zusammengehörige Komponenten zweier Matrizen zurück
|
COUNT = ANZAHL ## Gibt die Anzahl der Zahlen in der Liste mit Argumenten an
|
||||||
TAN = TAN ## Gibt den Tangens einer Zahl zurück
|
COUNTA = ANZAHL2 ## Gibt die Anzahl der Werte in der Liste mit Argumenten an
|
||||||
TANH = TANHYP ## Gibt den hyperbolischen Tangens einer Zahl zurück
|
COUNTBLANK = ANZAHLLEEREZELLEN ## Gibt die Anzahl der leeren Zellen in einem Bereich an
|
||||||
TRUNC = KÜRZEN ## Schneidet die Kommastellen einer Zahl ab und gibt als Ergebnis eine ganze Zahl zurück
|
COUNTIF = ZÄHLENWENN ## Gibt die Anzahl der Zellen in einem Bereich an, deren Inhalte mit den Suchkriterien übereinstimmen
|
||||||
|
COUNTIFS = ZÄHLENWENNS ## Gibt die Anzahl der Zellen in einem Bereich an, deren Inhalte mit mehreren Suchkriterien übereinstimmen
|
||||||
|
COVAR = KOVAR ## Gibt die Kovarianz zurück, den Mittelwert der für alle Datenpunktpaare gebildeten Produkte der Abweichungen
|
||||||
##
|
CRITBINOM = KRITBINOM ## Gibt den kleinsten Wert zurück, für den die kumulierten Wahrscheinlichkeiten der Binomialverteilung kleiner oder gleich einer Grenzwahrscheinlichkeit sind
|
||||||
## Statistical functions Statistische Funktionen
|
DEVSQ = SUMQUADABW ## Gibt die Summe der quadrierten Abweichungen der Datenpunkte von ihrem Stichprobenmittelwert zurück
|
||||||
##
|
EXPONDIST = EXPONVERT ## Gibt Wahrscheinlichkeiten einer exponential verteilten Zufallsvariablen zurück
|
||||||
AVEDEV = MITTELABW ## Gibt die durchschnittliche absolute Abweichung einer Reihe von Merkmalsausprägungen und ihrem Mittelwert zurück
|
FDIST = FVERT ## Gibt Werte der Verteilungsfunktion (1-Alpha) einer F-verteilten Zufallsvariablen zurück
|
||||||
AVERAGE = MITTELWERT ## Gibt den Mittelwert der zugehörigen Argumente zurück
|
FINV = FINV ## Gibt Quantile der F-Verteilung zurück
|
||||||
AVERAGEA = MITTELWERTA ## Gibt den Mittelwert der zugehörigen Argumente, die Zahlen, Text und Wahrheitswerte enthalten, zurück
|
FISHER = FISHER ## Gibt die Fisher-Transformation zurück
|
||||||
AVERAGEIF = MITTELWERTWENN ## Der Durchschnittswert (arithmetisches Mittel) für alle Zellen in einem Bereich, die einem angegebenen Kriterium entsprechen, wird zurückgegeben
|
FISHERINV = FISHERINV ## Gibt die Umkehrung der Fisher-Transformation zurück
|
||||||
AVERAGEIFS = MITTELWERTWENNS ## Gibt den Durchschnittswert (arithmetisches Mittel) aller Zellen zurück, die mehreren Kriterien entsprechen
|
FORECAST = PROGNOSE ## Gibt einen Wert zurück, der sich aus einem linearen Trend ergibt
|
||||||
BETADIST = BETAVERT ## Gibt die Werte der kumulierten Betaverteilungsfunktion zurück
|
FREQUENCY = HÄUFIGKEIT ## Gibt eine Häufigkeitsverteilung als vertikale Matrix zurück
|
||||||
BETAINV = BETAINV ## Gibt das Quantil der angegebenen Betaverteilung zurück
|
FTEST = FTEST ## Gibt die Teststatistik eines F-Tests zurück
|
||||||
BINOMDIST = BINOMVERT ## Gibt Wahrscheinlichkeiten einer binomialverteilten Zufallsvariablen zurück
|
GAMMADIST = GAMMAVERT ## Gibt Wahrscheinlichkeiten einer gammaverteilten Zufallsvariablen zurück
|
||||||
CHIDIST = CHIVERT ## Gibt Werte der Verteilungsfunktion (1-Alpha) einer Chi-Quadrat-verteilten Zufallsgröße zurück
|
GAMMAINV = GAMMAINV ## Gibt Quantile der Gammaverteilung zurück
|
||||||
CHIINV = CHIINV ## Gibt Quantile der Verteilungsfunktion (1-Alpha) der Chi-Quadrat-Verteilung zurück
|
GAMMALN = GAMMALN ## Gibt den natürlichen Logarithmus der Gammafunktion zurück, Γ(x)
|
||||||
CHITEST = CHITEST ## Gibt die Teststatistik eines Unabhängigkeitstests zurück
|
GEOMEAN = GEOMITTEL ## Gibt das geometrische Mittel zurück
|
||||||
CONFIDENCE = KONFIDENZ ## Ermöglicht die Berechnung des 1-Alpha Konfidenzintervalls für den Erwartungswert einer Zufallsvariablen
|
GROWTH = VARIATION ## Gibt Werte zurück, die sich aus einem exponentiellen Trend ergeben
|
||||||
CORREL = KORREL ## Gibt den Korrelationskoeffizienten zweier Reihen von Merkmalsausprägungen zurück
|
HARMEAN = HARMITTEL ## Gibt das harmonische Mittel zurück
|
||||||
COUNT = ANZAHL ## Gibt die Anzahl der Zahlen in der Liste mit Argumenten an
|
HYPGEOMDIST = HYPGEOMVERT ## Gibt Wahrscheinlichkeiten einer hypergeometrisch-verteilten Zufallsvariablen zurück
|
||||||
COUNTA = ANZAHL2 ## Gibt die Anzahl der Werte in der Liste mit Argumenten an
|
INTERCEPT = ACHSENABSCHNITT ## Gibt den Schnittpunkt der Regressionsgeraden zurück
|
||||||
COUNTBLANK = ANZAHLLEEREZELLEN ## Gibt die Anzahl der leeren Zellen in einem Bereich an
|
KURT = KURT ## Gibt die Kurtosis (Exzess) einer Datengruppe zurück
|
||||||
COUNTIF = ZÄHLENWENN ## Gibt die Anzahl der Zellen in einem Bereich an, deren Inhalte mit den Suchkriterien übereinstimmen
|
LARGE = KGRÖSSTE ## Gibt den k-größten Wert einer Datengruppe zurück
|
||||||
COUNTIFS = ZÄHLENWENNS ## Gibt die Anzahl der Zellen in einem Bereich an, deren Inhalte mit mehreren Suchkriterien übereinstimmen
|
LINEST = RGP ## Gibt die Parameter eines linearen Trends zurück
|
||||||
COVAR = KOVAR ## Gibt die Kovarianz zurück, den Mittelwert der für alle Datenpunktpaare gebildeten Produkte der Abweichungen
|
LOGEST = RKP ## Gibt die Parameter eines exponentiellen Trends zurück
|
||||||
CRITBINOM = KRITBINOM ## Gibt den kleinsten Wert zurück, für den die kumulierten Wahrscheinlichkeiten der Binomialverteilung kleiner oder gleich einer Grenzwahrscheinlichkeit sind
|
LOGINV = LOGINV ## Gibt Quantile der Lognormalverteilung zurück
|
||||||
DEVSQ = SUMQUADABW ## Gibt die Summe der quadrierten Abweichungen der Datenpunkte von ihrem Stichprobenmittelwert zurück
|
LOGNORMDIST = LOGNORMVERT ## Gibt Werte der Verteilungsfunktion einer lognormalverteilten Zufallsvariablen zurück
|
||||||
EXPONDIST = EXPONVERT ## Gibt Wahrscheinlichkeiten einer exponential verteilten Zufallsvariablen zurück
|
MAX = MAX ## Gibt den Maximalwert einer Liste mit Argumenten zurück
|
||||||
FDIST = FVERT ## Gibt Werte der Verteilungsfunktion (1-Alpha) einer F-verteilten Zufallsvariablen zurück
|
MAXA = MAXA ## Gibt den Maximalwert einer Liste mit Argumenten zurück, die Zahlen, Text und Wahrheitswerte enthalten
|
||||||
FINV = FINV ## Gibt Quantile der F-Verteilung zurück
|
MEDIAN = MEDIAN ## Gibt den Median der angegebenen Zahlen zurück
|
||||||
FISHER = FISHER ## Gibt die Fisher-Transformation zurück
|
MIN = MIN ## Gibt den Minimalwert einer Liste mit Argumenten zurück
|
||||||
FISHERINV = FISHERINV ## Gibt die Umkehrung der Fisher-Transformation zurück
|
MINA = MINA ## Gibt den kleinsten Wert einer Liste mit Argumenten zurück, die Zahlen, Text und Wahrheitswerte enthalten
|
||||||
FORECAST = PROGNOSE ## Gibt einen Wert zurück, der sich aus einem linearen Trend ergibt
|
MODE = MODALWERT ## Gibt den am häufigsten vorkommenden Wert in einer Datengruppe zurück
|
||||||
FREQUENCY = HÄUFIGKEIT ## Gibt eine Häufigkeitsverteilung als vertikale Matrix zurück
|
NEGBINOMDIST = NEGBINOMVERT ## Gibt Wahrscheinlichkeiten einer negativen, binominal verteilten Zufallsvariablen zurück
|
||||||
FTEST = FTEST ## Gibt die Teststatistik eines F-Tests zurück
|
NORMDIST = NORMVERT ## Gibt Wahrscheinlichkeiten einer normal verteilten Zufallsvariablen zurück
|
||||||
GAMMADIST = GAMMAVERT ## Gibt Wahrscheinlichkeiten einer gammaverteilten Zufallsvariablen zurück
|
NORMINV = NORMINV ## Gibt Quantile der Normalverteilung zurück
|
||||||
GAMMAINV = GAMMAINV ## Gibt Quantile der Gammaverteilung zurück
|
NORMSDIST = STANDNORMVERT ## Gibt Werte der Verteilungsfunktion einer standardnormalverteilten Zufallsvariablen zurück
|
||||||
GAMMALN = GAMMALN ## Gibt den natürlichen Logarithmus der Gammafunktion zurück, Γ(x)
|
NORMSINV = STANDNORMINV ## Gibt Quantile der Standardnormalverteilung zurück
|
||||||
GEOMEAN = GEOMITTEL ## Gibt das geometrische Mittel zurück
|
PEARSON = PEARSON ## Gibt den Pearsonschen Korrelationskoeffizienten zurück
|
||||||
GROWTH = VARIATION ## Gibt Werte zurück, die sich aus einem exponentiellen Trend ergeben
|
PERCENTILE = QUANTIL ## Gibt das Alpha-Quantil einer Gruppe von Daten zurück
|
||||||
HARMEAN = HARMITTEL ## Gibt das harmonische Mittel zurück
|
PERCENTRANK = QUANTILSRANG ## Gibt den prozentualen Rang (Alpha) eines Werts in einer Datengruppe zurück
|
||||||
HYPGEOMDIST = HYPGEOMVERT ## Gibt Wahrscheinlichkeiten einer hypergeometrisch-verteilten Zufallsvariablen zurück
|
PERMUT = VARIATIONEN ## Gibt die Anzahl der Möglichkeiten zurück, um k Elemente aus einer Menge von n Elementen ohne Zurücklegen zu ziehen
|
||||||
INTERCEPT = ACHSENABSCHNITT ## Gibt den Schnittpunkt der Regressionsgeraden zurück
|
POISSON = POISSON ## Gibt Wahrscheinlichkeiten einer poissonverteilten Zufallsvariablen zurück
|
||||||
KURT = KURT ## Gibt die Kurtosis (Exzess) einer Datengruppe zurück
|
PROB = WAHRSCHBEREICH ## Gibt die Wahrscheinlichkeit für ein von zwei Werten eingeschlossenes Intervall zurück
|
||||||
LARGE = KGRÖSSTE ## Gibt den k-größten Wert einer Datengruppe zurück
|
QUARTILE = QUARTILE ## Gibt die Quartile der Datengruppe zurück
|
||||||
LINEST = RGP ## Gibt die Parameter eines linearen Trends zurück
|
RANK = RANG ## Gibt den Rang zurück, den eine Zahl innerhalb einer Liste von Zahlen einnimmt
|
||||||
LOGEST = RKP ## Gibt die Parameter eines exponentiellen Trends zurück
|
RSQ = BESTIMMTHEITSMASS ## Gibt das Quadrat des Pearsonschen Korrelationskoeffizienten zurück
|
||||||
LOGINV = LOGINV ## Gibt Quantile der Lognormalverteilung zurück
|
SKEW = SCHIEFE ## Gibt die Schiefe einer Verteilung zurück
|
||||||
LOGNORMDIST = LOGNORMVERT ## Gibt Werte der Verteilungsfunktion einer lognormalverteilten Zufallsvariablen zurück
|
SLOPE = STEIGUNG ## Gibt die Steigung der Regressionsgeraden zurück
|
||||||
MAX = MAX ## Gibt den Maximalwert einer Liste mit Argumenten zurück
|
SMALL = KKLEINSTE ## Gibt den k-kleinsten Wert einer Datengruppe zurück
|
||||||
MAXA = MAXA ## Gibt den Maximalwert einer Liste mit Argumenten zurück, die Zahlen, Text und Wahrheitswerte enthalten
|
STANDARDIZE = STANDARDISIERUNG ## Gibt den standardisierten Wert zurück
|
||||||
MEDIAN = MEDIAN ## Gibt den Median der angegebenen Zahlen zurück
|
STDEV = STABW ## Schätzt die Standardabweichung ausgehend von einer Stichprobe
|
||||||
MIN = MIN ## Gibt den Minimalwert einer Liste mit Argumenten zurück
|
STDEVA = STABWA ## Schätzt die Standardabweichung ausgehend von einer Stichprobe, die Zahlen, Text und Wahrheitswerte enthält
|
||||||
MINA = MINA ## Gibt den kleinsten Wert einer Liste mit Argumenten zurück, die Zahlen, Text und Wahrheitswerte enthalten
|
STDEVP = STABWN ## Berechnet die Standardabweichung ausgehend von der Grundgesamtheit
|
||||||
MODE = MODALWERT ## Gibt den am häufigsten vorkommenden Wert in einer Datengruppe zurück
|
STDEVPA = STABWNA ## Berechnet die Standardabweichung ausgehend von der Grundgesamtheit, die Zahlen, Text und Wahrheitswerte enthält
|
||||||
NEGBINOMDIST = NEGBINOMVERT ## Gibt Wahrscheinlichkeiten einer negativen, binominal verteilten Zufallsvariablen zurück
|
STEYX = STFEHLERYX ## Gibt den Standardfehler der geschätzten y-Werte für alle x-Werte der Regression zurück
|
||||||
NORMDIST = NORMVERT ## Gibt Wahrscheinlichkeiten einer normal verteilten Zufallsvariablen zurück
|
TDIST = TVERT ## Gibt Werte der Verteilungsfunktion (1-Alpha) einer (Student) t-verteilten Zufallsvariablen zurück
|
||||||
NORMINV = NORMINV ## Gibt Quantile der Normalverteilung zurück
|
TINV = TINV ## Gibt Quantile der t-Verteilung zurück
|
||||||
NORMSDIST = STANDNORMVERT ## Gibt Werte der Verteilungsfunktion einer standardnormalverteilten Zufallsvariablen zurück
|
TREND = TREND ## Gibt Werte zurück, die sich aus einem linearen Trend ergeben
|
||||||
NORMSINV = STANDNORMINV ## Gibt Quantile der Standardnormalverteilung zurück
|
TRIMMEAN = GESTUTZTMITTEL ## Gibt den Mittelwert einer Datengruppe zurück, ohne die Randwerte zu berücksichtigen
|
||||||
PEARSON = PEARSON ## Gibt den Pearsonschen Korrelationskoeffizienten zurück
|
TTEST = TTEST ## Gibt die Teststatistik eines Student'schen t-Tests zurück
|
||||||
PERCENTILE = QUANTIL ## Gibt das Alpha-Quantil einer Gruppe von Daten zurück
|
VAR = VARIANZ ## Schätzt die Varianz ausgehend von einer Stichprobe
|
||||||
PERCENTRANK = QUANTILSRANG ## Gibt den prozentualen Rang (Alpha) eines Werts in einer Datengruppe zurück
|
VARA = VARIANZA ## Schätzt die Varianz ausgehend von einer Stichprobe, die Zahlen, Text und Wahrheitswerte enthält
|
||||||
PERMUT = VARIATIONEN ## Gibt die Anzahl der Möglichkeiten zurück, um k Elemente aus einer Menge von n Elementen ohne Zurücklegen zu ziehen
|
VARP = VARIANZEN ## Berechnet die Varianz ausgehend von der Grundgesamtheit
|
||||||
POISSON = POISSON ## Gibt Wahrscheinlichkeiten einer poissonverteilten Zufallsvariablen zurück
|
VARPA = VARIANZENA ## Berechnet die Varianz ausgehend von der Grundgesamtheit, die Zahlen, Text und Wahrheitswerte enthält
|
||||||
PROB = WAHRSCHBEREICH ## Gibt die Wahrscheinlichkeit für ein von zwei Werten eingeschlossenes Intervall zurück
|
WEIBULL = WEIBULL ## Gibt Wahrscheinlichkeiten einer weibullverteilten Zufallsvariablen zurück
|
||||||
QUARTILE = QUARTILE ## Gibt die Quartile der Datengruppe zurück
|
ZTEST = GTEST ## Gibt den einseitigen Wahrscheinlichkeitswert für einen Gausstest (Normalverteilung) zurück
|
||||||
RANK = RANG ## Gibt den Rang zurück, den eine Zahl innerhalb einer Liste von Zahlen einnimmt
|
|
||||||
RSQ = BESTIMMTHEITSMASS ## Gibt das Quadrat des Pearsonschen Korrelationskoeffizienten zurück
|
|
||||||
SKEW = SCHIEFE ## Gibt die Schiefe einer Verteilung zurück
|
##
|
||||||
SLOPE = STEIGUNG ## Gibt die Steigung der Regressionsgeraden zurück
|
## Text functions Textfunktionen
|
||||||
SMALL = KKLEINSTE ## Gibt den k-kleinsten Wert einer Datengruppe zurück
|
##
|
||||||
STANDARDIZE = STANDARDISIERUNG ## Gibt den standardisierten Wert zurück
|
ASC = ASC ## Konvertiert DB-Text in einer Zeichenfolge (lateinische Buchstaben oder Katakana) in SB-Text
|
||||||
STDEV = STABW ## Schätzt die Standardabweichung ausgehend von einer Stichprobe
|
BAHTTEXT = BAHTTEXT ## Wandelt eine Zahl in Text im Währungsformat ß (Baht) um
|
||||||
STDEVA = STABWA ## Schätzt die Standardabweichung ausgehend von einer Stichprobe, die Zahlen, Text und Wahrheitswerte enthält
|
CHAR = ZEICHEN ## Gibt das der Codezahl entsprechende Zeichen zurück
|
||||||
STDEVP = STABWN ## Berechnet die Standardabweichung ausgehend von der Grundgesamtheit
|
CLEAN = SÄUBERN ## Löscht alle nicht druckbaren Zeichen aus einem Text
|
||||||
STDEVPA = STABWNA ## Berechnet die Standardabweichung ausgehend von der Grundgesamtheit, die Zahlen, Text und Wahrheitswerte enthält
|
CODE = CODE ## Gibt die Codezahl des ersten Zeichens in einem Text zurück
|
||||||
STEYX = STFEHLERYX ## Gibt den Standardfehler der geschätzten y-Werte für alle x-Werte der Regression zurück
|
CONCATENATE = VERKETTEN ## Verknüpft mehrere Textelemente zu einem Textelement
|
||||||
TDIST = TVERT ## Gibt Werte der Verteilungsfunktion (1-Alpha) einer (Student) t-verteilten Zufallsvariablen zurück
|
DOLLAR = DM ## Wandelt eine Zahl in Text im Währungsformat € (Euro) um
|
||||||
TINV = TINV ## Gibt Quantile der t-Verteilung zurück
|
EXACT = IDENTISCH ## Prüft, ob zwei Textwerte identisch sind
|
||||||
TREND = TREND ## Gibt Werte zurück, die sich aus einem linearen Trend ergeben
|
FIND = FINDEN ## Sucht nach einem Textwert, der in einem anderen Textwert enthalten ist (Groß-/Kleinschreibung wird unterschieden)
|
||||||
TRIMMEAN = GESTUTZTMITTEL ## Gibt den Mittelwert einer Datengruppe zurück, ohne die Randwerte zu berücksichtigen
|
FINDB = FINDENB ## Sucht nach einem Textwert, der in einem anderen Textwert enthalten ist (Groß-/Kleinschreibung wird unterschieden)
|
||||||
TTEST = TTEST ## Gibt die Teststatistik eines Student'schen t-Tests zurück
|
FIXED = FEST ## Formatiert eine Zahl als Text mit einer festen Anzahl von Dezimalstellen
|
||||||
VAR = VARIANZ ## Schätzt die Varianz ausgehend von einer Stichprobe
|
JIS = JIS ## Konvertiert SB-Text in einer Zeichenfolge (lateinische Buchstaben oder Katakana) in DB-Text
|
||||||
VARA = VARIANZA ## Schätzt die Varianz ausgehend von einer Stichprobe, die Zahlen, Text und Wahrheitswerte enthält
|
LEFT = LINKS ## Gibt die Zeichen ganz links in einem Textwert zurück
|
||||||
VARP = VARIANZEN ## Berechnet die Varianz ausgehend von der Grundgesamtheit
|
LEFTB = LINKSB ## Gibt die Zeichen ganz links in einem Textwert zurück
|
||||||
VARPA = VARIANZENA ## Berechnet die Varianz ausgehend von der Grundgesamtheit, die Zahlen, Text und Wahrheitswerte enthält
|
LEN = LÄNGE ## Gibt die Anzahl der Zeichen in einer Zeichenfolge zurück
|
||||||
WEIBULL = WEIBULL ## Gibt Wahrscheinlichkeiten einer weibullverteilten Zufallsvariablen zurück
|
LENB = LÄNGEB ## Gibt die Anzahl der Zeichen in einer Zeichenfolge zurück
|
||||||
ZTEST = GTEST ## Gibt den einseitigen Wahrscheinlichkeitswert für einen Gausstest (Normalverteilung) zurück
|
LOWER = KLEIN ## Wandelt Text in Kleinbuchstaben um
|
||||||
|
MID = TEIL ## Gibt eine bestimmte Anzahl Zeichen aus einer Zeichenfolge ab der von Ihnen angegebenen Stelle zurück
|
||||||
|
MIDB = TEILB ## Gibt eine bestimmte Anzahl Zeichen aus einer Zeichenfolge ab der von Ihnen angegebenen Stelle zurück
|
||||||
##
|
PHONETIC = PHONETIC ## Extrahiert die phonetischen (Furigana-)Zeichen aus einer Textzeichenfolge
|
||||||
## Text functions Textfunktionen
|
PROPER = GROSS2 ## Wandelt den ersten Buchstaben aller Wörter eines Textwerts in Großbuchstaben um
|
||||||
##
|
REPLACE = ERSETZEN ## Ersetzt Zeichen in Text
|
||||||
ASC = ASC ## Konvertiert DB-Text in einer Zeichenfolge (lateinische Buchstaben oder Katakana) in SB-Text
|
REPLACEB = ERSETZENB ## Ersetzt Zeichen in Text
|
||||||
BAHTTEXT = BAHTTEXT ## Wandelt eine Zahl in Text im Währungsformat ß (Baht) um
|
REPT = WIEDERHOLEN ## Wiederholt einen Text so oft wie angegeben
|
||||||
CHAR = ZEICHEN ## Gibt das der Codezahl entsprechende Zeichen zurück
|
RIGHT = RECHTS ## Gibt die Zeichen ganz rechts in einem Textwert zurück
|
||||||
CLEAN = SÄUBERN ## Löscht alle nicht druckbaren Zeichen aus einem Text
|
RIGHTB = RECHTSB ## Gibt die Zeichen ganz rechts in einem Textwert zurück
|
||||||
CODE = CODE ## Gibt die Codezahl des ersten Zeichens in einem Text zurück
|
SEARCH = SUCHEN ## Sucht nach einem Textwert, der in einem anderen Textwert enthalten ist (Groß-/Kleinschreibung wird nicht unterschieden)
|
||||||
CONCATENATE = VERKETTEN ## Verknüpft mehrere Textelemente zu einem Textelement
|
SEARCHB = SUCHENB ## Sucht nach einem Textwert, der in einem anderen Textwert enthalten ist (Groß-/Kleinschreibung wird nicht unterschieden)
|
||||||
DOLLAR = DM ## Wandelt eine Zahl in Text im Währungsformat € (Euro) um
|
SUBSTITUTE = WECHSELN ## Ersetzt in einer Zeichenfolge neuen Text gegen alten
|
||||||
EXACT = IDENTISCH ## Prüft, ob zwei Textwerte identisch sind
|
T = T ## Wandelt die zugehörigen Argumente in Text um
|
||||||
FIND = FINDEN ## Sucht nach einem Textwert, der in einem anderen Textwert enthalten ist (Groß-/Kleinschreibung wird unterschieden)
|
TEXT = TEXT ## Formatiert eine Zahl und wandelt sie in Text um
|
||||||
FINDB = FINDENB ## Sucht nach einem Textwert, der in einem anderen Textwert enthalten ist (Groß-/Kleinschreibung wird unterschieden)
|
TRIM = GLÄTTEN ## Entfernt Leerzeichen aus Text
|
||||||
FIXED = FEST ## Formatiert eine Zahl als Text mit einer festen Anzahl von Dezimalstellen
|
UPPER = GROSS ## Wandelt Text in Großbuchstaben um
|
||||||
JIS = JIS ## Konvertiert SB-Text in einer Zeichenfolge (lateinische Buchstaben oder Katakana) in DB-Text
|
VALUE = WERT ## Wandelt ein Textargument in eine Zahl um
|
||||||
LEFT = LINKS ## Gibt die Zeichen ganz links in einem Textwert zurück
|
|
||||||
LEFTB = LINKSB ## Gibt die Zeichen ganz links in einem Textwert zurück
|
|
||||||
LEN = LÄNGE ## Gibt die Anzahl der Zeichen in einer Zeichenfolge zurück
|
|
||||||
LENB = LÄNGEB ## Gibt die Anzahl der Zeichen in einer Zeichenfolge zurück
|
|
||||||
LOWER = KLEIN ## Wandelt Text in Kleinbuchstaben um
|
|
||||||
MID = TEIL ## Gibt eine bestimmte Anzahl Zeichen aus einer Zeichenfolge ab der von Ihnen angegebenen Stelle zurück
|
|
||||||
MIDB = TEILB ## Gibt eine bestimmte Anzahl Zeichen aus einer Zeichenfolge ab der von Ihnen angegebenen Stelle zurück
|
|
||||||
PHONETIC = PHONETIC ## Extrahiert die phonetischen (Furigana-)Zeichen aus einer Textzeichenfolge
|
|
||||||
PROPER = GROSS2 ## Wandelt den ersten Buchstaben aller Wörter eines Textwerts in Großbuchstaben um
|
|
||||||
REPLACE = ERSETZEN ## Ersetzt Zeichen in Text
|
|
||||||
REPLACEB = ERSETZENB ## Ersetzt Zeichen in Text
|
|
||||||
REPT = WIEDERHOLEN ## Wiederholt einen Text so oft wie angegeben
|
|
||||||
RIGHT = RECHTS ## Gibt die Zeichen ganz rechts in einem Textwert zurück
|
|
||||||
RIGHTB = RECHTSB ## Gibt die Zeichen ganz rechts in einem Textwert zurück
|
|
||||||
SEARCH = SUCHEN ## Sucht nach einem Textwert, der in einem anderen Textwert enthalten ist (Groß-/Kleinschreibung wird nicht unterschieden)
|
|
||||||
SEARCHB = SUCHENB ## Sucht nach einem Textwert, der in einem anderen Textwert enthalten ist (Groß-/Kleinschreibung wird nicht unterschieden)
|
|
||||||
SUBSTITUTE = WECHSELN ## Ersetzt in einer Zeichenfolge neuen Text gegen alten
|
|
||||||
T = T ## Wandelt die zugehörigen Argumente in Text um
|
|
||||||
TEXT = TEXT ## Formatiert eine Zahl und wandelt sie in Text um
|
|
||||||
TRIM = GLÄTTEN ## Entfernt Leerzeichen aus Text
|
|
||||||
UPPER = GROSS ## Wandelt Text in Großbuchstaben um
|
|
||||||
VALUE = WERT ## Wandelt ein Textargument in eine Zahl um
|
|
||||||
8
PhpOffice/PhpSpreadsheet/Calculation/locale/en/uk/config
Normal file
8
PhpOffice/PhpSpreadsheet/Calculation/locale/en/uk/config
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
##
|
||||||
|
## PhpSpreadsheet
|
||||||
|
##
|
||||||
|
|
||||||
|
##
|
||||||
|
## (For future use)
|
||||||
|
##
|
||||||
|
currencySymbol = £
|
||||||
24
PhpOffice/PhpSpreadsheet/Calculation/locale/es/config
Normal file
24
PhpOffice/PhpSpreadsheet/Calculation/locale/es/config
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
##
|
||||||
|
## PhpSpreadsheet
|
||||||
|
##
|
||||||
|
|
||||||
|
ArgumentSeparator = ;
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## (For future use)
|
||||||
|
##
|
||||||
|
currencySymbol = $ ## I'm surprised that the Excel Documentation suggests $ rather than €
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## Excel Error Codes (For future use)
|
||||||
|
|
||||||
|
##
|
||||||
|
NULL = #¡NULO!
|
||||||
|
DIV0 = #¡DIV/0!
|
||||||
|
VALUE = #¡VALOR!
|
||||||
|
REF = #¡REF!
|
||||||
|
NAME = #¿NOMBRE?
|
||||||
|
NUM = #¡NÚM!
|
||||||
|
NA = #N/A
|
||||||
|
|
@ -1,438 +1,416 @@
|
||||||
##
|
##
|
||||||
## PHPExcel
|
## PhpSpreadsheet
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Data in this file derived from https://www.excel-function-translation.com/
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
##
|
||||||
## modify it under the terms of the GNU Lesser General Public
|
|
||||||
## License as published by the Free Software Foundation; either
|
|
||||||
## version 2.1 of the License, or (at your option) any later version.
|
##
|
||||||
##
|
## Add-in and Automation functions Funciones de complementos y automatización
|
||||||
## This library is distributed in the hope that it will be useful,
|
##
|
||||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
GETPIVOTDATA = IMPORTARDATOSDINAMICOS ## Devuelve los datos almacenados en un informe de tabla dinámica.
|
||||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
## Lesser General Public License for more details.
|
|
||||||
##
|
##
|
||||||
## You should have received a copy of the GNU Lesser General Public
|
## Cube functions Funciones de cubo
|
||||||
## License along with this library; if not, write to the Free Software
|
##
|
||||||
## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
CUBEKPIMEMBER = MIEMBROKPICUBO ## Devuelve un nombre, propiedad y medida de indicador de rendimiento clave (KPI) y muestra el nombre y la propiedad en la celda. Un KPI es una medida cuantificable, como los beneficios brutos mensuales o la facturación trimestral por empleado, que se usa para supervisar el rendimiento de una organización.
|
||||||
##
|
CUBEMEMBER = MIEMBROCUBO ## Devuelve un miembro o tupla en una jerarquía de cubo. Se usa para validar la existencia del miembro o la tupla en el cubo.
|
||||||
## @category PHPExcel
|
CUBEMEMBERPROPERTY = PROPIEDADMIEMBROCUBO ## Devuelve el valor de una propiedad de miembro del cubo Se usa para validar la existencia de un nombre de miembro en el cubo y para devolver la propiedad especificada para este miembro.
|
||||||
## @package PHPExcel_Calculation
|
CUBERANKEDMEMBER = MIEMBRORANGOCUBO ## Devuelve el miembro n, o clasificado, de un conjunto. Se usa para devolver uno o más elementos de un conjunto, por ejemplo, el representante con mejores ventas o los diez mejores alumnos.
|
||||||
## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
CUBESET = CONJUNTOCUBO ## Define un conjunto calculado de miembros o tuplas mediante el envío de una expresión de conjunto al cubo en el servidor, lo que crea el conjunto y, después, devuelve dicho conjunto a Microsoft Office Excel.
|
||||||
## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
CUBESETCOUNT = RECUENTOCONJUNTOCUBO ## Devuelve el número de elementos de un conjunto.
|
||||||
## @version ##VERSION##, ##DATE##
|
CUBEVALUE = VALORCUBO ## Devuelve un valor agregado de un cubo.
|
||||||
##
|
|
||||||
## Data in this file derived from http://www.piuha.fi/excel-function-name-translation/
|
|
||||||
##
|
##
|
||||||
##
|
## Database functions Funciones de base de datos
|
||||||
|
##
|
||||||
|
DAVERAGE = BDPROMEDIO ## Devuelve el promedio de las entradas seleccionadas en la base de datos.
|
||||||
##
|
DCOUNT = BDCONTAR ## Cuenta el número de celdas que contienen números en una base de datos.
|
||||||
## Add-in and Automation functions Funciones de complementos y automatización
|
DCOUNTA = BDCONTARA ## Cuenta el número de celdas no vacías en una base de datos.
|
||||||
##
|
DGET = BDEXTRAER ## Extrae de una base de datos un único registro que cumple los criterios especificados.
|
||||||
GETPIVOTDATA = IMPORTARDATOSDINAMICOS ## Devuelve los datos almacenados en un informe de tabla dinámica.
|
DMAX = BDMAX ## Devuelve el valor máximo de las entradas seleccionadas de la base de datos.
|
||||||
|
DMIN = BDMIN ## Devuelve el valor mínimo de las entradas seleccionadas de la base de datos.
|
||||||
|
DPRODUCT = BDPRODUCTO ## Multiplica los valores de un campo concreto de registros de una base de datos que cumplen los criterios especificados.
|
||||||
##
|
DSTDEV = BDDESVEST ## Calcula la desviación estándar a partir de una muestra de entradas seleccionadas en la base de datos.
|
||||||
## Cube functions Funciones de cubo
|
DSTDEVP = BDDESVESTP ## Calcula la desviación estándar en función de la población total de las entradas seleccionadas de la base de datos.
|
||||||
##
|
DSUM = BDSUMA ## Suma los números de la columna de campo de los registros de la base de datos que cumplen los criterios.
|
||||||
CUBEKPIMEMBER = MIEMBROKPICUBO ## Devuelve un nombre, propiedad y medida de indicador de rendimiento clave (KPI) y muestra el nombre y la propiedad en la celda. Un KPI es una medida cuantificable, como los beneficios brutos mensuales o la facturación trimestral por empleado, que se usa para supervisar el rendimiento de una organización.
|
DVAR = BDVAR ## Calcula la varianza a partir de una muestra de entradas seleccionadas de la base de datos.
|
||||||
CUBEMEMBER = MIEMBROCUBO ## Devuelve un miembro o tupla en una jerarquía de cubo. Se usa para validar la existencia del miembro o la tupla en el cubo.
|
DVARP = BDVARP ## Calcula la varianza a partir de la población total de entradas seleccionadas de la base de datos.
|
||||||
CUBEMEMBERPROPERTY = PROPIEDADMIEMBROCUBO ## Devuelve el valor de una propiedad de miembro del cubo Se usa para validar la existencia de un nombre de miembro en el cubo y para devolver la propiedad especificada para este miembro.
|
|
||||||
CUBERANKEDMEMBER = MIEMBRORANGOCUBO ## Devuelve el miembro n, o clasificado, de un conjunto. Se usa para devolver uno o más elementos de un conjunto, por ejemplo, el representante con mejores ventas o los diez mejores alumnos.
|
|
||||||
CUBESET = CONJUNTOCUBO ## Define un conjunto calculado de miembros o tuplas mediante el envío de una expresión de conjunto al cubo en el servidor, lo que crea el conjunto y, después, devuelve dicho conjunto a Microsoft Office Excel.
|
##
|
||||||
CUBESETCOUNT = RECUENTOCONJUNTOCUBO ## Devuelve el número de elementos de un conjunto.
|
## Date and time functions Funciones de fecha y hora
|
||||||
CUBEVALUE = VALORCUBO ## Devuelve un valor agregado de un cubo.
|
##
|
||||||
|
DATE = FECHA ## Devuelve el número de serie correspondiente a una fecha determinada.
|
||||||
|
DATEVALUE = FECHANUMERO ## Convierte una fecha con formato de texto en un valor de número de serie.
|
||||||
##
|
DAY = DIA ## Convierte un número de serie en un valor de día del mes.
|
||||||
## Database functions Funciones de base de datos
|
DAYS360 = DIAS360 ## Calcula el número de días entre dos fechas a partir de un año de 360 días.
|
||||||
##
|
EDATE = FECHA.MES ## Devuelve el número de serie de la fecha equivalente al número indicado de meses anteriores o posteriores a la fecha inicial.
|
||||||
DAVERAGE = BDPROMEDIO ## Devuelve el promedio de las entradas seleccionadas en la base de datos.
|
EOMONTH = FIN.MES ## Devuelve el número de serie correspondiente al último día del mes anterior o posterior a un número de meses especificado.
|
||||||
DCOUNT = BDCONTAR ## Cuenta el número de celdas que contienen números en una base de datos.
|
HOUR = HORA ## Convierte un número de serie en un valor de hora.
|
||||||
DCOUNTA = BDCONTARA ## Cuenta el número de celdas no vacías en una base de datos.
|
MINUTE = MINUTO ## Convierte un número de serie en un valor de minuto.
|
||||||
DGET = BDEXTRAER ## Extrae de una base de datos un único registro que cumple los criterios especificados.
|
MONTH = MES ## Convierte un número de serie en un valor de mes.
|
||||||
DMAX = BDMAX ## Devuelve el valor máximo de las entradas seleccionadas de la base de datos.
|
NETWORKDAYS = DIAS.LAB ## Devuelve el número de todos los días laborables existentes entre dos fechas.
|
||||||
DMIN = BDMIN ## Devuelve el valor mínimo de las entradas seleccionadas de la base de datos.
|
NOW = AHORA ## Devuelve el número de serie correspondiente a la fecha y hora actuales.
|
||||||
DPRODUCT = BDPRODUCTO ## Multiplica los valores de un campo concreto de registros de una base de datos que cumplen los criterios especificados.
|
SECOND = SEGUNDO ## Convierte un número de serie en un valor de segundo.
|
||||||
DSTDEV = BDDESVEST ## Calcula la desviación estándar a partir de una muestra de entradas seleccionadas en la base de datos.
|
TIME = HORA ## Devuelve el número de serie correspondiente a una hora determinada.
|
||||||
DSTDEVP = BDDESVESTP ## Calcula la desviación estándar en función de la población total de las entradas seleccionadas de la base de datos.
|
TIMEVALUE = HORANUMERO ## Convierte una hora con formato de texto en un valor de número de serie.
|
||||||
DSUM = BDSUMA ## Suma los números de la columna de campo de los registros de la base de datos que cumplen los criterios.
|
TODAY = HOY ## Devuelve el número de serie correspondiente al día actual.
|
||||||
DVAR = BDVAR ## Calcula la varianza a partir de una muestra de entradas seleccionadas de la base de datos.
|
WEEKDAY = DIASEM ## Convierte un número de serie en un valor de día de la semana.
|
||||||
DVARP = BDVARP ## Calcula la varianza a partir de la población total de entradas seleccionadas de la base de datos.
|
WEEKNUM = NUM.DE.SEMANA ## Convierte un número de serie en un número que representa el lugar numérico correspondiente a una semana de un año.
|
||||||
|
WORKDAY = DIA.LAB ## Devuelve el número de serie de la fecha que tiene lugar antes o después de un número determinado de días laborables.
|
||||||
|
YEAR = AÑO ## Convierte un número de serie en un valor de año.
|
||||||
##
|
YEARFRAC = FRAC.AÑO ## Devuelve la fracción de año que representa el número total de días existentes entre el valor de fecha_inicial y el de fecha_final.
|
||||||
## Date and time functions Funciones de fecha y hora
|
|
||||||
##
|
|
||||||
DATE = FECHA ## Devuelve el número de serie correspondiente a una fecha determinada.
|
##
|
||||||
DATEVALUE = FECHANUMERO ## Convierte una fecha con formato de texto en un valor de número de serie.
|
## Engineering functions Funciones de ingeniería
|
||||||
DAY = DIA ## Convierte un número de serie en un valor de día del mes.
|
##
|
||||||
DAYS360 = DIAS360 ## Calcula el número de días entre dos fechas a partir de un año de 360 días.
|
BESSELI = BESSELI ## Devuelve la función Bessel In(x) modificada.
|
||||||
EDATE = FECHA.MES ## Devuelve el número de serie de la fecha equivalente al número indicado de meses anteriores o posteriores a la fecha inicial.
|
BESSELJ = BESSELJ ## Devuelve la función Bessel Jn(x).
|
||||||
EOMONTH = FIN.MES ## Devuelve el número de serie correspondiente al último día del mes anterior o posterior a un número de meses especificado.
|
BESSELK = BESSELK ## Devuelve la función Bessel Kn(x) modificada.
|
||||||
HOUR = HORA ## Convierte un número de serie en un valor de hora.
|
BESSELY = BESSELY ## Devuelve la función Bessel Yn(x).
|
||||||
MINUTE = MINUTO ## Convierte un número de serie en un valor de minuto.
|
BIN2DEC = BIN.A.DEC ## Convierte un número binario en decimal.
|
||||||
MONTH = MES ## Convierte un número de serie en un valor de mes.
|
BIN2HEX = BIN.A.HEX ## Convierte un número binario en hexadecimal.
|
||||||
NETWORKDAYS = DIAS.LAB ## Devuelve el número de todos los días laborables existentes entre dos fechas.
|
BIN2OCT = BIN.A.OCT ## Convierte un número binario en octal.
|
||||||
NOW = AHORA ## Devuelve el número de serie correspondiente a la fecha y hora actuales.
|
COMPLEX = COMPLEJO ## Convierte coeficientes reales e imaginarios en un número complejo.
|
||||||
SECOND = SEGUNDO ## Convierte un número de serie en un valor de segundo.
|
CONVERT = CONVERTIR ## Convierte un número de un sistema de medida a otro.
|
||||||
TIME = HORA ## Devuelve el número de serie correspondiente a una hora determinada.
|
DEC2BIN = DEC.A.BIN ## Convierte un número decimal en binario.
|
||||||
TIMEVALUE = HORANUMERO ## Convierte una hora con formato de texto en un valor de número de serie.
|
DEC2HEX = DEC.A.HEX ## Convierte un número decimal en hexadecimal.
|
||||||
TODAY = HOY ## Devuelve el número de serie correspondiente al día actual.
|
DEC2OCT = DEC.A.OCT ## Convierte un número decimal en octal.
|
||||||
WEEKDAY = DIASEM ## Convierte un número de serie en un valor de día de la semana.
|
DELTA = DELTA ## Comprueba si dos valores son iguales.
|
||||||
WEEKNUM = NUM.DE.SEMANA ## Convierte un número de serie en un número que representa el lugar numérico correspondiente a una semana de un año.
|
ERF = FUN.ERROR ## Devuelve la función de error.
|
||||||
WORKDAY = DIA.LAB ## Devuelve el número de serie de la fecha que tiene lugar antes o después de un número determinado de días laborables.
|
ERFC = FUN.ERROR.COMPL ## Devuelve la función de error complementario.
|
||||||
YEAR = AÑO ## Convierte un número de serie en un valor de año.
|
GESTEP = MAYOR.O.IGUAL ## Comprueba si un número es mayor que un valor de umbral.
|
||||||
YEARFRAC = FRAC.AÑO ## Devuelve la fracción de año que representa el número total de días existentes entre el valor de fecha_inicial y el de fecha_final.
|
HEX2BIN = HEX.A.BIN ## Convierte un número hexadecimal en binario.
|
||||||
|
HEX2DEC = HEX.A.DEC ## Convierte un número hexadecimal en decimal.
|
||||||
|
HEX2OCT = HEX.A.OCT ## Convierte un número hexadecimal en octal.
|
||||||
##
|
IMABS = IM.ABS ## Devuelve el valor absoluto (módulo) de un número complejo.
|
||||||
## Engineering functions Funciones de ingeniería
|
IMAGINARY = IMAGINARIO ## Devuelve el coeficiente imaginario de un número complejo.
|
||||||
##
|
IMARGUMENT = IM.ANGULO ## Devuelve el argumento theta, un ángulo expresado en radianes.
|
||||||
BESSELI = BESSELI ## Devuelve la función Bessel In(x) modificada.
|
IMCONJUGATE = IM.CONJUGADA ## Devuelve la conjugada compleja de un número complejo.
|
||||||
BESSELJ = BESSELJ ## Devuelve la función Bessel Jn(x).
|
IMCOS = IM.COS ## Devuelve el coseno de un número complejo.
|
||||||
BESSELK = BESSELK ## Devuelve la función Bessel Kn(x) modificada.
|
IMDIV = IM.DIV ## Devuelve el cociente de dos números complejos.
|
||||||
BESSELY = BESSELY ## Devuelve la función Bessel Yn(x).
|
IMEXP = IM.EXP ## Devuelve el valor exponencial de un número complejo.
|
||||||
BIN2DEC = BIN.A.DEC ## Convierte un número binario en decimal.
|
IMLN = IM.LN ## Devuelve el logaritmo natural (neperiano) de un número complejo.
|
||||||
BIN2HEX = BIN.A.HEX ## Convierte un número binario en hexadecimal.
|
IMLOG10 = IM.LOG10 ## Devuelve el logaritmo en base 10 de un número complejo.
|
||||||
BIN2OCT = BIN.A.OCT ## Convierte un número binario en octal.
|
IMLOG2 = IM.LOG2 ## Devuelve el logaritmo en base 2 de un número complejo.
|
||||||
COMPLEX = COMPLEJO ## Convierte coeficientes reales e imaginarios en un número complejo.
|
IMPOWER = IM.POT ## Devuelve un número complejo elevado a una potencia entera.
|
||||||
CONVERT = CONVERTIR ## Convierte un número de un sistema de medida a otro.
|
IMPRODUCT = IM.PRODUCT ## Devuelve el producto de números complejos.
|
||||||
DEC2BIN = DEC.A.BIN ## Convierte un número decimal en binario.
|
IMREAL = IM.REAL ## Devuelve el coeficiente real de un número complejo.
|
||||||
DEC2HEX = DEC.A.HEX ## Convierte un número decimal en hexadecimal.
|
IMSIN = IM.SENO ## Devuelve el seno de un número complejo.
|
||||||
DEC2OCT = DEC.A.OCT ## Convierte un número decimal en octal.
|
IMSQRT = IM.RAIZ2 ## Devuelve la raíz cuadrada de un número complejo.
|
||||||
DELTA = DELTA ## Comprueba si dos valores son iguales.
|
IMSUB = IM.SUSTR ## Devuelve la diferencia entre dos números complejos.
|
||||||
ERF = FUN.ERROR ## Devuelve la función de error.
|
IMSUM = IM.SUM ## Devuelve la suma de números complejos.
|
||||||
ERFC = FUN.ERROR.COMPL ## Devuelve la función de error complementario.
|
OCT2BIN = OCT.A.BIN ## Convierte un número octal en binario.
|
||||||
GESTEP = MAYOR.O.IGUAL ## Comprueba si un número es mayor que un valor de umbral.
|
OCT2DEC = OCT.A.DEC ## Convierte un número octal en decimal.
|
||||||
HEX2BIN = HEX.A.BIN ## Convierte un número hexadecimal en binario.
|
OCT2HEX = OCT.A.HEX ## Convierte un número octal en hexadecimal.
|
||||||
HEX2DEC = HEX.A.DEC ## Convierte un número hexadecimal en decimal.
|
|
||||||
HEX2OCT = HEX.A.OCT ## Convierte un número hexadecimal en octal.
|
|
||||||
IMABS = IM.ABS ## Devuelve el valor absoluto (módulo) de un número complejo.
|
##
|
||||||
IMAGINARY = IMAGINARIO ## Devuelve el coeficiente imaginario de un número complejo.
|
## Financial functions Funciones financieras
|
||||||
IMARGUMENT = IM.ANGULO ## Devuelve el argumento theta, un ángulo expresado en radianes.
|
##
|
||||||
IMCONJUGATE = IM.CONJUGADA ## Devuelve la conjugada compleja de un número complejo.
|
ACCRINT = INT.ACUM ## Devuelve el interés acumulado de un valor bursátil con pagos de interés periódicos.
|
||||||
IMCOS = IM.COS ## Devuelve el coseno de un número complejo.
|
ACCRINTM = INT.ACUM.V ## Devuelve el interés acumulado de un valor bursátil con pagos de interés al vencimiento.
|
||||||
IMDIV = IM.DIV ## Devuelve el cociente de dos números complejos.
|
AMORDEGRC = AMORTIZ.PROGRE ## Devuelve la amortización de cada período contable mediante el uso de un coeficiente de amortización.
|
||||||
IMEXP = IM.EXP ## Devuelve el valor exponencial de un número complejo.
|
AMORLINC = AMORTIZ.LIN ## Devuelve la amortización de cada uno de los períodos contables.
|
||||||
IMLN = IM.LN ## Devuelve el logaritmo natural (neperiano) de un número complejo.
|
COUPDAYBS = CUPON.DIAS.L1 ## Devuelve el número de días desde el principio del período de un cupón hasta la fecha de liquidación.
|
||||||
IMLOG10 = IM.LOG10 ## Devuelve el logaritmo en base 10 de un número complejo.
|
COUPDAYS = CUPON.DIAS ## Devuelve el número de días del período (entre dos cupones) donde se encuentra la fecha de liquidación.
|
||||||
IMLOG2 = IM.LOG2 ## Devuelve el logaritmo en base 2 de un número complejo.
|
COUPDAYSNC = CUPON.DIAS.L2 ## Devuelve el número de días desde la fecha de liquidación hasta la fecha del próximo cupón.
|
||||||
IMPOWER = IM.POT ## Devuelve un número complejo elevado a una potencia entera.
|
COUPNCD = CUPON.FECHA.L2 ## Devuelve la fecha del próximo cupón después de la fecha de liquidación.
|
||||||
IMPRODUCT = IM.PRODUCT ## Devuelve el producto de números complejos.
|
COUPNUM = CUPON.NUM ## Devuelve el número de pagos de cupón entre la fecha de liquidación y la fecha de vencimiento.
|
||||||
IMREAL = IM.REAL ## Devuelve el coeficiente real de un número complejo.
|
COUPPCD = CUPON.FECHA.L1 ## Devuelve la fecha de cupón anterior a la fecha de liquidación.
|
||||||
IMSIN = IM.SENO ## Devuelve el seno de un número complejo.
|
CUMIPMT = PAGO.INT.ENTRE ## Devuelve el interés acumulado pagado entre dos períodos.
|
||||||
IMSQRT = IM.RAIZ2 ## Devuelve la raíz cuadrada de un número complejo.
|
CUMPRINC = PAGO.PRINC.ENTRE ## Devuelve el capital acumulado pagado de un préstamo entre dos períodos.
|
||||||
IMSUB = IM.SUSTR ## Devuelve la diferencia entre dos números complejos.
|
DB = DB ## Devuelve la amortización de un bien durante un período específico a través del método de amortización de saldo fijo.
|
||||||
IMSUM = IM.SUM ## Devuelve la suma de números complejos.
|
DDB = DDB ## Devuelve la amortización de un bien durante un período específico a través del método de amortización por doble disminución de saldo u otro método que se especifique.
|
||||||
OCT2BIN = OCT.A.BIN ## Convierte un número octal en binario.
|
DISC = TASA.DESC ## Devuelve la tasa de descuento de un valor bursátil.
|
||||||
OCT2DEC = OCT.A.DEC ## Convierte un número octal en decimal.
|
DOLLARDE = MONEDA.DEC ## Convierte una cotización de un valor bursátil expresada en forma fraccionaria en una cotización de un valor bursátil expresada en forma decimal.
|
||||||
OCT2HEX = OCT.A.HEX ## Convierte un número octal en hexadecimal.
|
DOLLARFR = MONEDA.FRAC ## Convierte una cotización de un valor bursátil expresada en forma decimal en una cotización de un valor bursátil expresada en forma fraccionaria.
|
||||||
|
DURATION = DURACION ## Devuelve la duración anual de un valor bursátil con pagos de interés periódico.
|
||||||
|
EFFECT = INT.EFECTIVO ## Devuelve la tasa de interés anual efectiva.
|
||||||
##
|
FV = VF ## Devuelve el valor futuro de una inversión.
|
||||||
## Financial functions Funciones financieras
|
FVSCHEDULE = VF.PLAN ## Devuelve el valor futuro de un capital inicial después de aplicar una serie de tasas de interés compuesto.
|
||||||
##
|
INTRATE = TASA.INT ## Devuelve la tasa de interés para la inversión total de un valor bursátil.
|
||||||
ACCRINT = INT.ACUM ## Devuelve el interés acumulado de un valor bursátil con pagos de interés periódicos.
|
IPMT = PAGOINT ## Devuelve el pago de intereses de una inversión durante un período determinado.
|
||||||
ACCRINTM = INT.ACUM.V ## Devuelve el interés acumulado de un valor bursátil con pagos de interés al vencimiento.
|
IRR = TIR ## Devuelve la tasa interna de retorno para una serie de flujos de efectivo periódicos.
|
||||||
AMORDEGRC = AMORTIZ.PROGRE ## Devuelve la amortización de cada período contable mediante el uso de un coeficiente de amortización.
|
ISPMT = INT.PAGO.DIR ## Calcula el interés pagado durante un período específico de una inversión.
|
||||||
AMORLINC = AMORTIZ.LIN ## Devuelve la amortización de cada uno de los períodos contables.
|
MDURATION = DURACION.MODIF ## Devuelve la duración de Macauley modificada de un valor bursátil con un valor nominal supuesto de 100 $.
|
||||||
COUPDAYBS = CUPON.DIAS.L1 ## Devuelve el número de días desde el principio del período de un cupón hasta la fecha de liquidación.
|
MIRR = TIRM ## Devuelve la tasa interna de retorno donde se financian flujos de efectivo positivos y negativos a tasas diferentes.
|
||||||
COUPDAYS = CUPON.DIAS ## Devuelve el número de días del período (entre dos cupones) donde se encuentra la fecha de liquidación.
|
NOMINAL = TASA.NOMINAL ## Devuelve la tasa nominal de interés anual.
|
||||||
COUPDAYSNC = CUPON.DIAS.L2 ## Devuelve el número de días desde la fecha de liquidación hasta la fecha del próximo cupón.
|
NPER = NPER ## Devuelve el número de períodos de una inversión.
|
||||||
COUPNCD = CUPON.FECHA.L2 ## Devuelve la fecha del próximo cupón después de la fecha de liquidación.
|
NPV = VNA ## Devuelve el valor neto actual de una inversión en función de una serie de flujos periódicos de efectivo y una tasa de descuento.
|
||||||
COUPNUM = CUPON.NUM ## Devuelve el número de pagos de cupón entre la fecha de liquidación y la fecha de vencimiento.
|
ODDFPRICE = PRECIO.PER.IRREGULAR.1 ## Devuelve el precio por un valor nominal de 100 $ de un valor bursátil con un primer período impar.
|
||||||
COUPPCD = CUPON.FECHA.L1 ## Devuelve la fecha de cupón anterior a la fecha de liquidación.
|
ODDFYIELD = RENDTO.PER.IRREGULAR.1 ## Devuelve el rendimiento de un valor bursátil con un primer período impar.
|
||||||
CUMIPMT = PAGO.INT.ENTRE ## Devuelve el interés acumulado pagado entre dos períodos.
|
ODDLPRICE = PRECIO.PER.IRREGULAR.2 ## Devuelve el precio por un valor nominal de 100 $ de un valor bursátil con un último período impar.
|
||||||
CUMPRINC = PAGO.PRINC.ENTRE ## Devuelve el capital acumulado pagado de un préstamo entre dos períodos.
|
ODDLYIELD = RENDTO.PER.IRREGULAR.2 ## Devuelve el rendimiento de un valor bursátil con un último período impar.
|
||||||
DB = DB ## Devuelve la amortización de un bien durante un período específico a través del método de amortización de saldo fijo.
|
PMT = PAGO ## Devuelve el pago periódico de una anualidad.
|
||||||
DDB = DDB ## Devuelve la amortización de un bien durante un período específico a través del método de amortización por doble disminución de saldo u otro método que se especifique.
|
PPMT = PAGOPRIN ## Devuelve el pago de capital de una inversión durante un período determinado.
|
||||||
DISC = TASA.DESC ## Devuelve la tasa de descuento de un valor bursátil.
|
PRICE = PRECIO ## Devuelve el precio por un valor nominal de 100 $ de un valor bursátil que paga una tasa de interés periódico.
|
||||||
DOLLARDE = MONEDA.DEC ## Convierte una cotización de un valor bursátil expresada en forma fraccionaria en una cotización de un valor bursátil expresada en forma decimal.
|
PRICEDISC = PRECIO.DESCUENTO ## Devuelve el precio por un valor nominal de 100 $ de un valor bursátil con descuento.
|
||||||
DOLLARFR = MONEDA.FRAC ## Convierte una cotización de un valor bursátil expresada en forma decimal en una cotización de un valor bursátil expresada en forma fraccionaria.
|
PRICEMAT = PRECIO.VENCIMIENTO ## Devuelve el precio por un valor nominal de 100 $ de un valor bursátil que paga interés a su vencimiento.
|
||||||
DURATION = DURACION ## Devuelve la duración anual de un valor bursátil con pagos de interés periódico.
|
PV = VALACT ## Devuelve el valor actual de una inversión.
|
||||||
EFFECT = INT.EFECTIVO ## Devuelve la tasa de interés anual efectiva.
|
RATE = TASA ## Devuelve la tasa de interés por período de una anualidad.
|
||||||
FV = VF ## Devuelve el valor futuro de una inversión.
|
RECEIVED = CANTIDAD.RECIBIDA ## Devuelve la cantidad recibida al vencimiento de un valor bursátil completamente invertido.
|
||||||
FVSCHEDULE = VF.PLAN ## Devuelve el valor futuro de un capital inicial después de aplicar una serie de tasas de interés compuesto.
|
SLN = SLN ## Devuelve la amortización por método directo de un bien en un período dado.
|
||||||
INTRATE = TASA.INT ## Devuelve la tasa de interés para la inversión total de un valor bursátil.
|
SYD = SYD ## Devuelve la amortización por suma de dígitos de los años de un bien durante un período especificado.
|
||||||
IPMT = PAGOINT ## Devuelve el pago de intereses de una inversión durante un período determinado.
|
TBILLEQ = LETRA.DE.TES.EQV.A.BONO ## Devuelve el rendimiento de un bono equivalente a una letra del Tesoro (de EE.UU.)
|
||||||
IRR = TIR ## Devuelve la tasa interna de retorno para una serie de flujos de efectivo periódicos.
|
TBILLPRICE = LETRA.DE.TES.PRECIO ## Devuelve el precio por un valor nominal de 100 $ de una letra del Tesoro (de EE.UU.)
|
||||||
ISPMT = INT.PAGO.DIR ## Calcula el interés pagado durante un período específico de una inversión.
|
TBILLYIELD = LETRA.DE.TES.RENDTO ## Devuelve el rendimiento de una letra del Tesoro (de EE.UU.)
|
||||||
MDURATION = DURACION.MODIF ## Devuelve la duración de Macauley modificada de un valor bursátil con un valor nominal supuesto de 100 $.
|
VDB = DVS ## Devuelve la amortización de un bien durante un período específico o parcial a través del método de cálculo del saldo en disminución.
|
||||||
MIRR = TIRM ## Devuelve la tasa interna de retorno donde se financian flujos de efectivo positivos y negativos a tasas diferentes.
|
XIRR = TIR.NO.PER ## Devuelve la tasa interna de retorno para un flujo de efectivo que no es necesariamente periódico.
|
||||||
NOMINAL = TASA.NOMINAL ## Devuelve la tasa nominal de interés anual.
|
XNPV = VNA.NO.PER ## Devuelve el valor neto actual para un flujo de efectivo que no es necesariamente periódico.
|
||||||
NPER = NPER ## Devuelve el número de períodos de una inversión.
|
YIELD = RENDTO ## Devuelve el rendimiento de un valor bursátil que paga intereses periódicos.
|
||||||
NPV = VNA ## Devuelve el valor neto actual de una inversión en función de una serie de flujos periódicos de efectivo y una tasa de descuento.
|
YIELDDISC = RENDTO.DESC ## Devuelve el rendimiento anual de un valor bursátil con descuento; por ejemplo, una letra del Tesoro (de EE.UU.)
|
||||||
ODDFPRICE = PRECIO.PER.IRREGULAR.1 ## Devuelve el precio por un valor nominal de 100 $ de un valor bursátil con un primer período impar.
|
YIELDMAT = RENDTO.VENCTO ## Devuelve el rendimiento anual de un valor bursátil que paga intereses al vencimiento.
|
||||||
ODDFYIELD = RENDTO.PER.IRREGULAR.1 ## Devuelve el rendimiento de un valor bursátil con un primer período impar.
|
|
||||||
ODDLPRICE = PRECIO.PER.IRREGULAR.2 ## Devuelve el precio por un valor nominal de 100 $ de un valor bursátil con un último período impar.
|
|
||||||
ODDLYIELD = RENDTO.PER.IRREGULAR.2 ## Devuelve el rendimiento de un valor bursátil con un último período impar.
|
##
|
||||||
PMT = PAGO ## Devuelve el pago periódico de una anualidad.
|
## Information functions Funciones de información
|
||||||
PPMT = PAGOPRIN ## Devuelve el pago de capital de una inversión durante un período determinado.
|
##
|
||||||
PRICE = PRECIO ## Devuelve el precio por un valor nominal de 100 $ de un valor bursátil que paga una tasa de interés periódico.
|
CELL = CELDA ## Devuelve información acerca del formato, la ubicación o el contenido de una celda.
|
||||||
PRICEDISC = PRECIO.DESCUENTO ## Devuelve el precio por un valor nominal de 100 $ de un valor bursátil con descuento.
|
ERROR.TYPE = TIPO.DE.ERROR ## Devuelve un número que corresponde a un tipo de error.
|
||||||
PRICEMAT = PRECIO.VENCIMIENTO ## Devuelve el precio por un valor nominal de 100 $ de un valor bursátil que paga interés a su vencimiento.
|
INFO = INFO ## Devuelve información acerca del entorno operativo en uso.
|
||||||
PV = VALACT ## Devuelve el valor actual de una inversión.
|
ISBLANK = ESBLANCO ## Devuelve VERDADERO si el valor está en blanco.
|
||||||
RATE = TASA ## Devuelve la tasa de interés por período de una anualidad.
|
ISERR = ESERR ## Devuelve VERDADERO si el valor es cualquier valor de error excepto #N/A.
|
||||||
RECEIVED = CANTIDAD.RECIBIDA ## Devuelve la cantidad recibida al vencimiento de un valor bursátil completamente invertido.
|
ISERROR = ESERROR ## Devuelve VERDADERO si el valor es cualquier valor de error.
|
||||||
SLN = SLN ## Devuelve la amortización por método directo de un bien en un período dado.
|
ISEVEN = ES.PAR ## Devuelve VERDADERO si el número es par.
|
||||||
SYD = SYD ## Devuelve la amortización por suma de dígitos de los años de un bien durante un período especificado.
|
ISLOGICAL = ESLOGICO ## Devuelve VERDADERO si el valor es un valor lógico.
|
||||||
TBILLEQ = LETRA.DE.TES.EQV.A.BONO ## Devuelve el rendimiento de un bono equivalente a una letra del Tesoro (de EE.UU.)
|
ISNA = ESNOD ## Devuelve VERDADERO si el valor es el valor de error #N/A.
|
||||||
TBILLPRICE = LETRA.DE.TES.PRECIO ## Devuelve el precio por un valor nominal de 100 $ de una letra del Tesoro (de EE.UU.)
|
ISNONTEXT = ESNOTEXTO ## Devuelve VERDADERO si el valor no es texto.
|
||||||
TBILLYIELD = LETRA.DE.TES.RENDTO ## Devuelve el rendimiento de una letra del Tesoro (de EE.UU.)
|
ISNUMBER = ESNUMERO ## Devuelve VERDADERO si el valor es un número.
|
||||||
VDB = DVS ## Devuelve la amortización de un bien durante un período específico o parcial a través del método de cálculo del saldo en disminución.
|
ISODD = ES.IMPAR ## Devuelve VERDADERO si el número es impar.
|
||||||
XIRR = TIR.NO.PER ## Devuelve la tasa interna de retorno para un flujo de efectivo que no es necesariamente periódico.
|
ISREF = ESREF ## Devuelve VERDADERO si el valor es una referencia.
|
||||||
XNPV = VNA.NO.PER ## Devuelve el valor neto actual para un flujo de efectivo que no es necesariamente periódico.
|
ISTEXT = ESTEXTO ## Devuelve VERDADERO si el valor es texto.
|
||||||
YIELD = RENDTO ## Devuelve el rendimiento de un valor bursátil que paga intereses periódicos.
|
N = N ## Devuelve un valor convertido en un número.
|
||||||
YIELDDISC = RENDTO.DESC ## Devuelve el rendimiento anual de un valor bursátil con descuento; por ejemplo, una letra del Tesoro (de EE.UU.)
|
NA = ND ## Devuelve el valor de error #N/A.
|
||||||
YIELDMAT = RENDTO.VENCTO ## Devuelve el rendimiento anual de un valor bursátil que paga intereses al vencimiento.
|
TYPE = TIPO ## Devuelve un número que indica el tipo de datos de un valor.
|
||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Information functions Funciones de información
|
## Logical functions Funciones lógicas
|
||||||
##
|
##
|
||||||
CELL = CELDA ## Devuelve información acerca del formato, la ubicación o el contenido de una celda.
|
AND = Y ## Devuelve VERDADERO si todos sus argumentos son VERDADERO.
|
||||||
ERROR.TYPE = TIPO.DE.ERROR ## Devuelve un número que corresponde a un tipo de error.
|
FALSE = FALSO ## Devuelve el valor lógico FALSO.
|
||||||
INFO = INFO ## Devuelve información acerca del entorno operativo en uso.
|
IF = SI ## Especifica una prueba lógica que realizar.
|
||||||
ISBLANK = ESBLANCO ## Devuelve VERDADERO si el valor está en blanco.
|
IFERROR = SI.ERROR ## Devuelve un valor que se especifica si una fórmula lo evalúa como un error; de lo contrario, devuelve el resultado de la fórmula.
|
||||||
ISERR = ESERR ## Devuelve VERDADERO si el valor es cualquier valor de error excepto #N/A.
|
NOT = NO ## Invierte el valor lógico del argumento.
|
||||||
ISERROR = ESERROR ## Devuelve VERDADERO si el valor es cualquier valor de error.
|
OR = O ## Devuelve VERDADERO si cualquier argumento es VERDADERO.
|
||||||
ISEVEN = ES.PAR ## Devuelve VERDADERO si el número es par.
|
TRUE = VERDADERO ## Devuelve el valor lógico VERDADERO.
|
||||||
ISLOGICAL = ESLOGICO ## Devuelve VERDADERO si el valor es un valor lógico.
|
|
||||||
ISNA = ESNOD ## Devuelve VERDADERO si el valor es el valor de error #N/A.
|
|
||||||
ISNONTEXT = ESNOTEXTO ## Devuelve VERDADERO si el valor no es texto.
|
##
|
||||||
ISNUMBER = ESNUMERO ## Devuelve VERDADERO si el valor es un número.
|
## Lookup and reference functions Funciones de búsqueda y referencia
|
||||||
ISODD = ES.IMPAR ## Devuelve VERDADERO si el número es impar.
|
##
|
||||||
ISREF = ESREF ## Devuelve VERDADERO si el valor es una referencia.
|
ADDRESS = DIRECCION ## Devuelve una referencia como texto a una sola celda de una hoja de cálculo.
|
||||||
ISTEXT = ESTEXTO ## Devuelve VERDADERO si el valor es texto.
|
AREAS = AREAS ## Devuelve el número de áreas de una referencia.
|
||||||
N = N ## Devuelve un valor convertido en un número.
|
CHOOSE = ELEGIR ## Elige un valor de una lista de valores.
|
||||||
NA = ND ## Devuelve el valor de error #N/A.
|
COLUMN = COLUMNA ## Devuelve el número de columna de una referencia.
|
||||||
TYPE = TIPO ## Devuelve un número que indica el tipo de datos de un valor.
|
COLUMNS = COLUMNAS ## Devuelve el número de columnas de una referencia.
|
||||||
|
HLOOKUP = BUSCARH ## Busca en la fila superior de una matriz y devuelve el valor de la celda indicada.
|
||||||
|
HYPERLINK = HIPERVINCULO ## Crea un acceso directo o un salto que abre un documento almacenado en un servidor de red, en una intranet o en Internet.
|
||||||
##
|
INDEX = INDICE ## Usa un índice para elegir un valor de una referencia o matriz.
|
||||||
## Logical functions Funciones lógicas
|
INDIRECT = INDIRECTO ## Devuelve una referencia indicada por un valor de texto.
|
||||||
##
|
LOOKUP = BUSCAR ## Busca valores de un vector o una matriz.
|
||||||
AND = Y ## Devuelve VERDADERO si todos sus argumentos son VERDADERO.
|
MATCH = COINCIDIR ## Busca valores de una referencia o matriz.
|
||||||
FALSE = FALSO ## Devuelve el valor lógico FALSO.
|
OFFSET = DESREF ## Devuelve un desplazamiento de referencia respecto a una referencia dada.
|
||||||
IF = SI ## Especifica una prueba lógica que realizar.
|
ROW = FILA ## Devuelve el número de fila de una referencia.
|
||||||
IFERROR = SI.ERROR ## Devuelve un valor que se especifica si una fórmula lo evalúa como un error; de lo contrario, devuelve el resultado de la fórmula.
|
ROWS = FILAS ## Devuelve el número de filas de una referencia.
|
||||||
NOT = NO ## Invierte el valor lógico del argumento.
|
RTD = RDTR ## Recupera datos en tiempo real desde un programa compatible con la automatización COM (automatización: modo de trabajar con los objetos de una aplicación desde otra aplicación o herramienta de entorno. La automatización, antes denominada automatización OLE, es un estándar de la industria y una función del Modelo de objetos componentes (COM).).
|
||||||
OR = O ## Devuelve VERDADERO si cualquier argumento es VERDADERO.
|
TRANSPOSE = TRANSPONER ## Devuelve la transposición de una matriz.
|
||||||
TRUE = VERDADERO ## Devuelve el valor lógico VERDADERO.
|
VLOOKUP = BUSCARV ## Busca en la primera columna de una matriz y se mueve en horizontal por la fila para devolver el valor de una celda.
|
||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Lookup and reference functions Funciones de búsqueda y referencia
|
## Math and trigonometry functions Funciones matemáticas y trigonométricas
|
||||||
##
|
##
|
||||||
ADDRESS = DIRECCION ## Devuelve una referencia como texto a una sola celda de una hoja de cálculo.
|
ABS = ABS ## Devuelve el valor absoluto de un número.
|
||||||
AREAS = AREAS ## Devuelve el número de áreas de una referencia.
|
ACOS = ACOS ## Devuelve el arcocoseno de un número.
|
||||||
CHOOSE = ELEGIR ## Elige un valor de una lista de valores.
|
ACOSH = ACOSH ## Devuelve el coseno hiperbólico inverso de un número.
|
||||||
COLUMN = COLUMNA ## Devuelve el número de columna de una referencia.
|
ASIN = ASENO ## Devuelve el arcoseno de un número.
|
||||||
COLUMNS = COLUMNAS ## Devuelve el número de columnas de una referencia.
|
ASINH = ASENOH ## Devuelve el seno hiperbólico inverso de un número.
|
||||||
HLOOKUP = BUSCARH ## Busca en la fila superior de una matriz y devuelve el valor de la celda indicada.
|
ATAN = ATAN ## Devuelve la arcotangente de un número.
|
||||||
HYPERLINK = HIPERVINCULO ## Crea un acceso directo o un salto que abre un documento almacenado en un servidor de red, en una intranet o en Internet.
|
ATAN2 = ATAN2 ## Devuelve la arcotangente de las coordenadas "x" e "y".
|
||||||
INDEX = INDICE ## Usa un índice para elegir un valor de una referencia o matriz.
|
ATANH = ATANH ## Devuelve la tangente hiperbólica inversa de un número.
|
||||||
INDIRECT = INDIRECTO ## Devuelve una referencia indicada por un valor de texto.
|
CEILING = MULTIPLO.SUPERIOR ## Redondea un número al entero más próximo o al múltiplo significativo más cercano.
|
||||||
LOOKUP = BUSCAR ## Busca valores de un vector o una matriz.
|
COMBIN = COMBINAT ## Devuelve el número de combinaciones para un número determinado de objetos.
|
||||||
MATCH = COINCIDIR ## Busca valores de una referencia o matriz.
|
COS = COS ## Devuelve el coseno de un número.
|
||||||
OFFSET = DESREF ## Devuelve un desplazamiento de referencia respecto a una referencia dada.
|
COSH = COSH ## Devuelve el coseno hiperbólico de un número.
|
||||||
ROW = FILA ## Devuelve el número de fila de una referencia.
|
DEGREES = GRADOS ## Convierte radianes en grados.
|
||||||
ROWS = FILAS ## Devuelve el número de filas de una referencia.
|
EVEN = REDONDEA.PAR ## Redondea un número hasta el entero par más próximo.
|
||||||
RTD = RDTR ## Recupera datos en tiempo real desde un programa compatible con la automatización COM (automatización: modo de trabajar con los objetos de una aplicación desde otra aplicación o herramienta de entorno. La automatización, antes denominada automatización OLE, es un estándar de la industria y una función del Modelo de objetos componentes (COM).).
|
EXP = EXP ## Devuelve e elevado a la potencia de un número dado.
|
||||||
TRANSPOSE = TRANSPONER ## Devuelve la transposición de una matriz.
|
FACT = FACT ## Devuelve el factorial de un número.
|
||||||
VLOOKUP = BUSCARV ## Busca en la primera columna de una matriz y se mueve en horizontal por la fila para devolver el valor de una celda.
|
FACTDOUBLE = FACT.DOBLE ## Devuelve el factorial doble de un número.
|
||||||
|
FLOOR = MULTIPLO.INFERIOR ## Redondea un número hacia abajo, en dirección hacia cero.
|
||||||
|
GCD = M.C.D ## Devuelve el máximo común divisor.
|
||||||
##
|
INT = ENTERO ## Redondea un número hacia abajo hasta el entero más próximo.
|
||||||
## Math and trigonometry functions Funciones matemáticas y trigonométricas
|
LCM = M.C.M ## Devuelve el mínimo común múltiplo.
|
||||||
##
|
LN = LN ## Devuelve el logaritmo natural (neperiano) de un número.
|
||||||
ABS = ABS ## Devuelve el valor absoluto de un número.
|
LOG = LOG ## Devuelve el logaritmo de un número en una base especificada.
|
||||||
ACOS = ACOS ## Devuelve el arcocoseno de un número.
|
LOG10 = LOG10 ## Devuelve el logaritmo en base 10 de un número.
|
||||||
ACOSH = ACOSH ## Devuelve el coseno hiperbólico inverso de un número.
|
MDETERM = MDETERM ## Devuelve la determinante matricial de una matriz.
|
||||||
ASIN = ASENO ## Devuelve el arcoseno de un número.
|
MINVERSE = MINVERSA ## Devuelve la matriz inversa de una matriz.
|
||||||
ASINH = ASENOH ## Devuelve el seno hiperbólico inverso de un número.
|
MMULT = MMULT ## Devuelve el producto de matriz de dos matrices.
|
||||||
ATAN = ATAN ## Devuelve la arcotangente de un número.
|
MOD = RESIDUO ## Devuelve el resto de la división.
|
||||||
ATAN2 = ATAN2 ## Devuelve la arcotangente de las coordenadas "x" e "y".
|
MROUND = REDOND.MULT ## Devuelve un número redondeado al múltiplo deseado.
|
||||||
ATANH = ATANH ## Devuelve la tangente hiperbólica inversa de un número.
|
MULTINOMIAL = MULTINOMIAL ## Devuelve el polinomio de un conjunto de números.
|
||||||
CEILING = MULTIPLO.SUPERIOR ## Redondea un número al entero más próximo o al múltiplo significativo más cercano.
|
ODD = REDONDEA.IMPAR ## Redondea un número hacia arriba hasta el entero impar más próximo.
|
||||||
COMBIN = COMBINAT ## Devuelve el número de combinaciones para un número determinado de objetos.
|
PI = PI ## Devuelve el valor de pi.
|
||||||
COS = COS ## Devuelve el coseno de un número.
|
POWER = POTENCIA ## Devuelve el resultado de elevar un número a una potencia.
|
||||||
COSH = COSH ## Devuelve el coseno hiperbólico de un número.
|
PRODUCT = PRODUCTO ## Multiplica sus argumentos.
|
||||||
DEGREES = GRADOS ## Convierte radianes en grados.
|
QUOTIENT = COCIENTE ## Devuelve la parte entera de una división.
|
||||||
EVEN = REDONDEA.PAR ## Redondea un número hasta el entero par más próximo.
|
RADIANS = RADIANES ## Convierte grados en radianes.
|
||||||
EXP = EXP ## Devuelve e elevado a la potencia de un número dado.
|
RAND = ALEATORIO ## Devuelve un número aleatorio entre 0 y 1.
|
||||||
FACT = FACT ## Devuelve el factorial de un número.
|
RANDBETWEEN = ALEATORIO.ENTRE ## Devuelve un número aleatorio entre los números que especifique.
|
||||||
FACTDOUBLE = FACT.DOBLE ## Devuelve el factorial doble de un número.
|
ROMAN = NUMERO.ROMANO ## Convierte un número arábigo en número romano, con formato de texto.
|
||||||
FLOOR = MULTIPLO.INFERIOR ## Redondea un número hacia abajo, en dirección hacia cero.
|
ROUND = REDONDEAR ## Redondea un número al número de decimales especificado.
|
||||||
GCD = M.C.D ## Devuelve el máximo común divisor.
|
ROUNDDOWN = REDONDEAR.MENOS ## Redondea un número hacia abajo, en dirección hacia cero.
|
||||||
INT = ENTERO ## Redondea un número hacia abajo hasta el entero más próximo.
|
ROUNDUP = REDONDEAR.MAS ## Redondea un número hacia arriba, en dirección contraria a cero.
|
||||||
LCM = M.C.M ## Devuelve el mínimo común múltiplo.
|
SERIESSUM = SUMA.SERIES ## Devuelve la suma de una serie de potencias en función de la fórmula.
|
||||||
LN = LN ## Devuelve el logaritmo natural (neperiano) de un número.
|
SIGN = SIGNO ## Devuelve el signo de un número.
|
||||||
LOG = LOG ## Devuelve el logaritmo de un número en una base especificada.
|
SIN = SENO ## Devuelve el seno de un ángulo determinado.
|
||||||
LOG10 = LOG10 ## Devuelve el logaritmo en base 10 de un número.
|
SINH = SENOH ## Devuelve el seno hiperbólico de un número.
|
||||||
MDETERM = MDETERM ## Devuelve la determinante matricial de una matriz.
|
SQRT = RAIZ ## Devuelve la raíz cuadrada positiva de un número.
|
||||||
MINVERSE = MINVERSA ## Devuelve la matriz inversa de una matriz.
|
SQRTPI = RAIZ2PI ## Devuelve la raíz cuadrada de un número multiplicado por PI (número * pi).
|
||||||
MMULT = MMULT ## Devuelve el producto de matriz de dos matrices.
|
SUBTOTAL = SUBTOTALES ## Devuelve un subtotal en una lista o base de datos.
|
||||||
MOD = RESIDUO ## Devuelve el resto de la división.
|
SUM = SUMA ## Suma sus argumentos.
|
||||||
MROUND = REDOND.MULT ## Devuelve un número redondeado al múltiplo deseado.
|
SUMIF = SUMAR.SI ## Suma las celdas especificadas que cumplen unos criterios determinados.
|
||||||
MULTINOMIAL = MULTINOMIAL ## Devuelve el polinomio de un conjunto de números.
|
SUMIFS = SUMAR.SI.CONJUNTO ## Suma las celdas de un rango que cumplen varios criterios.
|
||||||
ODD = REDONDEA.IMPAR ## Redondea un número hacia arriba hasta el entero impar más próximo.
|
SUMPRODUCT = SUMAPRODUCTO ## Devuelve la suma de los productos de los correspondientes componentes de matriz.
|
||||||
PI = PI ## Devuelve el valor de pi.
|
SUMSQ = SUMA.CUADRADOS ## Devuelve la suma de los cuadrados de los argumentos.
|
||||||
POWER = POTENCIA ## Devuelve el resultado de elevar un número a una potencia.
|
SUMX2MY2 = SUMAX2MENOSY2 ## Devuelve la suma de la diferencia de los cuadrados de los valores correspondientes de dos matrices.
|
||||||
PRODUCT = PRODUCTO ## Multiplica sus argumentos.
|
SUMX2PY2 = SUMAX2MASY2 ## Devuelve la suma de la suma de los cuadrados de los valores correspondientes de dos matrices.
|
||||||
QUOTIENT = COCIENTE ## Devuelve la parte entera de una división.
|
SUMXMY2 = SUMAXMENOSY2 ## Devuelve la suma de los cuadrados de las diferencias de los valores correspondientes de dos matrices.
|
||||||
RADIANS = RADIANES ## Convierte grados en radianes.
|
TAN = TAN ## Devuelve la tangente de un número.
|
||||||
RAND = ALEATORIO ## Devuelve un número aleatorio entre 0 y 1.
|
TANH = TANH ## Devuelve la tangente hiperbólica de un número.
|
||||||
RANDBETWEEN = ALEATORIO.ENTRE ## Devuelve un número aleatorio entre los números que especifique.
|
TRUNC = TRUNCAR ## Trunca un número a un entero.
|
||||||
ROMAN = NUMERO.ROMANO ## Convierte un número arábigo en número romano, con formato de texto.
|
|
||||||
ROUND = REDONDEAR ## Redondea un número al número de decimales especificado.
|
|
||||||
ROUNDDOWN = REDONDEAR.MENOS ## Redondea un número hacia abajo, en dirección hacia cero.
|
##
|
||||||
ROUNDUP = REDONDEAR.MAS ## Redondea un número hacia arriba, en dirección contraria a cero.
|
## Statistical functions Funciones estadísticas
|
||||||
SERIESSUM = SUMA.SERIES ## Devuelve la suma de una serie de potencias en función de la fórmula.
|
##
|
||||||
SIGN = SIGNO ## Devuelve el signo de un número.
|
AVEDEV = DESVPROM ## Devuelve el promedio de las desviaciones absolutas de la media de los puntos de datos.
|
||||||
SIN = SENO ## Devuelve el seno de un ángulo determinado.
|
AVERAGE = PROMEDIO ## Devuelve el promedio de sus argumentos.
|
||||||
SINH = SENOH ## Devuelve el seno hiperbólico de un número.
|
AVERAGEA = PROMEDIOA ## Devuelve el promedio de sus argumentos, incluidos números, texto y valores lógicos.
|
||||||
SQRT = RAIZ ## Devuelve la raíz cuadrada positiva de un número.
|
AVERAGEIF = PROMEDIO.SI ## Devuelve el promedio (media aritmética) de todas las celdas de un rango que cumplen unos criterios determinados.
|
||||||
SQRTPI = RAIZ2PI ## Devuelve la raíz cuadrada de un número multiplicado por PI (número * pi).
|
AVERAGEIFS = PROMEDIO.SI.CONJUNTO ## Devuelve el promedio (media aritmética) de todas las celdas que cumplen múltiples criterios.
|
||||||
SUBTOTAL = SUBTOTALES ## Devuelve un subtotal en una lista o base de datos.
|
BETADIST = DISTR.BETA ## Devuelve la función de distribución beta acumulativa.
|
||||||
SUM = SUMA ## Suma sus argumentos.
|
BETAINV = DISTR.BETA.INV ## Devuelve la función inversa de la función de distribución acumulativa de una distribución beta especificada.
|
||||||
SUMIF = SUMAR.SI ## Suma las celdas especificadas que cumplen unos criterios determinados.
|
BINOMDIST = DISTR.BINOM ## Devuelve la probabilidad de una variable aleatoria discreta siguiendo una distribución binomial.
|
||||||
SUMIFS = SUMAR.SI.CONJUNTO ## Suma las celdas de un rango que cumplen varios criterios.
|
CHIDIST = DISTR.CHI ## Devuelve la probabilidad de una variable aleatoria continua siguiendo una distribución chi cuadrado de una sola cola.
|
||||||
SUMPRODUCT = SUMAPRODUCTO ## Devuelve la suma de los productos de los correspondientes componentes de matriz.
|
CHIINV = PRUEBA.CHI.INV ## Devuelve la función inversa de la probabilidad de una variable aleatoria continua siguiendo una distribución chi cuadrado de una sola cola.
|
||||||
SUMSQ = SUMA.CUADRADOS ## Devuelve la suma de los cuadrados de los argumentos.
|
CHITEST = PRUEBA.CHI ## Devuelve la prueba de independencia.
|
||||||
SUMX2MY2 = SUMAX2MENOSY2 ## Devuelve la suma de la diferencia de los cuadrados de los valores correspondientes de dos matrices.
|
CONFIDENCE = INTERVALO.CONFIANZA ## Devuelve el intervalo de confianza de la media de una población.
|
||||||
SUMX2PY2 = SUMAX2MASY2 ## Devuelve la suma de la suma de los cuadrados de los valores correspondientes de dos matrices.
|
CORREL = COEF.DE.CORREL ## Devuelve el coeficiente de correlación entre dos conjuntos de datos.
|
||||||
SUMXMY2 = SUMAXMENOSY2 ## Devuelve la suma de los cuadrados de las diferencias de los valores correspondientes de dos matrices.
|
COUNT = CONTAR ## Cuenta cuántos números hay en la lista de argumentos.
|
||||||
TAN = TAN ## Devuelve la tangente de un número.
|
COUNTA = CONTARA ## Cuenta cuántos valores hay en la lista de argumentos.
|
||||||
TANH = TANH ## Devuelve la tangente hiperbólica de un número.
|
COUNTBLANK = CONTAR.BLANCO ## Cuenta el número de celdas en blanco de un rango.
|
||||||
TRUNC = TRUNCAR ## Trunca un número a un entero.
|
COUNTIF = CONTAR.SI ## Cuenta el número de celdas, dentro del rango, que cumplen el criterio especificado.
|
||||||
|
COUNTIFS = CONTAR.SI.CONJUNTO ## Cuenta el número de celdas, dentro del rango, que cumplen varios criterios.
|
||||||
|
COVAR = COVAR ## Devuelve la covarianza, que es el promedio de los productos de las desviaciones para cada pareja de puntos de datos.
|
||||||
##
|
CRITBINOM = BINOM.CRIT ## Devuelve el menor valor cuya distribución binomial acumulativa es menor o igual a un valor de criterio.
|
||||||
## Statistical functions Funciones estadísticas
|
DEVSQ = DESVIA2 ## Devuelve la suma de los cuadrados de las desviaciones.
|
||||||
##
|
EXPONDIST = DISTR.EXP ## Devuelve la distribución exponencial.
|
||||||
AVEDEV = DESVPROM ## Devuelve el promedio de las desviaciones absolutas de la media de los puntos de datos.
|
FDIST = DISTR.F ## Devuelve la distribución de probabilidad F.
|
||||||
AVERAGE = PROMEDIO ## Devuelve el promedio de sus argumentos.
|
FINV = DISTR.F.INV ## Devuelve la función inversa de la distribución de probabilidad F.
|
||||||
AVERAGEA = PROMEDIOA ## Devuelve el promedio de sus argumentos, incluidos números, texto y valores lógicos.
|
FISHER = FISHER ## Devuelve la transformación Fisher.
|
||||||
AVERAGEIF = PROMEDIO.SI ## Devuelve el promedio (media aritmética) de todas las celdas de un rango que cumplen unos criterios determinados.
|
FISHERINV = PRUEBA.FISHER.INV ## Devuelve la función inversa de la transformación Fisher.
|
||||||
AVERAGEIFS = PROMEDIO.SI.CONJUNTO ## Devuelve el promedio (media aritmética) de todas las celdas que cumplen múltiples criterios.
|
FORECAST = PRONOSTICO ## Devuelve un valor en una tendencia lineal.
|
||||||
BETADIST = DISTR.BETA ## Devuelve la función de distribución beta acumulativa.
|
FREQUENCY = FRECUENCIA ## Devuelve una distribución de frecuencia como una matriz vertical.
|
||||||
BETAINV = DISTR.BETA.INV ## Devuelve la función inversa de la función de distribución acumulativa de una distribución beta especificada.
|
FTEST = PRUEBA.F ## Devuelve el resultado de una prueba F.
|
||||||
BINOMDIST = DISTR.BINOM ## Devuelve la probabilidad de una variable aleatoria discreta siguiendo una distribución binomial.
|
GAMMADIST = DISTR.GAMMA ## Devuelve la distribución gamma.
|
||||||
CHIDIST = DISTR.CHI ## Devuelve la probabilidad de una variable aleatoria continua siguiendo una distribución chi cuadrado de una sola cola.
|
GAMMAINV = DISTR.GAMMA.INV ## Devuelve la función inversa de la distribución gamma acumulativa.
|
||||||
CHIINV = PRUEBA.CHI.INV ## Devuelve la función inversa de la probabilidad de una variable aleatoria continua siguiendo una distribución chi cuadrado de una sola cola.
|
GAMMALN = GAMMA.LN ## Devuelve el logaritmo natural de la función gamma, G(x).
|
||||||
CHITEST = PRUEBA.CHI ## Devuelve la prueba de independencia.
|
GEOMEAN = MEDIA.GEOM ## Devuelve la media geométrica.
|
||||||
CONFIDENCE = INTERVALO.CONFIANZA ## Devuelve el intervalo de confianza de la media de una población.
|
GROWTH = CRECIMIENTO ## Devuelve valores en una tendencia exponencial.
|
||||||
CORREL = COEF.DE.CORREL ## Devuelve el coeficiente de correlación entre dos conjuntos de datos.
|
HARMEAN = MEDIA.ARMO ## Devuelve la media armónica.
|
||||||
COUNT = CONTAR ## Cuenta cuántos números hay en la lista de argumentos.
|
HYPGEOMDIST = DISTR.HIPERGEOM ## Devuelve la distribución hipergeométrica.
|
||||||
COUNTA = CONTARA ## Cuenta cuántos valores hay en la lista de argumentos.
|
INTERCEPT = INTERSECCION.EJE ## Devuelve la intersección de la línea de regresión lineal.
|
||||||
COUNTBLANK = CONTAR.BLANCO ## Cuenta el número de celdas en blanco de un rango.
|
KURT = CURTOSIS ## Devuelve la curtosis de un conjunto de datos.
|
||||||
COUNTIF = CONTAR.SI ## Cuenta el número de celdas, dentro del rango, que cumplen el criterio especificado.
|
LARGE = K.ESIMO.MAYOR ## Devuelve el k-ésimo mayor valor de un conjunto de datos.
|
||||||
COUNTIFS = CONTAR.SI.CONJUNTO ## Cuenta el número de celdas, dentro del rango, que cumplen varios criterios.
|
LINEST = ESTIMACION.LINEAL ## Devuelve los parámetros de una tendencia lineal.
|
||||||
COVAR = COVAR ## Devuelve la covarianza, que es el promedio de los productos de las desviaciones para cada pareja de puntos de datos.
|
LOGEST = ESTIMACION.LOGARITMICA ## Devuelve los parámetros de una tendencia exponencial.
|
||||||
CRITBINOM = BINOM.CRIT ## Devuelve el menor valor cuya distribución binomial acumulativa es menor o igual a un valor de criterio.
|
LOGINV = DISTR.LOG.INV ## Devuelve la función inversa de la distribución logarítmico-normal.
|
||||||
DEVSQ = DESVIA2 ## Devuelve la suma de los cuadrados de las desviaciones.
|
LOGNORMDIST = DISTR.LOG.NORM ## Devuelve la distribución logarítmico-normal acumulativa.
|
||||||
EXPONDIST = DISTR.EXP ## Devuelve la distribución exponencial.
|
MAX = MAX ## Devuelve el valor máximo de una lista de argumentos.
|
||||||
FDIST = DISTR.F ## Devuelve la distribución de probabilidad F.
|
MAXA = MAXA ## Devuelve el valor máximo de una lista de argumentos, incluidos números, texto y valores lógicos.
|
||||||
FINV = DISTR.F.INV ## Devuelve la función inversa de la distribución de probabilidad F.
|
MEDIAN = MEDIANA ## Devuelve la mediana de los números dados.
|
||||||
FISHER = FISHER ## Devuelve la transformación Fisher.
|
MIN = MIN ## Devuelve el valor mínimo de una lista de argumentos.
|
||||||
FISHERINV = PRUEBA.FISHER.INV ## Devuelve la función inversa de la transformación Fisher.
|
MINA = MINA ## Devuelve el valor mínimo de una lista de argumentos, incluidos números, texto y valores lógicos.
|
||||||
FORECAST = PRONOSTICO ## Devuelve un valor en una tendencia lineal.
|
MODE = MODA ## Devuelve el valor más común de un conjunto de datos.
|
||||||
FREQUENCY = FRECUENCIA ## Devuelve una distribución de frecuencia como una matriz vertical.
|
NEGBINOMDIST = NEGBINOMDIST ## Devuelve la distribución binomial negativa.
|
||||||
FTEST = PRUEBA.F ## Devuelve el resultado de una prueba F.
|
NORMDIST = DISTR.NORM ## Devuelve la distribución normal acumulativa.
|
||||||
GAMMADIST = DISTR.GAMMA ## Devuelve la distribución gamma.
|
NORMINV = DISTR.NORM.INV ## Devuelve la función inversa de la distribución normal acumulativa.
|
||||||
GAMMAINV = DISTR.GAMMA.INV ## Devuelve la función inversa de la distribución gamma acumulativa.
|
NORMSDIST = DISTR.NORM.ESTAND ## Devuelve la distribución normal estándar acumulativa.
|
||||||
GAMMALN = GAMMA.LN ## Devuelve el logaritmo natural de la función gamma, G(x).
|
NORMSINV = DISTR.NORM.ESTAND.INV ## Devuelve la función inversa de la distribución normal estándar acumulativa.
|
||||||
GEOMEAN = MEDIA.GEOM ## Devuelve la media geométrica.
|
PEARSON = PEARSON ## Devuelve el coeficiente de momento de correlación de producto Pearson.
|
||||||
GROWTH = CRECIMIENTO ## Devuelve valores en una tendencia exponencial.
|
PERCENTILE = PERCENTIL ## Devuelve el k-ésimo percentil de los valores de un rango.
|
||||||
HARMEAN = MEDIA.ARMO ## Devuelve la media armónica.
|
PERCENTRANK = RANGO.PERCENTIL ## Devuelve el rango porcentual de un valor de un conjunto de datos.
|
||||||
HYPGEOMDIST = DISTR.HIPERGEOM ## Devuelve la distribución hipergeométrica.
|
PERMUT = PERMUTACIONES ## Devuelve el número de permutaciones de un número determinado de objetos.
|
||||||
INTERCEPT = INTERSECCION.EJE ## Devuelve la intersección de la línea de regresión lineal.
|
POISSON = POISSON ## Devuelve la distribución de Poisson.
|
||||||
KURT = CURTOSIS ## Devuelve la curtosis de un conjunto de datos.
|
PROB = PROBABILIDAD ## Devuelve la probabilidad de que los valores de un rango se encuentren entre dos límites.
|
||||||
LARGE = K.ESIMO.MAYOR ## Devuelve el k-ésimo mayor valor de un conjunto de datos.
|
QUARTILE = CUARTIL ## Devuelve el cuartil de un conjunto de datos.
|
||||||
LINEST = ESTIMACION.LINEAL ## Devuelve los parámetros de una tendencia lineal.
|
RANK = JERARQUIA ## Devuelve la jerarquía de un número en una lista de números.
|
||||||
LOGEST = ESTIMACION.LOGARITMICA ## Devuelve los parámetros de una tendencia exponencial.
|
RSQ = COEFICIENTE.R2 ## Devuelve el cuadrado del coeficiente de momento de correlación de producto Pearson.
|
||||||
LOGINV = DISTR.LOG.INV ## Devuelve la función inversa de la distribución logarítmico-normal.
|
SKEW = COEFICIENTE.ASIMETRIA ## Devuelve la asimetría de una distribución.
|
||||||
LOGNORMDIST = DISTR.LOG.NORM ## Devuelve la distribución logarítmico-normal acumulativa.
|
SLOPE = PENDIENTE ## Devuelve la pendiente de la línea de regresión lineal.
|
||||||
MAX = MAX ## Devuelve el valor máximo de una lista de argumentos.
|
SMALL = K.ESIMO.MENOR ## Devuelve el k-ésimo menor valor de un conjunto de datos.
|
||||||
MAXA = MAXA ## Devuelve el valor máximo de una lista de argumentos, incluidos números, texto y valores lógicos.
|
STANDARDIZE = NORMALIZACION ## Devuelve un valor normalizado.
|
||||||
MEDIAN = MEDIANA ## Devuelve la mediana de los números dados.
|
STDEV = DESVEST ## Calcula la desviación estándar a partir de una muestra.
|
||||||
MIN = MIN ## Devuelve el valor mínimo de una lista de argumentos.
|
STDEVA = DESVESTA ## Calcula la desviación estándar a partir de una muestra, incluidos números, texto y valores lógicos.
|
||||||
MINA = MINA ## Devuelve el valor mínimo de una lista de argumentos, incluidos números, texto y valores lógicos.
|
STDEVP = DESVESTP ## Calcula la desviación estándar en función de toda la población.
|
||||||
MODE = MODA ## Devuelve el valor más común de un conjunto de datos.
|
STDEVPA = DESVESTPA ## Calcula la desviación estándar en función de toda la población, incluidos números, texto y valores lógicos.
|
||||||
NEGBINOMDIST = NEGBINOMDIST ## Devuelve la distribución binomial negativa.
|
STEYX = ERROR.TIPICO.XY ## Devuelve el error estándar del valor de "y" previsto para cada "x" de la regresión.
|
||||||
NORMDIST = DISTR.NORM ## Devuelve la distribución normal acumulativa.
|
TDIST = DISTR.T ## Devuelve la distribución de t de Student.
|
||||||
NORMINV = DISTR.NORM.INV ## Devuelve la función inversa de la distribución normal acumulativa.
|
TINV = DISTR.T.INV ## Devuelve la función inversa de la distribución de t de Student.
|
||||||
NORMSDIST = DISTR.NORM.ESTAND ## Devuelve la distribución normal estándar acumulativa.
|
TREND = TENDENCIA ## Devuelve valores en una tendencia lineal.
|
||||||
NORMSINV = DISTR.NORM.ESTAND.INV ## Devuelve la función inversa de la distribución normal estándar acumulativa.
|
TRIMMEAN = MEDIA.ACOTADA ## Devuelve la media del interior de un conjunto de datos.
|
||||||
PEARSON = PEARSON ## Devuelve el coeficiente de momento de correlación de producto Pearson.
|
TTEST = PRUEBA.T ## Devuelve la probabilidad asociada a una prueba t de Student.
|
||||||
PERCENTILE = PERCENTIL ## Devuelve el k-ésimo percentil de los valores de un rango.
|
VAR = VAR ## Calcula la varianza en función de una muestra.
|
||||||
PERCENTRANK = RANGO.PERCENTIL ## Devuelve el rango porcentual de un valor de un conjunto de datos.
|
VARA = VARA ## Calcula la varianza en función de una muestra, incluidos números, texto y valores lógicos.
|
||||||
PERMUT = PERMUTACIONES ## Devuelve el número de permutaciones de un número determinado de objetos.
|
VARP = VARP ## Calcula la varianza en función de toda la población.
|
||||||
POISSON = POISSON ## Devuelve la distribución de Poisson.
|
VARPA = VARPA ## Calcula la varianza en función de toda la población, incluidos números, texto y valores lógicos.
|
||||||
PROB = PROBABILIDAD ## Devuelve la probabilidad de que los valores de un rango se encuentren entre dos límites.
|
WEIBULL = DIST.WEIBULL ## Devuelve la distribución de Weibull.
|
||||||
QUARTILE = CUARTIL ## Devuelve el cuartil de un conjunto de datos.
|
ZTEST = PRUEBA.Z ## Devuelve el valor de una probabilidad de una cola de una prueba z.
|
||||||
RANK = JERARQUIA ## Devuelve la jerarquía de un número en una lista de números.
|
|
||||||
RSQ = COEFICIENTE.R2 ## Devuelve el cuadrado del coeficiente de momento de correlación de producto Pearson.
|
|
||||||
SKEW = COEFICIENTE.ASIMETRIA ## Devuelve la asimetría de una distribución.
|
##
|
||||||
SLOPE = PENDIENTE ## Devuelve la pendiente de la línea de regresión lineal.
|
## Text functions Funciones de texto
|
||||||
SMALL = K.ESIMO.MENOR ## Devuelve el k-ésimo menor valor de un conjunto de datos.
|
##
|
||||||
STANDARDIZE = NORMALIZACION ## Devuelve un valor normalizado.
|
ASC = ASC ## Convierte las letras inglesas o katakana de ancho completo (de dos bytes) dentro de una cadena de caracteres en caracteres de ancho medio (de un byte).
|
||||||
STDEV = DESVEST ## Calcula la desviación estándar a partir de una muestra.
|
BAHTTEXT = TEXTOBAHT ## Convierte un número en texto, con el formato de moneda ß (Baht).
|
||||||
STDEVA = DESVESTA ## Calcula la desviación estándar a partir de una muestra, incluidos números, texto y valores lógicos.
|
CHAR = CARACTER ## Devuelve el carácter especificado por el número de código.
|
||||||
STDEVP = DESVESTP ## Calcula la desviación estándar en función de toda la población.
|
CLEAN = LIMPIAR ## Quita del texto todos los caracteres no imprimibles.
|
||||||
STDEVPA = DESVESTPA ## Calcula la desviación estándar en función de toda la población, incluidos números, texto y valores lógicos.
|
CODE = CODIGO ## Devuelve un código numérico del primer carácter de una cadena de texto.
|
||||||
STEYX = ERROR.TIPICO.XY ## Devuelve el error estándar del valor de "y" previsto para cada "x" de la regresión.
|
CONCATENATE = CONCATENAR ## Concatena varios elementos de texto en uno solo.
|
||||||
TDIST = DISTR.T ## Devuelve la distribución de t de Student.
|
DOLLAR = MONEDA ## Convierte un número en texto, con el formato de moneda $ (dólar).
|
||||||
TINV = DISTR.T.INV ## Devuelve la función inversa de la distribución de t de Student.
|
EXACT = IGUAL ## Comprueba si dos valores de texto son idénticos.
|
||||||
TREND = TENDENCIA ## Devuelve valores en una tendencia lineal.
|
FIND = ENCONTRAR ## Busca un valor de texto dentro de otro (distingue mayúsculas de minúsculas).
|
||||||
TRIMMEAN = MEDIA.ACOTADA ## Devuelve la media del interior de un conjunto de datos.
|
FINDB = ENCONTRARB ## Busca un valor de texto dentro de otro (distingue mayúsculas de minúsculas).
|
||||||
TTEST = PRUEBA.T ## Devuelve la probabilidad asociada a una prueba t de Student.
|
FIXED = DECIMAL ## Da formato a un número como texto con un número fijo de decimales.
|
||||||
VAR = VAR ## Calcula la varianza en función de una muestra.
|
JIS = JIS ## Convierte las letras inglesas o katakana de ancho medio (de un byte) dentro de una cadena de caracteres en caracteres de ancho completo (de dos bytes).
|
||||||
VARA = VARA ## Calcula la varianza en función de una muestra, incluidos números, texto y valores lógicos.
|
LEFT = IZQUIERDA ## Devuelve los caracteres del lado izquierdo de un valor de texto.
|
||||||
VARP = VARP ## Calcula la varianza en función de toda la población.
|
LEFTB = IZQUIERDAB ## Devuelve los caracteres del lado izquierdo de un valor de texto.
|
||||||
VARPA = VARPA ## Calcula la varianza en función de toda la población, incluidos números, texto y valores lógicos.
|
LEN = LARGO ## Devuelve el número de caracteres de una cadena de texto.
|
||||||
WEIBULL = DIST.WEIBULL ## Devuelve la distribución de Weibull.
|
LENB = LARGOB ## Devuelve el número de caracteres de una cadena de texto.
|
||||||
ZTEST = PRUEBA.Z ## Devuelve el valor de una probabilidad de una cola de una prueba z.
|
LOWER = MINUSC ## Pone el texto en minúsculas.
|
||||||
|
MID = EXTRAE ## Devuelve un número específico de caracteres de una cadena de texto que comienza en la posición que se especifique.
|
||||||
|
MIDB = EXTRAEB ## Devuelve un número específico de caracteres de una cadena de texto que comienza en la posición que se especifique.
|
||||||
##
|
PHONETIC = FONETICO ## Extrae los caracteres fonéticos (furigana) de una cadena de texto.
|
||||||
## Text functions Funciones de texto
|
PROPER = NOMPROPIO ## Pone en mayúscula la primera letra de cada palabra de un valor de texto.
|
||||||
##
|
REPLACE = REEMPLAZAR ## Reemplaza caracteres de texto.
|
||||||
ASC = ASC ## Convierte las letras inglesas o katakana de ancho completo (de dos bytes) dentro de una cadena de caracteres en caracteres de ancho medio (de un byte).
|
REPLACEB = REEMPLAZARB ## Reemplaza caracteres de texto.
|
||||||
BAHTTEXT = TEXTOBAHT ## Convierte un número en texto, con el formato de moneda ß (Baht).
|
REPT = REPETIR ## Repite el texto un número determinado de veces.
|
||||||
CHAR = CARACTER ## Devuelve el carácter especificado por el número de código.
|
RIGHT = DERECHA ## Devuelve los caracteres del lado derecho de un valor de texto.
|
||||||
CLEAN = LIMPIAR ## Quita del texto todos los caracteres no imprimibles.
|
RIGHTB = DERECHAB ## Devuelve los caracteres del lado derecho de un valor de texto.
|
||||||
CODE = CODIGO ## Devuelve un código numérico del primer carácter de una cadena de texto.
|
SEARCH = HALLAR ## Busca un valor de texto dentro de otro (no distingue mayúsculas de minúsculas).
|
||||||
CONCATENATE = CONCATENAR ## Concatena varios elementos de texto en uno solo.
|
SEARCHB = HALLARB ## Busca un valor de texto dentro de otro (no distingue mayúsculas de minúsculas).
|
||||||
DOLLAR = MONEDA ## Convierte un número en texto, con el formato de moneda $ (dólar).
|
SUBSTITUTE = SUSTITUIR ## Sustituye texto nuevo por texto antiguo en una cadena de texto.
|
||||||
EXACT = IGUAL ## Comprueba si dos valores de texto son idénticos.
|
T = T ## Convierte sus argumentos a texto.
|
||||||
FIND = ENCONTRAR ## Busca un valor de texto dentro de otro (distingue mayúsculas de minúsculas).
|
TEXT = TEXTO ## Da formato a un número y lo convierte en texto.
|
||||||
FINDB = ENCONTRARB ## Busca un valor de texto dentro de otro (distingue mayúsculas de minúsculas).
|
TRIM = ESPACIOS ## Quita los espacios del texto.
|
||||||
FIXED = DECIMAL ## Da formato a un número como texto con un número fijo de decimales.
|
UPPER = MAYUSC ## Pone el texto en mayúsculas.
|
||||||
JIS = JIS ## Convierte las letras inglesas o katakana de ancho medio (de un byte) dentro de una cadena de caracteres en caracteres de ancho completo (de dos bytes).
|
VALUE = VALOR ## Convierte un argumento de texto en un número.
|
||||||
LEFT = IZQUIERDA ## Devuelve los caracteres del lado izquierdo de un valor de texto.
|
|
||||||
LEFTB = IZQUIERDAB ## Devuelve los caracteres del lado izquierdo de un valor de texto.
|
|
||||||
LEN = LARGO ## Devuelve el número de caracteres de una cadena de texto.
|
|
||||||
LENB = LARGOB ## Devuelve el número de caracteres de una cadena de texto.
|
|
||||||
LOWER = MINUSC ## Pone el texto en minúsculas.
|
|
||||||
MID = EXTRAE ## Devuelve un número específico de caracteres de una cadena de texto que comienza en la posición que se especifique.
|
|
||||||
MIDB = EXTRAEB ## Devuelve un número específico de caracteres de una cadena de texto que comienza en la posición que se especifique.
|
|
||||||
PHONETIC = FONETICO ## Extrae los caracteres fonéticos (furigana) de una cadena de texto.
|
|
||||||
PROPER = NOMPROPIO ## Pone en mayúscula la primera letra de cada palabra de un valor de texto.
|
|
||||||
REPLACE = REEMPLAZAR ## Reemplaza caracteres de texto.
|
|
||||||
REPLACEB = REEMPLAZARB ## Reemplaza caracteres de texto.
|
|
||||||
REPT = REPETIR ## Repite el texto un número determinado de veces.
|
|
||||||
RIGHT = DERECHA ## Devuelve los caracteres del lado derecho de un valor de texto.
|
|
||||||
RIGHTB = DERECHAB ## Devuelve los caracteres del lado derecho de un valor de texto.
|
|
||||||
SEARCH = HALLAR ## Busca un valor de texto dentro de otro (no distingue mayúsculas de minúsculas).
|
|
||||||
SEARCHB = HALLARB ## Busca un valor de texto dentro de otro (no distingue mayúsculas de minúsculas).
|
|
||||||
SUBSTITUTE = SUSTITUIR ## Sustituye texto nuevo por texto antiguo en una cadena de texto.
|
|
||||||
T = T ## Convierte sus argumentos a texto.
|
|
||||||
TEXT = TEXTO ## Da formato a un número y lo convierte en texto.
|
|
||||||
TRIM = ESPACIOS ## Quita los espacios del texto.
|
|
||||||
UPPER = MAYUSC ## Pone el texto en mayúsculas.
|
|
||||||
VALUE = VALOR ## Convierte un argumento de texto en un número.
|
|
||||||
24
PhpOffice/PhpSpreadsheet/Calculation/locale/fi/config
Normal file
24
PhpOffice/PhpSpreadsheet/Calculation/locale/fi/config
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
##
|
||||||
|
## PhpSpreadsheet
|
||||||
|
##
|
||||||
|
|
||||||
|
ArgumentSeparator = ;
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## (For future use)
|
||||||
|
##
|
||||||
|
currencySymbol = $ # Symbol not known, should it be a € (Euro)?
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## Excel Error Codes (For future use)
|
||||||
|
|
||||||
|
##
|
||||||
|
NULL = #TYHJÄ!
|
||||||
|
DIV0 = #JAKO/0!
|
||||||
|
VALUE = #ARVO!
|
||||||
|
REF = #VIITTAUS!
|
||||||
|
NAME = #NIMI?
|
||||||
|
NUM = #LUKU!
|
||||||
|
NA = #PUUTTUU
|
||||||
|
|
@ -1,438 +1,416 @@
|
||||||
##
|
##
|
||||||
## PHPExcel
|
## PhpSpreadsheet
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Data in this file derived from https://www.excel-function-translation.com/
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
##
|
||||||
## modify it under the terms of the GNU Lesser General Public
|
|
||||||
## License as published by the Free Software Foundation; either
|
|
||||||
## version 2.1 of the License, or (at your option) any later version.
|
##
|
||||||
##
|
## Add-in and Automation functions Apuohjelma- ja automaatiofunktiot
|
||||||
## This library is distributed in the hope that it will be useful,
|
##
|
||||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
GETPIVOTDATA = NOUDA.PIVOT.TIEDOT ## Palauttaa pivot-taulukkoraporttiin tallennettuja tietoja.
|
||||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
## Lesser General Public License for more details.
|
|
||||||
##
|
##
|
||||||
## You should have received a copy of the GNU Lesser General Public
|
## Cube functions Kuutiofunktiot
|
||||||
## License along with this library; if not, write to the Free Software
|
##
|
||||||
## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
CUBEKPIMEMBER = KUUTIOKPIJÄSEN ## Palauttaa suorituskykyilmaisimen (KPI) nimen, ominaisuuden sekä mitan ja näyttää nimen sekä ominaisuuden solussa. KPI on mitattavissa oleva suure, kuten kuukauden bruttotuotto tai vuosineljänneksen työntekijäkohtainen liikevaihto, joiden avulla tarkkaillaan organisaation suorituskykyä.
|
||||||
##
|
CUBEMEMBER = KUUTIONJÄSEN ## Palauttaa kuutiohierarkian jäsenen tai monikon. Tällä funktiolla voit tarkistaa, että jäsen tai monikko on olemassa kuutiossa.
|
||||||
## @category PHPExcel
|
CUBEMEMBERPROPERTY = KUUTIONJÄSENENOMINAISUUS ## Palauttaa kuution jäsenominaisuuden arvon. Tällä funktiolla voit tarkistaa, että nimi on olemassa kuutiossa, ja palauttaa tämän jäsenen määritetyn ominaisuuden.
|
||||||
## @package PHPExcel_Calculation
|
CUBERANKEDMEMBER = KUUTIONLUOKITELTUJÄSEN ## Palauttaa joukon n:nnen jäsenen. Tällä funktiolla voit palauttaa joukosta elementtejä, kuten parhaan myyjän tai 10 parasta opiskelijaa.
|
||||||
## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
CUBESET = KUUTIOJOUKKO ## Määrittää lasketun jäsen- tai monikkojoukon lähettämällä joukon lausekkeita palvelimessa olevalle kuutiolle. Palvelin luo joukon ja palauttaa sen Microsoft Office Excelille.
|
||||||
## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
CUBESETCOUNT = KUUTIOJOUKKOJENMÄÄRÄ ## Palauttaa joukon kohteiden määrän.
|
||||||
## @version ##VERSION##, ##DATE##
|
CUBEVALUE = KUUTIONARVO ## Palauttaa koostetun arvon kuutiosta.
|
||||||
##
|
|
||||||
## Data in this file derived from http://www.piuha.fi/excel-function-name-translation/
|
|
||||||
##
|
##
|
||||||
##
|
## Database functions Tietokantafunktiot
|
||||||
|
##
|
||||||
|
DAVERAGE = TKESKIARVO ## Palauttaa valittujen tietokantamerkintöjen keskiarvon.
|
||||||
##
|
DCOUNT = TLASKE ## Laskee tietokannan lukuja sisältävien solujen määrän.
|
||||||
## Add-in and Automation functions Apuohjelma- ja automaatiofunktiot
|
DCOUNTA = TLASKEA ## Laskee tietokannan tietoja sisältävien solujen määrän.
|
||||||
##
|
DGET = TNOUDA ## Hakee määritettyjä ehtoja vastaavan tietueen tietokannasta.
|
||||||
GETPIVOTDATA = NOUDA.PIVOT.TIEDOT ## Palauttaa pivot-taulukkoraporttiin tallennettuja tietoja.
|
DMAX = TMAKS ## Palauttaa suurimman arvon tietokannasta valittujen arvojen joukosta.
|
||||||
|
DMIN = TMIN ## Palauttaa pienimmän arvon tietokannasta valittujen arvojen joukosta.
|
||||||
|
DPRODUCT = TTULO ## Kertoo määritetyn ehdon täyttävien tietokannan tietueiden tietyssä kentässä olevat arvot.
|
||||||
##
|
DSTDEV = TKESKIHAJONTA ## Laskee keskihajonnan tietokannasta valituista arvoista muodostuvan otoksen perusteella.
|
||||||
## Cube functions Kuutiofunktiot
|
DSTDEVP = TKESKIHAJONTAP ## Laskee keskihajonnan tietokannasta valittujen arvojen koko populaation perusteella.
|
||||||
##
|
DSUM = TSUMMA ## Lisää luvut määritetyn ehdon täyttävien tietokannan tietueiden kenttäsarakkeeseen.
|
||||||
CUBEKPIMEMBER = KUUTIOKPIJÄSEN ## Palauttaa suorituskykyilmaisimen (KPI) nimen, ominaisuuden sekä mitan ja näyttää nimen sekä ominaisuuden solussa. KPI on mitattavissa oleva suure, kuten kuukauden bruttotuotto tai vuosineljänneksen työntekijäkohtainen liikevaihto, joiden avulla tarkkaillaan organisaation suorituskykyä.
|
DVAR = TVARIANSSI ## Laskee varianssin tietokannasta valittujen arvojen otoksen perusteella.
|
||||||
CUBEMEMBER = KUUTIONJÄSEN ## Palauttaa kuutiohierarkian jäsenen tai monikon. Tällä funktiolla voit tarkistaa, että jäsen tai monikko on olemassa kuutiossa.
|
DVARP = TVARIANSSIP ## Laskee varianssin tietokannasta valittujen arvojen koko populaation perusteella.
|
||||||
CUBEMEMBERPROPERTY = KUUTIONJÄSENENOMINAISUUS ## Palauttaa kuution jäsenominaisuuden arvon. Tällä funktiolla voit tarkistaa, että nimi on olemassa kuutiossa, ja palauttaa tämän jäsenen määritetyn ominaisuuden.
|
|
||||||
CUBERANKEDMEMBER = KUUTIONLUOKITELTUJÄSEN ## Palauttaa joukon n:nnen jäsenen. Tällä funktiolla voit palauttaa joukosta elementtejä, kuten parhaan myyjän tai 10 parasta opiskelijaa.
|
|
||||||
CUBESET = KUUTIOJOUKKO ## Määrittää lasketun jäsen- tai monikkojoukon lähettämällä joukon lausekkeita palvelimessa olevalle kuutiolle. Palvelin luo joukon ja palauttaa sen Microsoft Office Excelille.
|
##
|
||||||
CUBESETCOUNT = KUUTIOJOUKKOJENMÄÄRÄ ## Palauttaa joukon kohteiden määrän.
|
## Date and time functions Päivämäärä- ja aikafunktiot
|
||||||
CUBEVALUE = KUUTIONARVO ## Palauttaa koostetun arvon kuutiosta.
|
##
|
||||||
|
DATE = PÄIVÄYS ## Palauttaa annetun päivämäärän järjestysluvun.
|
||||||
|
DATEVALUE = PÄIVÄYSARVO ## Muuntaa tekstimuodossa olevan päivämäärän järjestysluvuksi.
|
||||||
##
|
DAY = PÄIVÄ ## Muuntaa järjestysluvun kuukauden päiväksi.
|
||||||
## Database functions Tietokantafunktiot
|
DAYS360 = PÄIVÄT360 ## Laskee kahden päivämäärän välisten päivien määrän käyttäen perustana 360-päiväistä vuotta.
|
||||||
##
|
EDATE = PÄIVÄ.KUUKAUSI ## Palauttaa järjestyslukuna päivämäärän, joka poikkeaa aloituspäivän päivämäärästä annetun kuukausimäärän verran joko eteen- tai taaksepäin.
|
||||||
DAVERAGE = TKESKIARVO ## Palauttaa valittujen tietokantamerkintöjen keskiarvon.
|
EOMONTH = KUUKAUSI.LOPPU ## Palauttaa järjestyslukuna sen kuukauden viimeisen päivämäärän, joka poikkeaa annetun kuukausimäärän verran eteen- tai taaksepäin.
|
||||||
DCOUNT = TLASKE ## Laskee tietokannan lukuja sisältävien solujen määrän.
|
HOUR = TUNNIT ## Muuntaa järjestysluvun tunneiksi.
|
||||||
DCOUNTA = TLASKEA ## Laskee tietokannan tietoja sisältävien solujen määrän.
|
MINUTE = MINUUTIT ## Muuntaa järjestysluvun minuuteiksi.
|
||||||
DGET = TNOUDA ## Hakee määritettyjä ehtoja vastaavan tietueen tietokannasta.
|
MONTH = KUUKAUSI ## Muuntaa järjestysluvun kuukausiksi.
|
||||||
DMAX = TMAKS ## Palauttaa suurimman arvon tietokannasta valittujen arvojen joukosta.
|
NETWORKDAYS = TYÖPÄIVÄT ## Palauttaa kahden päivämäärän välissä olevien täysien työpäivien määrän.
|
||||||
DMIN = TMIN ## Palauttaa pienimmän arvon tietokannasta valittujen arvojen joukosta.
|
NOW = NYT ## Palauttaa kuluvan päivämäärän ja ajan järjestysnumeron.
|
||||||
DPRODUCT = TTULO ## Kertoo määritetyn ehdon täyttävien tietokannan tietueiden tietyssä kentässä olevat arvot.
|
SECOND = SEKUNNIT ## Muuntaa järjestysluvun sekunneiksi.
|
||||||
DSTDEV = TKESKIHAJONTA ## Laskee keskihajonnan tietokannasta valituista arvoista muodostuvan otoksen perusteella.
|
TIME = AIKA ## Palauttaa annetun kellonajan järjestysluvun.
|
||||||
DSTDEVP = TKESKIHAJONTAP ## Laskee keskihajonnan tietokannasta valittujen arvojen koko populaation perusteella.
|
TIMEVALUE = AIKA_ARVO ## Muuntaa tekstimuodossa olevan kellonajan järjestysluvuksi.
|
||||||
DSUM = TSUMMA ## Lisää luvut määritetyn ehdon täyttävien tietokannan tietueiden kenttäsarakkeeseen.
|
TODAY = TÄMÄ.PÄIVÄ ## Palauttaa kuluvan päivän päivämäärän järjestysluvun.
|
||||||
DVAR = TVARIANSSI ## Laskee varianssin tietokannasta valittujen arvojen otoksen perusteella.
|
WEEKDAY = VIIKONPÄIVÄ ## Muuntaa järjestysluvun viikonpäiväksi.
|
||||||
DVARP = TVARIANSSIP ## Laskee varianssin tietokannasta valittujen arvojen koko populaation perusteella.
|
WEEKNUM = VIIKKO.NRO ## Muuntaa järjestysluvun luvuksi, joka ilmaisee viikon järjestysluvun vuoden alusta laskettuna.
|
||||||
|
WORKDAY = TYÖPÄIVÄ ## Palauttaa järjestysluvun päivämäärälle, joka sijaitsee annettujen työpäivien verran eteen tai taaksepäin.
|
||||||
|
YEAR = VUOSI ## Muuntaa järjestysluvun vuosiksi.
|
||||||
##
|
YEARFRAC = VUOSI.OSA ## Palauttaa määritettyjen päivämäärien (aloituspäivä ja lopetuspäivä) välisen osan vuodesta.
|
||||||
## Date and time functions Päivämäärä- ja aikafunktiot
|
|
||||||
##
|
|
||||||
DATE = PÄIVÄYS ## Palauttaa annetun päivämäärän järjestysluvun.
|
##
|
||||||
DATEVALUE = PÄIVÄYSARVO ## Muuntaa tekstimuodossa olevan päivämäärän järjestysluvuksi.
|
## Engineering functions Tekniset funktiot
|
||||||
DAY = PÄIVÄ ## Muuntaa järjestysluvun kuukauden päiväksi.
|
##
|
||||||
DAYS360 = PÄIVÄT360 ## Laskee kahden päivämäärän välisten päivien määrän käyttäen perustana 360-päiväistä vuotta.
|
BESSELI = BESSELI ## Palauttaa muunnetun Bessel-funktion In(x).
|
||||||
EDATE = PÄIVÄ.KUUKAUSI ## Palauttaa järjestyslukuna päivämäärän, joka poikkeaa aloituspäivän päivämäärästä annetun kuukausimäärän verran joko eteen- tai taaksepäin.
|
BESSELJ = BESSELJ ## Palauttaa Bessel-funktion Jn(x).
|
||||||
EOMONTH = KUUKAUSI.LOPPU ## Palauttaa järjestyslukuna sen kuukauden viimeisen päivämäärän, joka poikkeaa annetun kuukausimäärän verran eteen- tai taaksepäin.
|
BESSELK = BESSELK ## Palauttaa muunnetun Bessel-funktion Kn(x).
|
||||||
HOUR = TUNNIT ## Muuntaa järjestysluvun tunneiksi.
|
BESSELY = BESSELY ## Palauttaa Bessel-funktion Yn(x).
|
||||||
MINUTE = MINUUTIT ## Muuntaa järjestysluvun minuuteiksi.
|
BIN2DEC = BINDES ## Muuntaa binaariluvun desimaaliluvuksi.
|
||||||
MONTH = KUUKAUSI ## Muuntaa järjestysluvun kuukausiksi.
|
BIN2HEX = BINHEKSA ## Muuntaa binaariluvun heksadesimaaliluvuksi.
|
||||||
NETWORKDAYS = TYÖPÄIVÄT ## Palauttaa kahden päivämäärän välissä olevien täysien työpäivien määrän.
|
BIN2OCT = BINOKT ## Muuntaa binaariluvun oktaaliluvuksi.
|
||||||
NOW = NYT ## Palauttaa kuluvan päivämäärän ja ajan järjestysnumeron.
|
COMPLEX = KOMPLEKSI ## Muuntaa reaali- ja imaginaariosien kertoimet kompleksiluvuksi.
|
||||||
SECOND = SEKUNNIT ## Muuntaa järjestysluvun sekunneiksi.
|
CONVERT = MUUNNA ## Muuntaa luvun toisen mittajärjestelmän mukaiseksi.
|
||||||
TIME = AIKA ## Palauttaa annetun kellonajan järjestysluvun.
|
DEC2BIN = DESBIN ## Muuntaa desimaaliluvun binaariluvuksi.
|
||||||
TIMEVALUE = AIKA_ARVO ## Muuntaa tekstimuodossa olevan kellonajan järjestysluvuksi.
|
DEC2HEX = DESHEKSA ## Muuntaa kymmenjärjestelmän luvun heksadesimaaliluvuksi.
|
||||||
TODAY = TÄMÄ.PÄIVÄ ## Palauttaa kuluvan päivän päivämäärän järjestysluvun.
|
DEC2OCT = DESOKT ## Muuntaa kymmenjärjestelmän luvun oktaaliluvuksi.
|
||||||
WEEKDAY = VIIKONPÄIVÄ ## Muuntaa järjestysluvun viikonpäiväksi.
|
DELTA = SAMA.ARVO ## Tarkistaa, ovatko kaksi arvoa yhtä suuria.
|
||||||
WEEKNUM = VIIKKO.NRO ## Muuntaa järjestysluvun luvuksi, joka ilmaisee viikon järjestysluvun vuoden alusta laskettuna.
|
ERF = VIRHEFUNKTIO ## Palauttaa virhefunktion.
|
||||||
WORKDAY = TYÖPÄIVÄ ## Palauttaa järjestysluvun päivämäärälle, joka sijaitsee annettujen työpäivien verran eteen tai taaksepäin.
|
ERFC = VIRHEFUNKTIO.KOMPLEMENTTI ## Palauttaa komplementtivirhefunktion.
|
||||||
YEAR = VUOSI ## Muuntaa järjestysluvun vuosiksi.
|
GESTEP = RAJA ## Testaa, onko luku suurempi kuin kynnysarvo.
|
||||||
YEARFRAC = VUOSI.OSA ## Palauttaa määritettyjen päivämäärien (aloituspäivä ja lopetuspäivä) välisen osan vuodesta.
|
HEX2BIN = HEKSABIN ## Muuntaa heksadesimaaliluvun binaariluvuksi.
|
||||||
|
HEX2DEC = HEKSADES ## Muuntaa heksadesimaaliluvun desimaaliluvuksi.
|
||||||
|
HEX2OCT = HEKSAOKT ## Muuntaa heksadesimaaliluvun oktaaliluvuksi.
|
||||||
##
|
IMABS = KOMPLEKSI.ITSEISARVO ## Palauttaa kompleksiluvun itseisarvon (moduluksen).
|
||||||
## Engineering functions Tekniset funktiot
|
IMAGINARY = KOMPLEKSI.IMAG ## Palauttaa kompleksiluvun imaginaariosan kertoimen.
|
||||||
##
|
IMARGUMENT = KOMPLEKSI.ARG ## Palauttaa theeta-argumentin, joka on radiaaneina annettu kulma.
|
||||||
BESSELI = BESSELI ## Palauttaa muunnetun Bessel-funktion In(x).
|
IMCONJUGATE = KOMPLEKSI.KONJ ## Palauttaa kompleksiluvun konjugaattiluvun.
|
||||||
BESSELJ = BESSELJ ## Palauttaa Bessel-funktion Jn(x).
|
IMCOS = KOMPLEKSI.COS ## Palauttaa kompleksiluvun kosinin.
|
||||||
BESSELK = BESSELK ## Palauttaa muunnetun Bessel-funktion Kn(x).
|
IMDIV = KOMPLEKSI.OSAM ## Palauttaa kahden kompleksiluvun osamäärän.
|
||||||
BESSELY = BESSELY ## Palauttaa Bessel-funktion Yn(x).
|
IMEXP = KOMPLEKSI.EKSP ## Palauttaa kompleksiluvun eksponentin.
|
||||||
BIN2DEC = BINDES ## Muuntaa binaariluvun desimaaliluvuksi.
|
IMLN = KOMPLEKSI.LN ## Palauttaa kompleksiluvun luonnollisen logaritmin.
|
||||||
BIN2HEX = BINHEKSA ## Muuntaa binaariluvun heksadesimaaliluvuksi.
|
IMLOG10 = KOMPLEKSI.LOG10 ## Palauttaa kompleksiluvun kymmenkantaisen logaritmin.
|
||||||
BIN2OCT = BINOKT ## Muuntaa binaariluvun oktaaliluvuksi.
|
IMLOG2 = KOMPLEKSI.LOG2 ## Palauttaa kompleksiluvun kaksikantaisen logaritmin.
|
||||||
COMPLEX = KOMPLEKSI ## Muuntaa reaali- ja imaginaariosien kertoimet kompleksiluvuksi.
|
IMPOWER = KOMPLEKSI.POT ## Palauttaa kokonaislukupotenssiin korotetun kompleksiluvun.
|
||||||
CONVERT = MUUNNA ## Muuntaa luvun toisen mittajärjestelmän mukaiseksi.
|
IMPRODUCT = KOMPLEKSI.TULO ## Palauttaa kompleksilukujen tulon.
|
||||||
DEC2BIN = DESBIN ## Muuntaa desimaaliluvun binaariluvuksi.
|
IMREAL = KOMPLEKSI.REAALI ## Palauttaa kompleksiluvun reaaliosan kertoimen.
|
||||||
DEC2HEX = DESHEKSA ## Muuntaa kymmenjärjestelmän luvun heksadesimaaliluvuksi.
|
IMSIN = KOMPLEKSI.SIN ## Palauttaa kompleksiluvun sinin.
|
||||||
DEC2OCT = DESOKT ## Muuntaa kymmenjärjestelmän luvun oktaaliluvuksi.
|
IMSQRT = KOMPLEKSI.NELIÖJ ## Palauttaa kompleksiluvun neliöjuuren.
|
||||||
DELTA = SAMA.ARVO ## Tarkistaa, ovatko kaksi arvoa yhtä suuria.
|
IMSUB = KOMPLEKSI.EROTUS ## Palauttaa kahden kompleksiluvun erotuksen.
|
||||||
ERF = VIRHEFUNKTIO ## Palauttaa virhefunktion.
|
IMSUM = KOMPLEKSI.SUM ## Palauttaa kompleksilukujen summan.
|
||||||
ERFC = VIRHEFUNKTIO.KOMPLEMENTTI ## Palauttaa komplementtivirhefunktion.
|
OCT2BIN = OKTBIN ## Muuntaa oktaaliluvun binaariluvuksi.
|
||||||
GESTEP = RAJA ## Testaa, onko luku suurempi kuin kynnysarvo.
|
OCT2DEC = OKTDES ## Muuntaa oktaaliluvun desimaaliluvuksi.
|
||||||
HEX2BIN = HEKSABIN ## Muuntaa heksadesimaaliluvun binaariluvuksi.
|
OCT2HEX = OKTHEKSA ## Muuntaa oktaaliluvun heksadesimaaliluvuksi.
|
||||||
HEX2DEC = HEKSADES ## Muuntaa heksadesimaaliluvun desimaaliluvuksi.
|
|
||||||
HEX2OCT = HEKSAOKT ## Muuntaa heksadesimaaliluvun oktaaliluvuksi.
|
|
||||||
IMABS = KOMPLEKSI.ITSEISARVO ## Palauttaa kompleksiluvun itseisarvon (moduluksen).
|
##
|
||||||
IMAGINARY = KOMPLEKSI.IMAG ## Palauttaa kompleksiluvun imaginaariosan kertoimen.
|
## Financial functions Rahoitusfunktiot
|
||||||
IMARGUMENT = KOMPLEKSI.ARG ## Palauttaa theeta-argumentin, joka on radiaaneina annettu kulma.
|
##
|
||||||
IMCONJUGATE = KOMPLEKSI.KONJ ## Palauttaa kompleksiluvun konjugaattiluvun.
|
ACCRINT = KERTYNYT.KORKO ## Laskee arvopaperille kertyneen koron, kun korko kertyy säännöllisin väliajoin.
|
||||||
IMCOS = KOMPLEKSI.COS ## Palauttaa kompleksiluvun kosinin.
|
ACCRINTM = KERTYNYT.KORKO.LOPUSSA ## Laskee arvopaperille kertyneen koron, kun korko maksetaan eräpäivänä.
|
||||||
IMDIV = KOMPLEKSI.OSAM ## Palauttaa kahden kompleksiluvun osamäärän.
|
AMORDEGRC = AMORDEGRC ## Laskee kunkin laskentakauden poiston poistokerrointa käyttämällä.
|
||||||
IMEXP = KOMPLEKSI.EKSP ## Palauttaa kompleksiluvun eksponentin.
|
AMORLINC = AMORLINC ## Palauttaa kunkin laskentakauden poiston.
|
||||||
IMLN = KOMPLEKSI.LN ## Palauttaa kompleksiluvun luonnollisen logaritmin.
|
COUPDAYBS = KORKOPÄIVÄT.ALUSTA ## Palauttaa koronmaksukauden aloituspäivän ja tilityspäivän välisen ajanjakson päivien määrän.
|
||||||
IMLOG10 = KOMPLEKSI.LOG10 ## Palauttaa kompleksiluvun kymmenkantaisen logaritmin.
|
COUPDAYS = KORKOPÄIVÄT ## Palauttaa päivien määrän koronmaksukaudelta, johon tilityspäivä kuuluu.
|
||||||
IMLOG2 = KOMPLEKSI.LOG2 ## Palauttaa kompleksiluvun kaksikantaisen logaritmin.
|
COUPDAYSNC = KORKOPÄIVÄT.SEURAAVA ## Palauttaa tilityspäivän ja seuraavan koronmaksupäivän välisen ajanjakson päivien määrän.
|
||||||
IMPOWER = KOMPLEKSI.POT ## Palauttaa kokonaislukupotenssiin korotetun kompleksiluvun.
|
COUPNCD = KORKOMAKSU.SEURAAVA ## Palauttaa tilityspäivän jälkeisen seuraavan koronmaksupäivän.
|
||||||
IMPRODUCT = KOMPLEKSI.TULO ## Palauttaa kompleksilukujen tulon.
|
COUPNUM = KORKOPÄIVÄJAKSOT ## Palauttaa arvopaperin ostopäivän ja erääntymispäivän välisten koronmaksupäivien määrän.
|
||||||
IMREAL = KOMPLEKSI.REAALI ## Palauttaa kompleksiluvun reaaliosan kertoimen.
|
COUPPCD = KORKOPÄIVÄ.EDELLINEN ## Palauttaa tilityspäivää edeltävän koronmaksupäivän.
|
||||||
IMSIN = KOMPLEKSI.SIN ## Palauttaa kompleksiluvun sinin.
|
CUMIPMT = MAKSETTU.KORKO ## Palauttaa kahden jakson välisenä aikana kertyneen koron.
|
||||||
IMSQRT = KOMPLEKSI.NELIÖJ ## Palauttaa kompleksiluvun neliöjuuren.
|
CUMPRINC = MAKSETTU.LYHENNYS ## Palauttaa lainalle kahden jakson välisenä aikana kertyneen lyhennyksen.
|
||||||
IMSUB = KOMPLEKSI.EROTUS ## Palauttaa kahden kompleksiluvun erotuksen.
|
DB = DB ## Palauttaa kauden kirjanpidollisen poiston amerikkalaisen DB-menetelmän (Fixed-declining balance) mukaan.
|
||||||
IMSUM = KOMPLEKSI.SUM ## Palauttaa kompleksilukujen summan.
|
DDB = DDB ## Palauttaa kauden kirjanpidollisen poiston amerikkalaisen DDB-menetelmän (Double-Declining Balance) tai jonkin muun määrittämäsi menetelmän mukaan.
|
||||||
OCT2BIN = OKTBIN ## Muuntaa oktaaliluvun binaariluvuksi.
|
DISC = DISKONTTOKORKO ## Palauttaa arvopaperin diskonttokoron.
|
||||||
OCT2DEC = OKTDES ## Muuntaa oktaaliluvun desimaaliluvuksi.
|
DOLLARDE = VALUUTTA.DES ## Muuntaa murtolukuna ilmoitetun valuuttamäärän desimaaliluvuksi.
|
||||||
OCT2HEX = OKTHEKSA ## Muuntaa oktaaliluvun heksadesimaaliluvuksi.
|
DOLLARFR = VALUUTTA.MURTO ## Muuntaa desimaalilukuna ilmaistun valuuttamäärän murtoluvuksi.
|
||||||
|
DURATION = KESTO ## Palauttaa keston arvopaperille, jonka koronmaksu tapahtuu säännöllisesti.
|
||||||
|
EFFECT = KORKO.EFEKT ## Palauttaa todellisen vuosikoron.
|
||||||
##
|
FV = TULEVA.ARVO ## Palauttaa sijoituksen tulevan arvon.
|
||||||
## Financial functions Rahoitusfunktiot
|
FVSCHEDULE = TULEVA.ARVO.ERIKORKO ## Palauttaa pääoman tulevan arvon, kun pääomalle on kertynyt korkoa vaihtelevasti.
|
||||||
##
|
INTRATE = KORKO.ARVOPAPERI ## Palauttaa arvopaperin korkokannan täysin sijoitetulle arvopaperille.
|
||||||
ACCRINT = KERTYNYT.KORKO ## Laskee arvopaperille kertyneen koron, kun korko kertyy säännöllisin väliajoin.
|
IPMT = IPMT ## Laskee sijoitukselle tai lainalle tiettynä ajanjaksona kertyvän koron.
|
||||||
ACCRINTM = KERTYNYT.KORKO.LOPUSSA ## Laskee arvopaperille kertyneen koron, kun korko maksetaan eräpäivänä.
|
IRR = SISÄINEN.KORKO ## Laskee sisäisen korkokannan kassavirrasta muodostuvalle sarjalle.
|
||||||
AMORDEGRC = AMORDEGRC ## Laskee kunkin laskentakauden poiston poistokerrointa käyttämällä.
|
ISPMT = ONMAKSU ## Laskee sijoituksen maksetun koron tietyllä jaksolla.
|
||||||
AMORLINC = AMORLINC ## Palauttaa kunkin laskentakauden poiston.
|
MDURATION = KESTO.MUUNN ## Palauttaa muunnetun Macauley-keston arvopaperille, jonka oletettu nimellisarvo on 100 euroa.
|
||||||
COUPDAYBS = KORKOPÄIVÄT.ALUSTA ## Palauttaa koronmaksukauden aloituspäivän ja tilityspäivän välisen ajanjakson päivien määrän.
|
MIRR = MSISÄINEN ## Palauttaa sisäisen korkokannan, kun positiivisten ja negatiivisten kassavirtojen rahoituskorko on erilainen.
|
||||||
COUPDAYS = KORKOPÄIVÄT ## Palauttaa päivien määrän koronmaksukaudelta, johon tilityspäivä kuuluu.
|
NOMINAL = KORKO.VUOSI ## Palauttaa vuosittaisen nimelliskoron.
|
||||||
COUPDAYSNC = KORKOPÄIVÄT.SEURAAVA ## Palauttaa tilityspäivän ja seuraavan koronmaksupäivän välisen ajanjakson päivien määrän.
|
NPER = NJAKSO ## Palauttaa sijoituksen jaksojen määrän.
|
||||||
COUPNCD = KORKOMAKSU.SEURAAVA ## Palauttaa tilityspäivän jälkeisen seuraavan koronmaksupäivän.
|
NPV = NNA ## Palauttaa sijoituksen nykyarvon toistuvista kassavirroista muodostuvan sarjan ja diskonttokoron perusteella.
|
||||||
COUPNUM = KORKOPÄIVÄJAKSOT ## Palauttaa arvopaperin ostopäivän ja erääntymispäivän välisten koronmaksupäivien määrän.
|
ODDFPRICE = PARITON.ENS.NIMELLISARVO ## Palauttaa arvopaperin hinnan tilanteessa, jossa ensimmäinen jakso on pariton.
|
||||||
COUPPCD = KORKOPÄIVÄ.EDELLINEN ## Palauttaa tilityspäivää edeltävän koronmaksupäivän.
|
ODDFYIELD = PARITON.ENS.TUOTTO ## Palauttaa arvopaperin tuoton tilanteessa, jossa ensimmäinen jakso on pariton.
|
||||||
CUMIPMT = MAKSETTU.KORKO ## Palauttaa kahden jakson välisenä aikana kertyneen koron.
|
ODDLPRICE = PARITON.VIIM.NIMELLISARVO ## Palauttaa arvopaperin hinnan tilanteessa, jossa viimeinen jakso on pariton.
|
||||||
CUMPRINC = MAKSETTU.LYHENNYS ## Palauttaa lainalle kahden jakson välisenä aikana kertyneen lyhennyksen.
|
ODDLYIELD = PARITON.VIIM.TUOTTO ## Palauttaa arvopaperin tuoton tilanteessa, jossa viimeinen jakso on pariton.
|
||||||
DB = DB ## Palauttaa kauden kirjanpidollisen poiston amerikkalaisen DB-menetelmän (Fixed-declining balance) mukaan.
|
PMT = MAKSU ## Palauttaa annuiteetin kausittaisen maksuerän.
|
||||||
DDB = DDB ## Palauttaa kauden kirjanpidollisen poiston amerikkalaisen DDB-menetelmän (Double-Declining Balance) tai jonkin muun määrittämäsi menetelmän mukaan.
|
PPMT = PPMT ## Laskee sijoitukselle tai lainalle tiettynä ajanjaksona maksettavan lyhennyksen.
|
||||||
DISC = DISKONTTOKORKO ## Palauttaa arvopaperin diskonttokoron.
|
PRICE = HINTA ## Palauttaa hinnan 100 euron nimellisarvoa kohden arvopaperille, jonka korko maksetaan säännöllisin väliajoin.
|
||||||
DOLLARDE = VALUUTTA.DES ## Muuntaa murtolukuna ilmoitetun valuuttamäärän desimaaliluvuksi.
|
PRICEDISC = HINTA.DISK ## Palauttaa diskontatun arvopaperin hinnan 100 euron nimellisarvoa kohden.
|
||||||
DOLLARFR = VALUUTTA.MURTO ## Muuntaa desimaalilukuna ilmaistun valuuttamäärän murtoluvuksi.
|
PRICEMAT = HINTA.LUNASTUS ## Palauttaa hinnan 100 euron nimellisarvoa kohden arvopaperille, jonka korko maksetaan erääntymispäivänä.
|
||||||
DURATION = KESTO ## Palauttaa keston arvopaperille, jonka koronmaksu tapahtuu säännöllisesti.
|
PV = NA ## Palauttaa sijoituksen nykyarvon.
|
||||||
EFFECT = KORKO.EFEKT ## Palauttaa todellisen vuosikoron.
|
RATE = KORKO ## Palauttaa annuiteetin kausittaisen korkokannan.
|
||||||
FV = TULEVA.ARVO ## Palauttaa sijoituksen tulevan arvon.
|
RECEIVED = SAATU.HINTA ## Palauttaa arvopaperin tuoton erääntymispäivänä kokonaan maksetulle sijoitukselle.
|
||||||
FVSCHEDULE = TULEVA.ARVO.ERIKORKO ## Palauttaa pääoman tulevan arvon, kun pääomalle on kertynyt korkoa vaihtelevasti.
|
SLN = STP ## Palauttaa sijoituksen tasapoiston yhdeltä jaksolta.
|
||||||
INTRATE = KORKO.ARVOPAPERI ## Palauttaa arvopaperin korkokannan täysin sijoitetulle arvopaperille.
|
SYD = VUOSIPOISTO ## Palauttaa sijoituksen vuosipoiston annettuna kautena amerikkalaisen SYD-menetelmän (Sum-of-Year's Digits) avulla.
|
||||||
IPMT = IPMT ## Laskee sijoitukselle tai lainalle tiettynä ajanjaksona kertyvän koron.
|
TBILLEQ = OBLIG.TUOTTOPROS ## Palauttaa valtion obligaation tuoton vastaavana joukkovelkakirjan tuottona.
|
||||||
IRR = SISÄINEN.KORKO ## Laskee sisäisen korkokannan kassavirrasta muodostuvalle sarjalle.
|
TBILLPRICE = OBLIG.HINTA ## Palauttaa obligaation hinnan 100 euron nimellisarvoa kohden.
|
||||||
ISPMT = ONMAKSU ## Laskee sijoituksen maksetun koron tietyllä jaksolla.
|
TBILLYIELD = OBLIG.TUOTTO ## Palauttaa obligaation tuoton.
|
||||||
MDURATION = KESTO.MUUNN ## Palauttaa muunnetun Macauley-keston arvopaperille, jonka oletettu nimellisarvo on 100 euroa.
|
VDB = VDB ## Palauttaa annetun kauden tai kauden osan kirjanpidollisen poiston amerikkalaisen DB-menetelmän (Fixed-declining balance) mukaan.
|
||||||
MIRR = MSISÄINEN ## Palauttaa sisäisen korkokannan, kun positiivisten ja negatiivisten kassavirtojen rahoituskorko on erilainen.
|
XIRR = SISÄINEN.KORKO.JAKSOTON ## Palauttaa sisäisen korkokannan kassavirtojen sarjoille, jotka eivät välttämättä ole säännöllisiä.
|
||||||
NOMINAL = KORKO.VUOSI ## Palauttaa vuosittaisen nimelliskoron.
|
XNPV = NNA.JAKSOTON ## Palauttaa nettonykyarvon kassavirtasarjalle, joka ei välttämättä ole kausittainen.
|
||||||
NPER = NJAKSO ## Palauttaa sijoituksen jaksojen määrän.
|
YIELD = TUOTTO ## Palauttaa tuoton arvopaperille, jonka korko maksetaan säännöllisin väliajoin.
|
||||||
NPV = NNA ## Palauttaa sijoituksen nykyarvon toistuvista kassavirroista muodostuvan sarjan ja diskonttokoron perusteella.
|
YIELDDISC = TUOTTO.DISK ## Palauttaa diskontatun arvopaperin, kuten obligaation, vuosittaisen tuoton.
|
||||||
ODDFPRICE = PARITON.ENS.NIMELLISARVO ## Palauttaa arvopaperin hinnan tilanteessa, jossa ensimmäinen jakso on pariton.
|
YIELDMAT = TUOTTO.ERÄP ## Palauttaa erääntymispäivänään korkoa tuottavan arvopaperin vuosittaisen tuoton.
|
||||||
ODDFYIELD = PARITON.ENS.TUOTTO ## Palauttaa arvopaperin tuoton tilanteessa, jossa ensimmäinen jakso on pariton.
|
|
||||||
ODDLPRICE = PARITON.VIIM.NIMELLISARVO ## Palauttaa arvopaperin hinnan tilanteessa, jossa viimeinen jakso on pariton.
|
|
||||||
ODDLYIELD = PARITON.VIIM.TUOTTO ## Palauttaa arvopaperin tuoton tilanteessa, jossa viimeinen jakso on pariton.
|
##
|
||||||
PMT = MAKSU ## Palauttaa annuiteetin kausittaisen maksuerän.
|
## Information functions Erikoisfunktiot
|
||||||
PPMT = PPMT ## Laskee sijoitukselle tai lainalle tiettynä ajanjaksona maksettavan lyhennyksen.
|
##
|
||||||
PRICE = HINTA ## Palauttaa hinnan 100 euron nimellisarvoa kohden arvopaperille, jonka korko maksetaan säännöllisin väliajoin.
|
CELL = SOLU ## Palauttaa tietoja solun muotoilusta, sijainnista ja sisällöstä.
|
||||||
PRICEDISC = HINTA.DISK ## Palauttaa diskontatun arvopaperin hinnan 100 euron nimellisarvoa kohden.
|
ERROR.TYPE = VIRHEEN.LAJI ## Palauttaa virhetyyppiä vastaavan luvun.
|
||||||
PRICEMAT = HINTA.LUNASTUS ## Palauttaa hinnan 100 euron nimellisarvoa kohden arvopaperille, jonka korko maksetaan erääntymispäivänä.
|
INFO = KUVAUS ## Palauttaa tietoja nykyisestä käyttöympäristöstä.
|
||||||
PV = NA ## Palauttaa sijoituksen nykyarvon.
|
ISBLANK = ONTYHJÄ ## Palauttaa arvon TOSI, jos arvo on tyhjä.
|
||||||
RATE = KORKO ## Palauttaa annuiteetin kausittaisen korkokannan.
|
ISERR = ONVIRH ## Palauttaa arvon TOSI, jos arvo on mikä tahansa virhearvo paitsi arvo #PUUTTUU!.
|
||||||
RECEIVED = SAATU.HINTA ## Palauttaa arvopaperin tuoton erääntymispäivänä kokonaan maksetulle sijoitukselle.
|
ISERROR = ONVIRHE ## Palauttaa arvon TOSI, jos arvo on mikä tahansa virhearvo.
|
||||||
SLN = STP ## Palauttaa sijoituksen tasapoiston yhdeltä jaksolta.
|
ISEVEN = ONPARILLINEN ## Palauttaa arvon TOSI, jos arvo on parillinen.
|
||||||
SYD = VUOSIPOISTO ## Palauttaa sijoituksen vuosipoiston annettuna kautena amerikkalaisen SYD-menetelmän (Sum-of-Year's Digits) avulla.
|
ISLOGICAL = ONTOTUUS ## Palauttaa arvon TOSI, jos arvo on mikä tahansa looginen arvo.
|
||||||
TBILLEQ = OBLIG.TUOTTOPROS ## Palauttaa valtion obligaation tuoton vastaavana joukkovelkakirjan tuottona.
|
ISNA = ONPUUTTUU ## Palauttaa arvon TOSI, jos virhearvo on #PUUTTUU!.
|
||||||
TBILLPRICE = OBLIG.HINTA ## Palauttaa obligaation hinnan 100 euron nimellisarvoa kohden.
|
ISNONTEXT = ONEI_TEKSTI ## Palauttaa arvon TOSI, jos arvo ei ole teksti.
|
||||||
TBILLYIELD = OBLIG.TUOTTO ## Palauttaa obligaation tuoton.
|
ISNUMBER = ONLUKU ## Palauttaa arvon TOSI, jos arvo on luku.
|
||||||
VDB = VDB ## Palauttaa annetun kauden tai kauden osan kirjanpidollisen poiston amerikkalaisen DB-menetelmän (Fixed-declining balance) mukaan.
|
ISODD = ONPARITON ## Palauttaa arvon TOSI, jos arvo on pariton.
|
||||||
XIRR = SISÄINEN.KORKO.JAKSOTON ## Palauttaa sisäisen korkokannan kassavirtojen sarjoille, jotka eivät välttämättä ole säännöllisiä.
|
ISREF = ONVIITT ## Palauttaa arvon TOSI, jos arvo on viittaus.
|
||||||
XNPV = NNA.JAKSOTON ## Palauttaa nettonykyarvon kassavirtasarjalle, joka ei välttämättä ole kausittainen.
|
ISTEXT = ONTEKSTI ## Palauttaa arvon TOSI, jos arvo on teksti.
|
||||||
YIELD = TUOTTO ## Palauttaa tuoton arvopaperille, jonka korko maksetaan säännöllisin väliajoin.
|
N = N ## Palauttaa arvon luvuksi muunnettuna.
|
||||||
YIELDDISC = TUOTTO.DISK ## Palauttaa diskontatun arvopaperin, kuten obligaation, vuosittaisen tuoton.
|
NA = PUUTTUU ## Palauttaa virhearvon #PUUTTUU!.
|
||||||
YIELDMAT = TUOTTO.ERÄP ## Palauttaa erääntymispäivänään korkoa tuottavan arvopaperin vuosittaisen tuoton.
|
TYPE = TYYPPI ## Palauttaa luvun, joka ilmaisee arvon tietotyypin.
|
||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Information functions Erikoisfunktiot
|
## Logical functions Loogiset funktiot
|
||||||
##
|
##
|
||||||
CELL = SOLU ## Palauttaa tietoja solun muotoilusta, sijainnista ja sisällöstä.
|
AND = JA ## Palauttaa arvon TOSI, jos kaikkien argumenttien arvo on TOSI.
|
||||||
ERROR.TYPE = VIRHEEN.LAJI ## Palauttaa virhetyyppiä vastaavan luvun.
|
FALSE = EPÄTOSI ## Palauttaa totuusarvon EPÄTOSI.
|
||||||
INFO = KUVAUS ## Palauttaa tietoja nykyisestä käyttöympäristöstä.
|
IF = JOS ## Määrittää suoritettavan loogisen testin.
|
||||||
ISBLANK = ONTYHJÄ ## Palauttaa arvon TOSI, jos arvo on tyhjä.
|
IFERROR = JOSVIRHE ## Palauttaa määrittämäsi arvon, jos kaavan tulos on virhe; muussa tapauksessa palauttaa kaavan tuloksen.
|
||||||
ISERR = ONVIRH ## Palauttaa arvon TOSI, jos arvo on mikä tahansa virhearvo paitsi arvo #PUUTTUU!.
|
NOT = EI ## Kääntää argumentin loogisen arvon.
|
||||||
ISERROR = ONVIRHE ## Palauttaa arvon TOSI, jos arvo on mikä tahansa virhearvo.
|
OR = TAI ## Palauttaa arvon TOSI, jos minkä tahansa argumentin arvo on TOSI.
|
||||||
ISEVEN = ONPARILLINEN ## Palauttaa arvon TOSI, jos arvo on parillinen.
|
TRUE = TOSI ## Palauttaa totuusarvon TOSI.
|
||||||
ISLOGICAL = ONTOTUUS ## Palauttaa arvon TOSI, jos arvo on mikä tahansa looginen arvo.
|
|
||||||
ISNA = ONPUUTTUU ## Palauttaa arvon TOSI, jos virhearvo on #PUUTTUU!.
|
|
||||||
ISNONTEXT = ONEI_TEKSTI ## Palauttaa arvon TOSI, jos arvo ei ole teksti.
|
##
|
||||||
ISNUMBER = ONLUKU ## Palauttaa arvon TOSI, jos arvo on luku.
|
## Lookup and reference functions Haku- ja viitefunktiot
|
||||||
ISODD = ONPARITON ## Palauttaa arvon TOSI, jos arvo on pariton.
|
##
|
||||||
ISREF = ONVIITT ## Palauttaa arvon TOSI, jos arvo on viittaus.
|
ADDRESS = OSOITE ## Palauttaa laskentataulukon soluun osoittavan viittauksen tekstinä.
|
||||||
ISTEXT = ONTEKSTI ## Palauttaa arvon TOSI, jos arvo on teksti.
|
AREAS = ALUEET ## Palauttaa viittauksessa olevien alueiden määrän.
|
||||||
N = N ## Palauttaa arvon luvuksi muunnettuna.
|
CHOOSE = VALITSE.INDEKSI ## Valitsee arvon arvoluettelosta.
|
||||||
NA = PUUTTUU ## Palauttaa virhearvon #PUUTTUU!.
|
COLUMN = SARAKE ## Palauttaa viittauksen sarakenumeron.
|
||||||
TYPE = TYYPPI ## Palauttaa luvun, joka ilmaisee arvon tietotyypin.
|
COLUMNS = SARAKKEET ## Palauttaa viittauksessa olevien sarakkeiden määrän.
|
||||||
|
HLOOKUP = VHAKU ## Suorittaa haun matriisin ylimmältä riviltä ja palauttaa määritetyn solun arvon.
|
||||||
|
HYPERLINK = HYPERLINKKI ## Luo pikakuvakkeen tai tekstin, joka avaa verkkopalvelimeen, intranetiin tai Internetiin tallennetun tiedoston.
|
||||||
##
|
INDEX = INDEKSI ## Valitsee arvon viittauksesta tai matriisista indeksin mukaan.
|
||||||
## Logical functions Loogiset funktiot
|
INDIRECT = EPÄSUORA ## Palauttaa tekstiarvona ilmaistun viittauksen.
|
||||||
##
|
LOOKUP = HAKU ## Etsii arvoja vektorista tai matriisista.
|
||||||
AND = JA ## Palauttaa arvon TOSI, jos kaikkien argumenttien arvo on TOSI.
|
MATCH = VASTINE ## Etsii arvoja viittauksesta tai matriisista.
|
||||||
FALSE = EPÄTOSI ## Palauttaa totuusarvon EPÄTOSI.
|
OFFSET = SIIRTYMÄ ## Palauttaa annetun viittauksen siirtymän.
|
||||||
IF = JOS ## Määrittää suoritettavan loogisen testin.
|
ROW = RIVI ## Palauttaa viittauksen rivinumeron.
|
||||||
IFERROR = JOSVIRHE ## Palauttaa määrittämäsi arvon, jos kaavan tulos on virhe; muussa tapauksessa palauttaa kaavan tuloksen.
|
ROWS = RIVIT ## Palauttaa viittauksessa olevien rivien määrän.
|
||||||
NOT = EI ## Kääntää argumentin loogisen arvon.
|
RTD = RTD ## Noutaa COM-automaatiota (automaatio: Tapa käsitellä sovelluksen objekteja toisesta sovelluksesta tai kehitystyökalusta. Automaatio, jota aiemmin kutsuttiin OLE-automaatioksi, on teollisuusstandardi ja COM-mallin (Component Object Model) ominaisuus.) tukevasta ohjelmasta reaaliaikaisia tietoja.
|
||||||
OR = TAI ## Palauttaa arvon TOSI, jos minkä tahansa argumentin arvo on TOSI.
|
TRANSPOSE = TRANSPONOI ## Palauttaa matriisin käänteismatriisin.
|
||||||
TRUE = TOSI ## Palauttaa totuusarvon TOSI.
|
VLOOKUP = PHAKU ## Suorittaa haun matriisin ensimmäisestä sarakkeesta ja palauttaa rivillä olevan solun arvon.
|
||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Lookup and reference functions Haku- ja viitefunktiot
|
## Math and trigonometry functions Matemaattiset ja trigonometriset funktiot
|
||||||
##
|
##
|
||||||
ADDRESS = OSOITE ## Palauttaa laskentataulukon soluun osoittavan viittauksen tekstinä.
|
ABS = ITSEISARVO ## Palauttaa luvun itseisarvon.
|
||||||
AREAS = ALUEET ## Palauttaa viittauksessa olevien alueiden määrän.
|
ACOS = ACOS ## Palauttaa luvun arkuskosinin.
|
||||||
CHOOSE = VALITSE.INDEKSI ## Valitsee arvon arvoluettelosta.
|
ACOSH = ACOSH ## Palauttaa luvun käänteisen hyperbolisen kosinin.
|
||||||
COLUMN = SARAKE ## Palauttaa viittauksen sarakenumeron.
|
ASIN = ASIN ## Palauttaa luvun arkussinin.
|
||||||
COLUMNS = SARAKKEET ## Palauttaa viittauksessa olevien sarakkeiden määrän.
|
ASINH = ASINH ## Palauttaa luvun käänteisen hyperbolisen sinin.
|
||||||
HLOOKUP = VHAKU ## Suorittaa haun matriisin ylimmältä riviltä ja palauttaa määritetyn solun arvon.
|
ATAN = ATAN ## Palauttaa luvun arkustangentin.
|
||||||
HYPERLINK = HYPERLINKKI ## Luo pikakuvakkeen tai tekstin, joka avaa verkkopalvelimeen, intranetiin tai Internetiin tallennetun tiedoston.
|
ATAN2 = ATAN2 ## Palauttaa arkustangentin x- ja y-koordinaatin perusteella.
|
||||||
INDEX = INDEKSI ## Valitsee arvon viittauksesta tai matriisista indeksin mukaan.
|
ATANH = ATANH ## Palauttaa luvun käänteisen hyperbolisen tangentin.
|
||||||
INDIRECT = EPÄSUORA ## Palauttaa tekstiarvona ilmaistun viittauksen.
|
CEILING = PYÖRISTÄ.KERR.YLÖS ## Pyöristää luvun lähimpään kokonaislukuun tai tarkkuusargumentin lähimpään kerrannaiseen.
|
||||||
LOOKUP = HAKU ## Etsii arvoja vektorista tai matriisista.
|
COMBIN = KOMBINAATIO ## Palauttaa mahdollisten kombinaatioiden määrän annetulle objektien määrälle.
|
||||||
MATCH = VASTINE ## Etsii arvoja viittauksesta tai matriisista.
|
COS = COS ## Palauttaa luvun kosinin.
|
||||||
OFFSET = SIIRTYMÄ ## Palauttaa annetun viittauksen siirtymän.
|
COSH = COSH ## Palauttaa luvun hyperbolisen kosinin.
|
||||||
ROW = RIVI ## Palauttaa viittauksen rivinumeron.
|
DEGREES = ASTEET ## Muuntaa radiaanit asteiksi.
|
||||||
ROWS = RIVIT ## Palauttaa viittauksessa olevien rivien määrän.
|
EVEN = PARILLINEN ## Pyöristää luvun ylöspäin lähimpään parilliseen kokonaislukuun.
|
||||||
RTD = RTD ## Noutaa COM-automaatiota (automaatio: Tapa käsitellä sovelluksen objekteja toisesta sovelluksesta tai kehitystyökalusta. Automaatio, jota aiemmin kutsuttiin OLE-automaatioksi, on teollisuusstandardi ja COM-mallin (Component Object Model) ominaisuus.) tukevasta ohjelmasta reaaliaikaisia tietoja.
|
EXP = EKSPONENTTI ## Palauttaa e:n korotettuna annetun luvun osoittamaan potenssiin.
|
||||||
TRANSPOSE = TRANSPONOI ## Palauttaa matriisin käänteismatriisin.
|
FACT = KERTOMA ## Palauttaa luvun kertoman.
|
||||||
VLOOKUP = PHAKU ## Suorittaa haun matriisin ensimmäisestä sarakkeesta ja palauttaa rivillä olevan solun arvon.
|
FACTDOUBLE = KERTOMA.OSA ## Palauttaa luvun osakertoman.
|
||||||
|
FLOOR = PYÖRISTÄ.KERR.ALAS ## Pyöristää luvun alaspäin (nollaa kohti).
|
||||||
|
GCD = SUURIN.YHT.TEKIJÄ ## Palauttaa suurimman yhteisen tekijän.
|
||||||
##
|
INT = KOKONAISLUKU ## Pyöristää luvun alaspäin lähimpään kokonaislukuun.
|
||||||
## Math and trigonometry functions Matemaattiset ja trigonometriset funktiot
|
LCM = PIENIN.YHT.JAETTAVA ## Palauttaa pienimmän yhteisen tekijän.
|
||||||
##
|
LN = LUONNLOG ## Palauttaa luvun luonnollisen logaritmin.
|
||||||
ABS = ITSEISARVO ## Palauttaa luvun itseisarvon.
|
LOG = LOG ## Laskee luvun logaritmin käyttämällä annettua kantalukua.
|
||||||
ACOS = ACOS ## Palauttaa luvun arkuskosinin.
|
LOG10 = LOG10 ## Palauttaa luvun kymmenkantaisen logaritmin.
|
||||||
ACOSH = ACOSH ## Palauttaa luvun käänteisen hyperbolisen kosinin.
|
MDETERM = MDETERM ## Palauttaa matriisin matriisideterminantin.
|
||||||
ASIN = ASIN ## Palauttaa luvun arkussinin.
|
MINVERSE = MKÄÄNTEINEN ## Palauttaa matriisin käänteismatriisin.
|
||||||
ASINH = ASINH ## Palauttaa luvun käänteisen hyperbolisen sinin.
|
MMULT = MKERRO ## Palauttaa kahden matriisin tulon.
|
||||||
ATAN = ATAN ## Palauttaa luvun arkustangentin.
|
MOD = JAKOJ ## Palauttaa jakolaskun jäännöksen.
|
||||||
ATAN2 = ATAN2 ## Palauttaa arkustangentin x- ja y-koordinaatin perusteella.
|
MROUND = PYÖRISTÄ.KERR ## Palauttaa luvun pyöristettynä annetun luvun kerrannaiseen.
|
||||||
ATANH = ATANH ## Palauttaa luvun käänteisen hyperbolisen tangentin.
|
MULTINOMIAL = MULTINOMI ## Palauttaa lukujoukon multinomin.
|
||||||
CEILING = PYÖRISTÄ.KERR.YLÖS ## Pyöristää luvun lähimpään kokonaislukuun tai tarkkuusargumentin lähimpään kerrannaiseen.
|
ODD = PARITON ## Pyöristää luvun ylöspäin lähimpään parittomaan kokonaislukuun.
|
||||||
COMBIN = KOMBINAATIO ## Palauttaa mahdollisten kombinaatioiden määrän annetulle objektien määrälle.
|
PI = PII ## Palauttaa piin arvon.
|
||||||
COS = COS ## Palauttaa luvun kosinin.
|
POWER = POTENSSI ## Palauttaa luvun korotettuna haluttuun potenssiin.
|
||||||
COSH = COSH ## Palauttaa luvun hyperbolisen kosinin.
|
PRODUCT = TULO ## Kertoo annetut argumentit.
|
||||||
DEGREES = ASTEET ## Muuntaa radiaanit asteiksi.
|
QUOTIENT = OSAMÄÄRÄ ## Palauttaa osamäärän kokonaislukuosan.
|
||||||
EVEN = PARILLINEN ## Pyöristää luvun ylöspäin lähimpään parilliseen kokonaislukuun.
|
RADIANS = RADIAANIT ## Muuntaa asteet radiaaneiksi.
|
||||||
EXP = EKSPONENTTI ## Palauttaa e:n korotettuna annetun luvun osoittamaan potenssiin.
|
RAND = SATUNNAISLUKU ## Palauttaa satunnaisluvun väliltä 0–1.
|
||||||
FACT = KERTOMA ## Palauttaa luvun kertoman.
|
RANDBETWEEN = SATUNNAISLUKU.VÄLILTÄ ## Palauttaa satunnaisluvun määritettyjen lukujen väliltä.
|
||||||
FACTDOUBLE = KERTOMA.OSA ## Palauttaa luvun osakertoman.
|
ROMAN = ROMAN ## Muuntaa arabialaisen numeron tekstimuotoiseksi roomalaiseksi numeroksi.
|
||||||
FLOOR = PYÖRISTÄ.KERR.ALAS ## Pyöristää luvun alaspäin (nollaa kohti).
|
ROUND = PYÖRISTÄ ## Pyöristää luvun annettuun määrään desimaaleja.
|
||||||
GCD = SUURIN.YHT.TEKIJÄ ## Palauttaa suurimman yhteisen tekijän.
|
ROUNDDOWN = PYÖRISTÄ.DES.ALAS ## Pyöristää luvun alaspäin (nollaa kohti).
|
||||||
INT = KOKONAISLUKU ## Pyöristää luvun alaspäin lähimpään kokonaislukuun.
|
ROUNDUP = PYÖRISTÄ.DES.YLÖS ## Pyöristää luvun ylöspäin (poispäin nollasta).
|
||||||
LCM = PIENIN.YHT.JAETTAVA ## Palauttaa pienimmän yhteisen tekijän.
|
SERIESSUM = SARJA.SUMMA ## Palauttaa kaavaan perustuvan potenssisarjan arvon.
|
||||||
LN = LUONNLOG ## Palauttaa luvun luonnollisen logaritmin.
|
SIGN = ETUMERKKI ## Palauttaa luvun etumerkin.
|
||||||
LOG = LOG ## Laskee luvun logaritmin käyttämällä annettua kantalukua.
|
SIN = SIN ## Palauttaa annetun kulman sinin.
|
||||||
LOG10 = LOG10 ## Palauttaa luvun kymmenkantaisen logaritmin.
|
SINH = SINH ## Palauttaa luvun hyperbolisen sinin.
|
||||||
MDETERM = MDETERM ## Palauttaa matriisin matriisideterminantin.
|
SQRT = NELIÖJUURI ## Palauttaa positiivisen neliöjuuren.
|
||||||
MINVERSE = MKÄÄNTEINEN ## Palauttaa matriisin käänteismatriisin.
|
SQRTPI = NELIÖJUURI.PII ## Palauttaa tulon (luku * pii) neliöjuuren.
|
||||||
MMULT = MKERRO ## Palauttaa kahden matriisin tulon.
|
SUBTOTAL = VÄLISUMMA ## Palauttaa luettelon tai tietokannan välisumman.
|
||||||
MOD = JAKOJ ## Palauttaa jakolaskun jäännöksen.
|
SUM = SUMMA ## Laskee yhteen annetut argumentit.
|
||||||
MROUND = PYÖRISTÄ.KERR ## Palauttaa luvun pyöristettynä annetun luvun kerrannaiseen.
|
SUMIF = SUMMA.JOS ## Laskee ehdot täyttävien solujen summan.
|
||||||
MULTINOMIAL = MULTINOMI ## Palauttaa lukujoukon multinomin.
|
SUMIFS = SUMMA.JOS.JOUKKO ## Laskee yhteen solualueen useita ehtoja vastaavat solut.
|
||||||
ODD = PARITON ## Pyöristää luvun ylöspäin lähimpään parittomaan kokonaislukuun.
|
SUMPRODUCT = TULOJEN.SUMMA ## Palauttaa matriisin toisiaan vastaavien osien tulojen summan.
|
||||||
PI = PII ## Palauttaa piin arvon.
|
SUMSQ = NELIÖSUMMA ## Palauttaa argumenttien neliöiden summan.
|
||||||
POWER = POTENSSI ## Palauttaa luvun korotettuna haluttuun potenssiin.
|
SUMX2MY2 = NELIÖSUMMIEN.EROTUS ## Palauttaa kahden matriisin toisiaan vastaavien arvojen laskettujen neliösummien erotuksen.
|
||||||
PRODUCT = TULO ## Kertoo annetut argumentit.
|
SUMX2PY2 = NELIÖSUMMIEN.SUMMA ## Palauttaa kahden matriisin toisiaan vastaavien arvojen neliösummien summan.
|
||||||
QUOTIENT = OSAMÄÄRÄ ## Palauttaa osamäärän kokonaislukuosan.
|
SUMXMY2 = EROTUSTEN.NELIÖSUMMA ## Palauttaa kahden matriisin toisiaan vastaavien arvojen erotusten neliösumman.
|
||||||
RADIANS = RADIAANIT ## Muuntaa asteet radiaaneiksi.
|
TAN = TAN ## Palauttaa luvun tangentin.
|
||||||
RAND = SATUNNAISLUKU ## Palauttaa satunnaisluvun väliltä 0–1.
|
TANH = TANH ## Palauttaa luvun hyperbolisen tangentin.
|
||||||
RANDBETWEEN = SATUNNAISLUKU.VÄLILTÄ ## Palauttaa satunnaisluvun määritettyjen lukujen väliltä.
|
TRUNC = KATKAISE ## Katkaisee luvun kokonaisluvuksi.
|
||||||
ROMAN = ROMAN ## Muuntaa arabialaisen numeron tekstimuotoiseksi roomalaiseksi numeroksi.
|
|
||||||
ROUND = PYÖRISTÄ ## Pyöristää luvun annettuun määrään desimaaleja.
|
|
||||||
ROUNDDOWN = PYÖRISTÄ.DES.ALAS ## Pyöristää luvun alaspäin (nollaa kohti).
|
##
|
||||||
ROUNDUP = PYÖRISTÄ.DES.YLÖS ## Pyöristää luvun ylöspäin (poispäin nollasta).
|
## Statistical functions Tilastolliset funktiot
|
||||||
SERIESSUM = SARJA.SUMMA ## Palauttaa kaavaan perustuvan potenssisarjan arvon.
|
##
|
||||||
SIGN = ETUMERKKI ## Palauttaa luvun etumerkin.
|
AVEDEV = KESKIPOIKKEAMA ## Palauttaa hajontojen itseisarvojen keskiarvon.
|
||||||
SIN = SIN ## Palauttaa annetun kulman sinin.
|
AVERAGE = KESKIARVO ## Palauttaa argumenttien keskiarvon.
|
||||||
SINH = SINH ## Palauttaa luvun hyperbolisen sinin.
|
AVERAGEA = KESKIARVOA ## Palauttaa argumenttien, mukaan lukien lukujen, tekstin ja loogisten arvojen, keskiarvon.
|
||||||
SQRT = NELIÖJUURI ## Palauttaa positiivisen neliöjuuren.
|
AVERAGEIF = KESKIARVO.JOS ## Palauttaa alueen niiden solujen keskiarvon (aritmeettisen keskiarvon), jotka täyttävät annetut ehdot.
|
||||||
SQRTPI = NELIÖJUURI.PII ## Palauttaa tulon (luku * pii) neliöjuuren.
|
AVERAGEIFS = KESKIARVO.JOS.JOUKKO ## Palauttaa niiden solujen keskiarvon (aritmeettisen keskiarvon), jotka vastaavat useita ehtoja.
|
||||||
SUBTOTAL = VÄLISUMMA ## Palauttaa luettelon tai tietokannan välisumman.
|
BETADIST = BEETAJAKAUMA ## Palauttaa kumulatiivisen beetajakaumafunktion arvon.
|
||||||
SUM = SUMMA ## Laskee yhteen annetut argumentit.
|
BETAINV = BEETAJAKAUMA.KÄÄNT ## Palauttaa määritetyn beetajakauman käänteisen kumulatiivisen jakaumafunktion arvon.
|
||||||
SUMIF = SUMMA.JOS ## Laskee ehdot täyttävien solujen summan.
|
BINOMDIST = BINOMIJAKAUMA ## Palauttaa yksittäisen termin binomijakaumatodennäköisyyden.
|
||||||
SUMIFS = SUMMA.JOS.JOUKKO ## Laskee yhteen solualueen useita ehtoja vastaavat solut.
|
CHIDIST = CHIJAKAUMA ## Palauttaa yksisuuntaisen chi-neliön jakauman todennäköisyyden.
|
||||||
SUMPRODUCT = TULOJEN.SUMMA ## Palauttaa matriisin toisiaan vastaavien osien tulojen summan.
|
CHIINV = CHIJAKAUMA.KÄÄNT ## Palauttaa yksisuuntaisen chi-neliön jakauman todennäköisyyden käänteisarvon.
|
||||||
SUMSQ = NELIÖSUMMA ## Palauttaa argumenttien neliöiden summan.
|
CHITEST = CHITESTI ## Palauttaa riippumattomuustestin tuloksen.
|
||||||
SUMX2MY2 = NELIÖSUMMIEN.EROTUS ## Palauttaa kahden matriisin toisiaan vastaavien arvojen laskettujen neliösummien erotuksen.
|
CONFIDENCE = LUOTTAMUSVÄLI ## Palauttaa luottamusvälin populaation keskiarvolle.
|
||||||
SUMX2PY2 = NELIÖSUMMIEN.SUMMA ## Palauttaa kahden matriisin toisiaan vastaavien arvojen neliösummien summan.
|
CORREL = KORRELAATIO ## Palauttaa kahden arvojoukon korrelaatiokertoimen.
|
||||||
SUMXMY2 = EROTUSTEN.NELIÖSUMMA ## Palauttaa kahden matriisin toisiaan vastaavien arvojen erotusten neliösumman.
|
COUNT = LASKE ## Laskee argumenttiluettelossa olevien lukujen määrän.
|
||||||
TAN = TAN ## Palauttaa luvun tangentin.
|
COUNTA = LASKE.A ## Laskee argumenttiluettelossa olevien arvojen määrän.
|
||||||
TANH = TANH ## Palauttaa luvun hyperbolisen tangentin.
|
COUNTBLANK = LASKE.TYHJÄT ## Laskee alueella olevien tyhjien solujen määrän.
|
||||||
TRUNC = KATKAISE ## Katkaisee luvun kokonaisluvuksi.
|
COUNTIF = LASKE.JOS ## Laskee alueella olevien sellaisten solujen määrän, joiden sisältö vastaa annettuja ehtoja.
|
||||||
|
COUNTIFS = LASKE.JOS.JOUKKO ## Laskee alueella olevien sellaisten solujen määrän, joiden sisältö vastaa useita ehtoja.
|
||||||
|
COVAR = KOVARIANSSI ## Palauttaa kovarianssin, joka on keskiarvo havaintoaineiston kunkin pisteparin poikkeamien tuloista.
|
||||||
##
|
CRITBINOM = BINOMIJAKAUMA.KRIT ## Palauttaa pienimmän arvon, jossa binomijakauman kertymäfunktion arvo on pienempi tai yhtä suuri kuin vertailuarvo.
|
||||||
## Statistical functions Tilastolliset funktiot
|
DEVSQ = OIKAISTU.NELIÖSUMMA ## Palauttaa keskipoikkeamien neliösumman.
|
||||||
##
|
EXPONDIST = EKSPONENTIAALIJAKAUMA ## Palauttaa eksponentiaalijakauman.
|
||||||
AVEDEV = KESKIPOIKKEAMA ## Palauttaa hajontojen itseisarvojen keskiarvon.
|
FDIST = FJAKAUMA ## Palauttaa F-todennäköisyysjakauman.
|
||||||
AVERAGE = KESKIARVO ## Palauttaa argumenttien keskiarvon.
|
FINV = FJAKAUMA.KÄÄNT ## Palauttaa F-todennäköisyysjakauman käänteisfunktion.
|
||||||
AVERAGEA = KESKIARVOA ## Palauttaa argumenttien, mukaan lukien lukujen, tekstin ja loogisten arvojen, keskiarvon.
|
FISHER = FISHER ## Palauttaa Fisher-muunnoksen.
|
||||||
AVERAGEIF = KESKIARVO.JOS ## Palauttaa alueen niiden solujen keskiarvon (aritmeettisen keskiarvon), jotka täyttävät annetut ehdot.
|
FISHERINV = FISHER.KÄÄNT ## Palauttaa käänteisen Fisher-muunnoksen.
|
||||||
AVERAGEIFS = KESKIARVO.JOS.JOUKKO ## Palauttaa niiden solujen keskiarvon (aritmeettisen keskiarvon), jotka vastaavat useita ehtoja.
|
FORECAST = ENNUSTE ## Palauttaa lineaarisen trendin arvon.
|
||||||
BETADIST = BEETAJAKAUMA ## Palauttaa kumulatiivisen beetajakaumafunktion arvon.
|
FREQUENCY = TAAJUUS ## Palauttaa frekvenssijakautuman pystysuuntaisena matriisina.
|
||||||
BETAINV = BEETAJAKAUMA.KÄÄNT ## Palauttaa määritetyn beetajakauman käänteisen kumulatiivisen jakaumafunktion arvon.
|
FTEST = FTESTI ## Palauttaa F-testin tuloksen.
|
||||||
BINOMDIST = BINOMIJAKAUMA ## Palauttaa yksittäisen termin binomijakaumatodennäköisyyden.
|
GAMMADIST = GAMMAJAKAUMA ## Palauttaa gammajakauman.
|
||||||
CHIDIST = CHIJAKAUMA ## Palauttaa yksisuuntaisen chi-neliön jakauman todennäköisyyden.
|
GAMMAINV = GAMMAJAKAUMA.KÄÄNT ## Palauttaa käänteisen gammajakauman kertymäfunktion.
|
||||||
CHIINV = CHIJAKAUMA.KÄÄNT ## Palauttaa yksisuuntaisen chi-neliön jakauman todennäköisyyden käänteisarvon.
|
GAMMALN = GAMMALN ## Palauttaa gammafunktion luonnollisen logaritmin G(x).
|
||||||
CHITEST = CHITESTI ## Palauttaa riippumattomuustestin tuloksen.
|
GEOMEAN = KESKIARVO.GEOM ## Palauttaa geometrisen keskiarvon.
|
||||||
CONFIDENCE = LUOTTAMUSVÄLI ## Palauttaa luottamusvälin populaation keskiarvolle.
|
GROWTH = KASVU ## Palauttaa eksponentiaalisen trendin arvon.
|
||||||
CORREL = KORRELAATIO ## Palauttaa kahden arvojoukon korrelaatiokertoimen.
|
HARMEAN = KESKIARVO.HARM ## Palauttaa harmonisen keskiarvon.
|
||||||
COUNT = LASKE ## Laskee argumenttiluettelossa olevien lukujen määrän.
|
HYPGEOMDIST = HYPERGEOM.JAKAUMA ## Palauttaa hypergeometrisen jakauman.
|
||||||
COUNTA = LASKE.A ## Laskee argumenttiluettelossa olevien arvojen määrän.
|
INTERCEPT = LEIKKAUSPISTE ## Palauttaa lineaarisen regressiosuoran leikkauspisteen.
|
||||||
COUNTBLANK = LASKE.TYHJÄT ## Laskee alueella olevien tyhjien solujen määrän.
|
KURT = KURT ## Palauttaa tietoalueen vinous-arvon eli huipukkuuden.
|
||||||
COUNTIF = LASKE.JOS ## Laskee alueella olevien sellaisten solujen määrän, joiden sisältö vastaa annettuja ehtoja.
|
LARGE = SUURI ## Palauttaa tietojoukon k:nneksi suurimman arvon.
|
||||||
COUNTIFS = LASKE.JOS.JOUKKO ## Laskee alueella olevien sellaisten solujen määrän, joiden sisältö vastaa useita ehtoja.
|
LINEST = LINREGR ## Palauttaa lineaarisen trendin parametrit.
|
||||||
COVAR = KOVARIANSSI ## Palauttaa kovarianssin, joka on keskiarvo havaintoaineiston kunkin pisteparin poikkeamien tuloista.
|
LOGEST = LOGREGR ## Palauttaa eksponentiaalisen trendin parametrit.
|
||||||
CRITBINOM = BINOMIJAKAUMA.KRIT ## Palauttaa pienimmän arvon, jossa binomijakauman kertymäfunktion arvo on pienempi tai yhtä suuri kuin vertailuarvo.
|
LOGINV = LOGNORM.JAKAUMA.KÄÄNT ## Palauttaa lognormeeratun jakauman käänteisfunktion.
|
||||||
DEVSQ = OIKAISTU.NELIÖSUMMA ## Palauttaa keskipoikkeamien neliösumman.
|
LOGNORMDIST = LOGNORM.JAKAUMA ## Palauttaa lognormaalisen jakauman kertymäfunktion.
|
||||||
EXPONDIST = EKSPONENTIAALIJAKAUMA ## Palauttaa eksponentiaalijakauman.
|
MAX = MAKS ## Palauttaa suurimman arvon argumenttiluettelosta.
|
||||||
FDIST = FJAKAUMA ## Palauttaa F-todennäköisyysjakauman.
|
MAXA = MAKSA ## Palauttaa argumenttien, mukaan lukien lukujen, tekstin ja loogisten arvojen, suurimman arvon.
|
||||||
FINV = FJAKAUMA.KÄÄNT ## Palauttaa F-todennäköisyysjakauman käänteisfunktion.
|
MEDIAN = MEDIAANI ## Palauttaa annettujen lukujen mediaanin.
|
||||||
FISHER = FISHER ## Palauttaa Fisher-muunnoksen.
|
MIN = MIN ## Palauttaa pienimmän arvon argumenttiluettelosta.
|
||||||
FISHERINV = FISHER.KÄÄNT ## Palauttaa käänteisen Fisher-muunnoksen.
|
MINA = MINA ## Palauttaa argumenttien, mukaan lukien lukujen, tekstin ja loogisten arvojen, pienimmän arvon.
|
||||||
FORECAST = ENNUSTE ## Palauttaa lineaarisen trendin arvon.
|
MODE = MOODI ## Palauttaa tietojoukossa useimmin esiintyvän arvon.
|
||||||
FREQUENCY = TAAJUUS ## Palauttaa frekvenssijakautuman pystysuuntaisena matriisina.
|
NEGBINOMDIST = BINOMIJAKAUMA.NEG ## Palauttaa negatiivisen binomijakauman.
|
||||||
FTEST = FTESTI ## Palauttaa F-testin tuloksen.
|
NORMDIST = NORM.JAKAUMA ## Palauttaa normaalijakauman kertymäfunktion.
|
||||||
GAMMADIST = GAMMAJAKAUMA ## Palauttaa gammajakauman.
|
NORMINV = NORM.JAKAUMA.KÄÄNT ## Palauttaa käänteisen normaalijakauman kertymäfunktion.
|
||||||
GAMMAINV = GAMMAJAKAUMA.KÄÄNT ## Palauttaa käänteisen gammajakauman kertymäfunktion.
|
NORMSDIST = NORM.JAKAUMA.NORMIT ## Palauttaa normitetun normaalijakauman kertymäfunktion.
|
||||||
GAMMALN = GAMMALN ## Palauttaa gammafunktion luonnollisen logaritmin G(x).
|
NORMSINV = NORM.JAKAUMA.NORMIT.KÄÄNT ## Palauttaa normitetun normaalijakauman kertymäfunktion käänteisarvon.
|
||||||
GEOMEAN = KESKIARVO.GEOM ## Palauttaa geometrisen keskiarvon.
|
PEARSON = PEARSON ## Palauttaa Pearsonin tulomomenttikorrelaatiokertoimen.
|
||||||
GROWTH = KASVU ## Palauttaa eksponentiaalisen trendin arvon.
|
PERCENTILE = PROSENTTIPISTE ## Palauttaa alueen arvojen k:nnen prosenttipisteen.
|
||||||
HARMEAN = KESKIARVO.HARM ## Palauttaa harmonisen keskiarvon.
|
PERCENTRANK = PROSENTTIJÄRJESTYS ## Palauttaa tietojoukon arvon prosentuaalisen järjestysluvun.
|
||||||
HYPGEOMDIST = HYPERGEOM.JAKAUMA ## Palauttaa hypergeometrisen jakauman.
|
PERMUT = PERMUTAATIO ## Palauttaa mahdollisten permutaatioiden määrän annetulle objektien määrälle.
|
||||||
INTERCEPT = LEIKKAUSPISTE ## Palauttaa lineaarisen regressiosuoran leikkauspisteen.
|
POISSON = POISSON ## Palauttaa Poissonin todennäköisyysjakauman.
|
||||||
KURT = KURT ## Palauttaa tietoalueen vinous-arvon eli huipukkuuden.
|
PROB = TODENNÄKÖISYYS ## Palauttaa todennäköisyyden sille, että arvot ovat tietyltä väliltä.
|
||||||
LARGE = SUURI ## Palauttaa tietojoukon k:nneksi suurimman arvon.
|
QUARTILE = NELJÄNNES ## Palauttaa tietoalueen neljänneksen.
|
||||||
LINEST = LINREGR ## Palauttaa lineaarisen trendin parametrit.
|
RANK = ARVON.MUKAAN ## Palauttaa luvun paikan lukuarvoluettelossa.
|
||||||
LOGEST = LOGREGR ## Palauttaa eksponentiaalisen trendin parametrit.
|
RSQ = PEARSON.NELIÖ ## Palauttaa Pearsonin tulomomenttikorrelaatiokertoimen neliön.
|
||||||
LOGINV = LOGNORM.JAKAUMA.KÄÄNT ## Palauttaa lognormeeratun jakauman käänteisfunktion.
|
SKEW = JAKAUMAN.VINOUS ## Palauttaa jakauman vinouden.
|
||||||
LOGNORMDIST = LOGNORM.JAKAUMA ## Palauttaa lognormaalisen jakauman kertymäfunktion.
|
SLOPE = KULMAKERROIN ## Palauttaa lineaarisen regressiosuoran kulmakertoimen.
|
||||||
MAX = MAKS ## Palauttaa suurimman arvon argumenttiluettelosta.
|
SMALL = PIENI ## Palauttaa tietojoukon k:nneksi pienimmän arvon.
|
||||||
MAXA = MAKSA ## Palauttaa argumenttien, mukaan lukien lukujen, tekstin ja loogisten arvojen, suurimman arvon.
|
STANDARDIZE = NORMITA ## Palauttaa normitetun arvon.
|
||||||
MEDIAN = MEDIAANI ## Palauttaa annettujen lukujen mediaanin.
|
STDEV = KESKIHAJONTA ## Laskee populaation keskihajonnan otoksen perusteella.
|
||||||
MIN = MIN ## Palauttaa pienimmän arvon argumenttiluettelosta.
|
STDEVA = KESKIHAJONTAA ## Laskee populaation keskihajonnan otoksen perusteella, mukaan lukien luvut, tekstin ja loogiset arvot.
|
||||||
MINA = MINA ## Palauttaa argumenttien, mukaan lukien lukujen, tekstin ja loogisten arvojen, pienimmän arvon.
|
STDEVP = KESKIHAJONTAP ## Laskee normaalijakautuman koko populaation perusteella.
|
||||||
MODE = MOODI ## Palauttaa tietojoukossa useimmin esiintyvän arvon.
|
STDEVPA = KESKIHAJONTAPA ## Laskee populaation keskihajonnan koko populaation perusteella, mukaan lukien luvut, tekstin ja totuusarvot.
|
||||||
NEGBINOMDIST = BINOMIJAKAUMA.NEG ## Palauttaa negatiivisen binomijakauman.
|
STEYX = KESKIVIRHE ## Palauttaa regression kutakin x-arvoa vastaavan ennustetun y-arvon keskivirheen.
|
||||||
NORMDIST = NORM.JAKAUMA ## Palauttaa normaalijakauman kertymäfunktion.
|
TDIST = TJAKAUMA ## Palauttaa t-jakautuman.
|
||||||
NORMINV = NORM.JAKAUMA.KÄÄNT ## Palauttaa käänteisen normaalijakauman kertymäfunktion.
|
TINV = TJAKAUMA.KÄÄNT ## Palauttaa käänteisen t-jakauman.
|
||||||
NORMSDIST = NORM.JAKAUMA.NORMIT ## Palauttaa normitetun normaalijakauman kertymäfunktion.
|
TREND = SUUNTAUS ## Palauttaa lineaarisen trendin arvoja.
|
||||||
NORMSINV = NORM.JAKAUMA.NORMIT.KÄÄNT ## Palauttaa normitetun normaalijakauman kertymäfunktion käänteisarvon.
|
TRIMMEAN = KESKIARVO.TASATTU ## Palauttaa tietojoukon tasatun keskiarvon.
|
||||||
PEARSON = PEARSON ## Palauttaa Pearsonin tulomomenttikorrelaatiokertoimen.
|
TTEST = TTESTI ## Palauttaa t-testiin liittyvän todennäköisyyden.
|
||||||
PERCENTILE = PROSENTTIPISTE ## Palauttaa alueen arvojen k:nnen prosenttipisteen.
|
VAR = VAR ## Arvioi populaation varianssia otoksen perusteella.
|
||||||
PERCENTRANK = PROSENTTIJÄRJESTYS ## Palauttaa tietojoukon arvon prosentuaalisen järjestysluvun.
|
VARA = VARA ## Laskee populaation varianssin otoksen perusteella, mukaan lukien luvut, tekstin ja loogiset arvot.
|
||||||
PERMUT = PERMUTAATIO ## Palauttaa mahdollisten permutaatioiden määrän annetulle objektien määrälle.
|
VARP = VARP ## Laskee varianssin koko populaation perusteella.
|
||||||
POISSON = POISSON ## Palauttaa Poissonin todennäköisyysjakauman.
|
VARPA = VARPA ## Laskee populaation varianssin koko populaation perusteella, mukaan lukien luvut, tekstin ja totuusarvot.
|
||||||
PROB = TODENNÄKÖISYYS ## Palauttaa todennäköisyyden sille, että arvot ovat tietyltä väliltä.
|
WEIBULL = WEIBULL ## Palauttaa Weibullin jakauman.
|
||||||
QUARTILE = NELJÄNNES ## Palauttaa tietoalueen neljänneksen.
|
ZTEST = ZTESTI ## Palauttaa z-testin yksisuuntaisen todennäköisyysarvon.
|
||||||
RANK = ARVON.MUKAAN ## Palauttaa luvun paikan lukuarvoluettelossa.
|
|
||||||
RSQ = PEARSON.NELIÖ ## Palauttaa Pearsonin tulomomenttikorrelaatiokertoimen neliön.
|
|
||||||
SKEW = JAKAUMAN.VINOUS ## Palauttaa jakauman vinouden.
|
##
|
||||||
SLOPE = KULMAKERROIN ## Palauttaa lineaarisen regressiosuoran kulmakertoimen.
|
## Text functions Tekstifunktiot
|
||||||
SMALL = PIENI ## Palauttaa tietojoukon k:nneksi pienimmän arvon.
|
##
|
||||||
STANDARDIZE = NORMITA ## Palauttaa normitetun arvon.
|
ASC = ASC ## Muuntaa merkkijonossa olevat englanninkieliset DBCS- tai katakana-merkit SBCS-merkeiksi.
|
||||||
STDEV = KESKIHAJONTA ## Laskee populaation keskihajonnan otoksen perusteella.
|
BAHTTEXT = BAHTTEKSTI ## Muuntaa luvun tekstiksi ß (baht) -valuuttamuotoa käyttämällä.
|
||||||
STDEVA = KESKIHAJONTAA ## Laskee populaation keskihajonnan otoksen perusteella, mukaan lukien luvut, tekstin ja loogiset arvot.
|
CHAR = MERKKI ## Palauttaa koodin lukua vastaavan merkin.
|
||||||
STDEVP = KESKIHAJONTAP ## Laskee normaalijakautuman koko populaation perusteella.
|
CLEAN = SIIVOA ## Poistaa tekstistä kaikki tulostumattomat merkit.
|
||||||
STDEVPA = KESKIHAJONTAPA ## Laskee populaation keskihajonnan koko populaation perusteella, mukaan lukien luvut, tekstin ja totuusarvot.
|
CODE = KOODI ## Palauttaa tekstimerkkijonon ensimmäisen merkin numerokoodin.
|
||||||
STEYX = KESKIVIRHE ## Palauttaa regression kutakin x-arvoa vastaavan ennustetun y-arvon keskivirheen.
|
CONCATENATE = KETJUTA ## Yhdistää useat merkkijonot yhdeksi merkkijonoksi.
|
||||||
TDIST = TJAKAUMA ## Palauttaa t-jakautuman.
|
DOLLAR = VALUUTTA ## Muuntaa luvun tekstiksi $ (dollari) -valuuttamuotoa käyttämällä.
|
||||||
TINV = TJAKAUMA.KÄÄNT ## Palauttaa käänteisen t-jakauman.
|
EXACT = VERTAA ## Tarkistaa, ovatko kaksi tekstiarvoa samanlaiset.
|
||||||
TREND = SUUNTAUS ## Palauttaa lineaarisen trendin arvoja.
|
FIND = ETSI ## Etsii tekstiarvon toisen tekstin sisältä (tunnistaa isot ja pienet kirjaimet).
|
||||||
TRIMMEAN = KESKIARVO.TASATTU ## Palauttaa tietojoukon tasatun keskiarvon.
|
FINDB = ETSIB ## Etsii tekstiarvon toisen tekstin sisältä (tunnistaa isot ja pienet kirjaimet).
|
||||||
TTEST = TTESTI ## Palauttaa t-testiin liittyvän todennäköisyyden.
|
FIXED = KIINTEÄ ## Muotoilee luvun tekstiksi, jossa on kiinteä määrä desimaaleja.
|
||||||
VAR = VAR ## Arvioi populaation varianssia otoksen perusteella.
|
JIS = JIS ## Muuntaa merkkijonossa olevat englanninkieliset SBCS- tai katakana-merkit DBCS-merkeiksi.
|
||||||
VARA = VARA ## Laskee populaation varianssin otoksen perusteella, mukaan lukien luvut, tekstin ja loogiset arvot.
|
LEFT = VASEN ## Palauttaa tekstiarvon vasemmanpuoliset merkit.
|
||||||
VARP = VARP ## Laskee varianssin koko populaation perusteella.
|
LEFTB = VASENB ## Palauttaa tekstiarvon vasemmanpuoliset merkit.
|
||||||
VARPA = VARPA ## Laskee populaation varianssin koko populaation perusteella, mukaan lukien luvut, tekstin ja totuusarvot.
|
LEN = PITUUS ## Palauttaa tekstimerkkijonon merkkien määrän.
|
||||||
WEIBULL = WEIBULL ## Palauttaa Weibullin jakauman.
|
LENB = PITUUSB ## Palauttaa tekstimerkkijonon merkkien määrän.
|
||||||
ZTEST = ZTESTI ## Palauttaa z-testin yksisuuntaisen todennäköisyysarvon.
|
LOWER = PIENET ## Muuntaa tekstin pieniksi kirjaimiksi.
|
||||||
|
MID = POIMI.TEKSTI ## Palauttaa määritetyn määrän merkkejä merkkijonosta alkaen annetusta kohdasta.
|
||||||
|
MIDB = POIMI.TEKSTIB ## Palauttaa määritetyn määrän merkkejä merkkijonosta alkaen annetusta kohdasta.
|
||||||
##
|
PHONETIC = FONEETTINEN ## Hakee foneettiset (furigana) merkit merkkijonosta.
|
||||||
## Text functions Tekstifunktiot
|
PROPER = ERISNIMI ## Muuttaa merkkijonon kunkin sanan ensimmäisen kirjaimen isoksi.
|
||||||
##
|
REPLACE = KORVAA ## Korvaa tekstissä olevat merkit.
|
||||||
ASC = ASC ## Muuntaa merkkijonossa olevat englanninkieliset DBCS- tai katakana-merkit SBCS-merkeiksi.
|
REPLACEB = KORVAAB ## Korvaa tekstissä olevat merkit.
|
||||||
BAHTTEXT = BAHTTEKSTI ## Muuntaa luvun tekstiksi ß (baht) -valuuttamuotoa käyttämällä.
|
REPT = TOISTA ## Toistaa tekstin annetun määrän kertoja.
|
||||||
CHAR = MERKKI ## Palauttaa koodin lukua vastaavan merkin.
|
RIGHT = OIKEA ## Palauttaa tekstiarvon oikeanpuoliset merkit.
|
||||||
CLEAN = SIIVOA ## Poistaa tekstistä kaikki tulostumattomat merkit.
|
RIGHTB = OIKEAB ## Palauttaa tekstiarvon oikeanpuoliset merkit.
|
||||||
CODE = KOODI ## Palauttaa tekstimerkkijonon ensimmäisen merkin numerokoodin.
|
SEARCH = KÄY.LÄPI ## Etsii tekstiarvon toisen tekstin sisältä (isot ja pienet kirjaimet tulkitaan samoiksi merkeiksi).
|
||||||
CONCATENATE = KETJUTA ## Yhdistää useat merkkijonot yhdeksi merkkijonoksi.
|
SEARCHB = KÄY.LÄPIB ## Etsii tekstiarvon toisen tekstin sisältä (isot ja pienet kirjaimet tulkitaan samoiksi merkeiksi).
|
||||||
DOLLAR = VALUUTTA ## Muuntaa luvun tekstiksi $ (dollari) -valuuttamuotoa käyttämällä.
|
SUBSTITUTE = VAIHDA ## Korvaa merkkijonossa olevan tekstin toisella.
|
||||||
EXACT = VERTAA ## Tarkistaa, ovatko kaksi tekstiarvoa samanlaiset.
|
T = T ## Muuntaa argumentit tekstiksi.
|
||||||
FIND = ETSI ## Etsii tekstiarvon toisen tekstin sisältä (tunnistaa isot ja pienet kirjaimet).
|
TEXT = TEKSTI ## Muotoilee luvun ja muuntaa sen tekstiksi.
|
||||||
FINDB = ETSIB ## Etsii tekstiarvon toisen tekstin sisältä (tunnistaa isot ja pienet kirjaimet).
|
TRIM = POISTA.VÄLIT ## Poistaa välilyönnit tekstistä.
|
||||||
FIXED = KIINTEÄ ## Muotoilee luvun tekstiksi, jossa on kiinteä määrä desimaaleja.
|
UPPER = ISOT ## Muuntaa tekstin isoiksi kirjaimiksi.
|
||||||
JIS = JIS ## Muuntaa merkkijonossa olevat englanninkieliset SBCS- tai katakana-merkit DBCS-merkeiksi.
|
VALUE = ARVO ## Muuntaa tekstiargumentin luvuksi.
|
||||||
LEFT = VASEN ## Palauttaa tekstiarvon vasemmanpuoliset merkit.
|
|
||||||
LEFTB = VASENB ## Palauttaa tekstiarvon vasemmanpuoliset merkit.
|
|
||||||
LEN = PITUUS ## Palauttaa tekstimerkkijonon merkkien määrän.
|
|
||||||
LENB = PITUUSB ## Palauttaa tekstimerkkijonon merkkien määrän.
|
|
||||||
LOWER = PIENET ## Muuntaa tekstin pieniksi kirjaimiksi.
|
|
||||||
MID = POIMI.TEKSTI ## Palauttaa määritetyn määrän merkkejä merkkijonosta alkaen annetusta kohdasta.
|
|
||||||
MIDB = POIMI.TEKSTIB ## Palauttaa määritetyn määrän merkkejä merkkijonosta alkaen annetusta kohdasta.
|
|
||||||
PHONETIC = FONEETTINEN ## Hakee foneettiset (furigana) merkit merkkijonosta.
|
|
||||||
PROPER = ERISNIMI ## Muuttaa merkkijonon kunkin sanan ensimmäisen kirjaimen isoksi.
|
|
||||||
REPLACE = KORVAA ## Korvaa tekstissä olevat merkit.
|
|
||||||
REPLACEB = KORVAAB ## Korvaa tekstissä olevat merkit.
|
|
||||||
REPT = TOISTA ## Toistaa tekstin annetun määrän kertoja.
|
|
||||||
RIGHT = OIKEA ## Palauttaa tekstiarvon oikeanpuoliset merkit.
|
|
||||||
RIGHTB = OIKEAB ## Palauttaa tekstiarvon oikeanpuoliset merkit.
|
|
||||||
SEARCH = KÄY.LÄPI ## Etsii tekstiarvon toisen tekstin sisältä (isot ja pienet kirjaimet tulkitaan samoiksi merkeiksi).
|
|
||||||
SEARCHB = KÄY.LÄPIB ## Etsii tekstiarvon toisen tekstin sisältä (isot ja pienet kirjaimet tulkitaan samoiksi merkeiksi).
|
|
||||||
SUBSTITUTE = VAIHDA ## Korvaa merkkijonossa olevan tekstin toisella.
|
|
||||||
T = T ## Muuntaa argumentit tekstiksi.
|
|
||||||
TEXT = TEKSTI ## Muotoilee luvun ja muuntaa sen tekstiksi.
|
|
||||||
TRIM = POISTA.VÄLIT ## Poistaa välilyönnit tekstistä.
|
|
||||||
UPPER = ISOT ## Muuntaa tekstin isoiksi kirjaimiksi.
|
|
||||||
VALUE = ARVO ## Muuntaa tekstiargumentin luvuksi.
|
|
||||||
24
PhpOffice/PhpSpreadsheet/Calculation/locale/fr/config
Normal file
24
PhpOffice/PhpSpreadsheet/Calculation/locale/fr/config
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
##
|
||||||
|
## PhpSpreadsheet
|
||||||
|
##
|
||||||
|
|
||||||
|
ArgumentSeparator = ;
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## (For future use)
|
||||||
|
##
|
||||||
|
currencySymbol = €
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## Excel Error Codes (For future use)
|
||||||
|
|
||||||
|
##
|
||||||
|
NULL = #NUL!
|
||||||
|
DIV0 = #DIV/0!
|
||||||
|
VALUE = #VALEUR!
|
||||||
|
REF = #REF!
|
||||||
|
NAME = #NOM?
|
||||||
|
NUM = #NOMBRE!
|
||||||
|
NA = #N/A
|
||||||
|
|
@ -1,438 +1,416 @@
|
||||||
##
|
##
|
||||||
## PHPExcel
|
## PhpSpreadsheet
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Data in this file derived from https://www.excel-function-translation.com/
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
##
|
||||||
## modify it under the terms of the GNU Lesser General Public
|
|
||||||
## License as published by the Free Software Foundation; either
|
|
||||||
## version 2.1 of the License, or (at your option) any later version.
|
##
|
||||||
##
|
## Add-in and Automation functions Fonctions de complément et d’automatisation
|
||||||
## This library is distributed in the hope that it will be useful,
|
##
|
||||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
GETPIVOTDATA = LIREDONNEESTABCROISDYNAMIQUE ## Renvoie les données stockées dans un rapport de tableau croisé dynamique.
|
||||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
## Lesser General Public License for more details.
|
|
||||||
##
|
##
|
||||||
## You should have received a copy of the GNU Lesser General Public
|
## Cube functions Fonctions Cube
|
||||||
## License along with this library; if not, write to the Free Software
|
##
|
||||||
## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
CUBEKPIMEMBER = MEMBREKPICUBE ## Renvoie un nom, une propriété et une mesure d’indicateur de performance clé et affiche le nom et la propriété dans la cellule. Un indicateur de performance clé est une mesure quantifiable, telle que la marge bénéficiaire brute mensuelle ou la rotation trimestrielle du personnel, utilisée pour évaluer les performances d’une entreprise.
|
||||||
##
|
CUBEMEMBER = MEMBRECUBE ## Renvoie un membre ou un uplet dans une hiérarchie de cubes. Utilisez cette fonction pour valider l’existence du membre ou de l’uplet dans le cube.
|
||||||
## @category PHPExcel
|
CUBEMEMBERPROPERTY = PROPRIETEMEMBRECUBE ## Renvoie la valeur d’une propriété de membre du cube. Utilisez cette fonction pour valider l’existence d’un nom de membre dans le cube et pour renvoyer la propriété spécifiée pour ce membre.
|
||||||
## @package PHPExcel_Calculation
|
CUBERANKEDMEMBER = RANGMEMBRECUBE ## Renvoie le nième membre ou le membre placé à un certain rang dans un ensemble. Utilisez cette fonction pour renvoyer un ou plusieurs éléments d’un ensemble, tels que les meilleurs vendeurs ou les 10 meilleurs étudiants.
|
||||||
## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
CUBESET = JEUCUBE ## Définit un ensemble calculé de membres ou d’uplets en envoyant une expression définie au cube sur le serveur qui crée l’ensemble et le renvoie à Microsoft Office Excel.
|
||||||
## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
CUBESETCOUNT = NBJEUCUBE ## Renvoie le nombre d’éléments dans un jeu.
|
||||||
## @version ##VERSION##, ##DATE##
|
CUBEVALUE = VALEURCUBE ## Renvoie une valeur d’agrégation issue d’un cube.
|
||||||
##
|
|
||||||
## Data in this file derived from http://www.piuha.fi/excel-function-name-translation/
|
|
||||||
##
|
##
|
||||||
##
|
## Database functions Fonctions de base de données
|
||||||
|
##
|
||||||
|
DAVERAGE = BDMOYENNE ## Renvoie la moyenne des entrées de base de données sélectionnées.
|
||||||
##
|
DCOUNT = BCOMPTE ## Compte le nombre de cellules d’une base de données qui contiennent des nombres.
|
||||||
## Add-in and Automation functions Fonctions de complément et d’automatisation
|
DCOUNTA = BDNBVAL ## Compte les cellules non vides d’une base de données.
|
||||||
##
|
DGET = BDLIRE ## Extrait d’une base de données un enregistrement unique répondant aux critères spécifiés.
|
||||||
GETPIVOTDATA = LIREDONNEESTABCROISDYNAMIQUE ## Renvoie les données stockées dans un rapport de tableau croisé dynamique.
|
DMAX = BDMAX ## Renvoie la valeur maximale des entrées de base de données sélectionnées.
|
||||||
|
DMIN = BDMIN ## Renvoie la valeur minimale des entrées de base de données sélectionnées.
|
||||||
|
DPRODUCT = BDPRODUIT ## Multiplie les valeurs d’un champ particulier des enregistrements d’une base de données, qui répondent aux critères spécifiés.
|
||||||
##
|
DSTDEV = BDECARTYPE ## Calcule l’écart type pour un échantillon d’entrées de base de données sélectionnées.
|
||||||
## Cube functions Fonctions Cube
|
DSTDEVP = BDECARTYPEP ## Calcule l’écart type pour l’ensemble d’une population d’entrées de base de données sélectionnées.
|
||||||
##
|
DSUM = BDSOMME ## Ajoute les nombres dans la colonne de champ des enregistrements de la base de données, qui répondent aux critères.
|
||||||
CUBEKPIMEMBER = MEMBREKPICUBE ## Renvoie un nom, une propriété et une mesure d’indicateur de performance clé et affiche le nom et la propriété dans la cellule. Un indicateur de performance clé est une mesure quantifiable, telle que la marge bénéficiaire brute mensuelle ou la rotation trimestrielle du personnel, utilisée pour évaluer les performances d’une entreprise.
|
DVAR = BDVAR ## Calcule la variance pour un échantillon d’entrées de base de données sélectionnées.
|
||||||
CUBEMEMBER = MEMBRECUBE ## Renvoie un membre ou un uplet dans une hiérarchie de cubes. Utilisez cette fonction pour valider l’existence du membre ou de l’uplet dans le cube.
|
DVARP = BDVARP ## Calcule la variance pour l’ensemble d’une population d’entrées de base de données sélectionnées.
|
||||||
CUBEMEMBERPROPERTY = PROPRIETEMEMBRECUBE ## Renvoie la valeur d’une propriété de membre du cube. Utilisez cette fonction pour valider l’existence d’un nom de membre dans le cube et pour renvoyer la propriété spécifiée pour ce membre.
|
|
||||||
CUBERANKEDMEMBER = RANGMEMBRECUBE ## Renvoie le nième membre ou le membre placé à un certain rang dans un ensemble. Utilisez cette fonction pour renvoyer un ou plusieurs éléments d’un ensemble, tels que les meilleurs vendeurs ou les 10 meilleurs étudiants.
|
|
||||||
CUBESET = JEUCUBE ## Définit un ensemble calculé de membres ou d’uplets en envoyant une expression définie au cube sur le serveur qui crée l’ensemble et le renvoie à Microsoft Office Excel.
|
##
|
||||||
CUBESETCOUNT = NBJEUCUBE ## Renvoie le nombre d’éléments dans un jeu.
|
## Date and time functions Fonctions de date et d’heure
|
||||||
CUBEVALUE = VALEURCUBE ## Renvoie une valeur d’agrégation issue d’un cube.
|
##
|
||||||
|
DATE = DATE ## Renvoie le numéro de série d’une date précise.
|
||||||
|
DATEVALUE = DATEVAL ## Convertit une date représentée sous forme de texte en numéro de série.
|
||||||
##
|
DAY = JOUR ## Convertit un numéro de série en jour du mois.
|
||||||
## Database functions Fonctions de base de données
|
DAYS360 = JOURS360 ## Calcule le nombre de jours qui séparent deux dates sur la base d’une année de 360 jours.
|
||||||
##
|
EDATE = MOIS.DECALER ## Renvoie le numéro séquentiel de la date qui représente une date spécifiée (l’argument date_départ), corrigée en plus ou en moins du nombre de mois indiqué.
|
||||||
DAVERAGE = BDMOYENNE ## Renvoie la moyenne des entrées de base de données sélectionnées.
|
EOMONTH = FIN.MOIS ## Renvoie le numéro séquentiel de la date du dernier jour du mois précédant ou suivant la date_départ du nombre de mois indiqué.
|
||||||
DCOUNT = BCOMPTE ## Compte le nombre de cellules d’une base de données qui contiennent des nombres.
|
HOUR = HEURE ## Convertit un numéro de série en heure.
|
||||||
DCOUNTA = BDNBVAL ## Compte les cellules non vides d’une base de données.
|
MINUTE = MINUTE ## Convertit un numéro de série en minute.
|
||||||
DGET = BDLIRE ## Extrait d’une base de données un enregistrement unique répondant aux critères spécifiés.
|
MONTH = MOIS ## Convertit un numéro de série en mois.
|
||||||
DMAX = BDMAX ## Renvoie la valeur maximale des entrées de base de données sélectionnées.
|
NETWORKDAYS = NB.JOURS.OUVRES ## Renvoie le nombre de jours ouvrés entiers compris entre deux dates.
|
||||||
DMIN = BDMIN ## Renvoie la valeur minimale des entrées de base de données sélectionnées.
|
NOW = MAINTENANT ## Renvoie le numéro de série de la date et de l’heure du jour.
|
||||||
DPRODUCT = BDPRODUIT ## Multiplie les valeurs d’un champ particulier des enregistrements d’une base de données, qui répondent aux critères spécifiés.
|
SECOND = SECONDE ## Convertit un numéro de série en seconde.
|
||||||
DSTDEV = BDECARTYPE ## Calcule l’écart type pour un échantillon d’entrées de base de données sélectionnées.
|
TIME = TEMPS ## Renvoie le numéro de série d’une heure précise.
|
||||||
DSTDEVP = BDECARTYPEP ## Calcule l’écart type pour l’ensemble d’une population d’entrées de base de données sélectionnées.
|
TIMEVALUE = TEMPSVAL ## Convertit une date représentée sous forme de texte en numéro de série.
|
||||||
DSUM = BDSOMME ## Ajoute les nombres dans la colonne de champ des enregistrements de la base de données, qui répondent aux critères.
|
TODAY = AUJOURDHUI ## Renvoie le numéro de série de la date du jour.
|
||||||
DVAR = BDVAR ## Calcule la variance pour un échantillon d’entrées de base de données sélectionnées.
|
WEEKDAY = JOURSEM ## Convertit un numéro de série en jour de la semaine.
|
||||||
DVARP = BDVARP ## Calcule la variance pour l’ensemble d’une population d’entrées de base de données sélectionnées.
|
WEEKNUM = NO.SEMAINE ## Convertit un numéro de série en un numéro représentant l’ordre de la semaine dans l’année.
|
||||||
|
WORKDAY = SERIE.JOUR.OUVRE ## Renvoie le numéro de série de la date avant ou après le nombre de jours ouvrés spécifiés.
|
||||||
|
YEAR = ANNEE ## Convertit un numéro de série en année.
|
||||||
##
|
YEARFRAC = FRACTION.ANNEE ## Renvoie la fraction de l’année représentant le nombre de jours entre la date de début et la date de fin.
|
||||||
## Date and time functions Fonctions de date et d’heure
|
|
||||||
##
|
|
||||||
DATE = DATE ## Renvoie le numéro de série d’une date précise.
|
##
|
||||||
DATEVALUE = DATEVAL ## Convertit une date représentée sous forme de texte en numéro de série.
|
## Engineering functions Fonctions d’ingénierie
|
||||||
DAY = JOUR ## Convertit un numéro de série en jour du mois.
|
##
|
||||||
DAYS360 = JOURS360 ## Calcule le nombre de jours qui séparent deux dates sur la base d’une année de 360 jours.
|
BESSELI = BESSELI ## Renvoie la fonction Bessel modifiée In(x).
|
||||||
EDATE = MOIS.DECALER ## Renvoie le numéro séquentiel de la date qui représente une date spécifiée (l’argument date_départ), corrigée en plus ou en moins du nombre de mois indiqué.
|
BESSELJ = BESSELJ ## Renvoie la fonction Bessel Jn(x).
|
||||||
EOMONTH = FIN.MOIS ## Renvoie le numéro séquentiel de la date du dernier jour du mois précédant ou suivant la date_départ du nombre de mois indiqué.
|
BESSELK = BESSELK ## Renvoie la fonction Bessel modifiée Kn(x).
|
||||||
HOUR = HEURE ## Convertit un numéro de série en heure.
|
BESSELY = BESSELY ## Renvoie la fonction Bessel Yn(x).
|
||||||
MINUTE = MINUTE ## Convertit un numéro de série en minute.
|
BIN2DEC = BINDEC ## Convertit un nombre binaire en nombre décimal.
|
||||||
MONTH = MOIS ## Convertit un numéro de série en mois.
|
BIN2HEX = BINHEX ## Convertit un nombre binaire en nombre hexadécimal.
|
||||||
NETWORKDAYS = NB.JOURS.OUVRES ## Renvoie le nombre de jours ouvrés entiers compris entre deux dates.
|
BIN2OCT = BINOCT ## Convertit un nombre binaire en nombre octal.
|
||||||
NOW = MAINTENANT ## Renvoie le numéro de série de la date et de l’heure du jour.
|
COMPLEX = COMPLEXE ## Convertit des coefficients réel et imaginaire en un nombre complexe.
|
||||||
SECOND = SECONDE ## Convertit un numéro de série en seconde.
|
CONVERT = CONVERT ## Convertit un nombre d’une unité de mesure à une autre.
|
||||||
TIME = TEMPS ## Renvoie le numéro de série d’une heure précise.
|
DEC2BIN = DECBIN ## Convertit un nombre décimal en nombre binaire.
|
||||||
TIMEVALUE = TEMPSVAL ## Convertit une date représentée sous forme de texte en numéro de série.
|
DEC2HEX = DECHEX ## Convertit un nombre décimal en nombre hexadécimal.
|
||||||
TODAY = AUJOURDHUI ## Renvoie le numéro de série de la date du jour.
|
DEC2OCT = DECOCT ## Convertit un nombre décimal en nombre octal.
|
||||||
WEEKDAY = JOURSEM ## Convertit un numéro de série en jour de la semaine.
|
DELTA = DELTA ## Teste l’égalité de deux nombres.
|
||||||
WEEKNUM = NO.SEMAINE ## Convertit un numéro de série en un numéro représentant l’ordre de la semaine dans l’année.
|
ERF = ERF ## Renvoie la valeur de la fonction d’erreur.
|
||||||
WORKDAY = SERIE.JOUR.OUVRE ## Renvoie le numéro de série de la date avant ou après le nombre de jours ouvrés spécifiés.
|
ERFC = ERFC ## Renvoie la valeur de la fonction d’erreur complémentaire.
|
||||||
YEAR = ANNEE ## Convertit un numéro de série en année.
|
GESTEP = SUP.SEUIL ## Teste si un nombre est supérieur à une valeur de seuil.
|
||||||
YEARFRAC = FRACTION.ANNEE ## Renvoie la fraction de l’année représentant le nombre de jours entre la date de début et la date de fin.
|
HEX2BIN = HEXBIN ## Convertit un nombre hexadécimal en nombre binaire.
|
||||||
|
HEX2DEC = HEXDEC ## Convertit un nombre hexadécimal en nombre décimal.
|
||||||
|
HEX2OCT = HEXOCT ## Convertit un nombre hexadécimal en nombre octal.
|
||||||
##
|
IMABS = COMPLEXE.MODULE ## Renvoie la valeur absolue (module) d’un nombre complexe.
|
||||||
## Engineering functions Fonctions d’ingénierie
|
IMAGINARY = COMPLEXE.IMAGINAIRE ## Renvoie le coefficient imaginaire d’un nombre complexe.
|
||||||
##
|
IMARGUMENT = COMPLEXE.ARGUMENT ## Renvoie l’argument thêta, un angle exprimé en radians.
|
||||||
BESSELI = BESSELI ## Renvoie la fonction Bessel modifiée In(x).
|
IMCONJUGATE = COMPLEXE.CONJUGUE ## Renvoie le nombre complexe conjugué d’un nombre complexe.
|
||||||
BESSELJ = BESSELJ ## Renvoie la fonction Bessel Jn(x).
|
IMCOS = IMCOS ## Renvoie le cosinus d’un nombre complexe.
|
||||||
BESSELK = BESSELK ## Renvoie la fonction Bessel modifiée Kn(x).
|
IMDIV = COMPLEXE.DIV ## Renvoie le quotient de deux nombres complexes.
|
||||||
BESSELY = BESSELY ## Renvoie la fonction Bessel Yn(x).
|
IMEXP = COMPLEXE.EXP ## Renvoie la fonction exponentielle d’un nombre complexe.
|
||||||
BIN2DEC = BINDEC ## Convertit un nombre binaire en nombre décimal.
|
IMLN = COMPLEXE.LN ## Renvoie le logarithme népérien d’un nombre complexe.
|
||||||
BIN2HEX = BINHEX ## Convertit un nombre binaire en nombre hexadécimal.
|
IMLOG10 = COMPLEXE.LOG10 ## Calcule le logarithme en base 10 d’un nombre complexe.
|
||||||
BIN2OCT = BINOCT ## Convertit un nombre binaire en nombre octal.
|
IMLOG2 = COMPLEXE.LOG2 ## Calcule le logarithme en base 2 d’un nombre complexe.
|
||||||
COMPLEX = COMPLEXE ## Convertit des coefficients réel et imaginaire en un nombre complexe.
|
IMPOWER = COMPLEXE.PUISSANCE ## Renvoie un nombre complexe élevé à une puissance entière.
|
||||||
CONVERT = CONVERT ## Convertit un nombre d’une unité de mesure à une autre.
|
IMPRODUCT = COMPLEXE.PRODUIT ## Renvoie le produit de plusieurs nombres complexes.
|
||||||
DEC2BIN = DECBIN ## Convertit un nombre décimal en nombre binaire.
|
IMREAL = COMPLEXE.REEL ## Renvoie le coefficient réel d’un nombre complexe.
|
||||||
DEC2HEX = DECHEX ## Convertit un nombre décimal en nombre hexadécimal.
|
IMSIN = COMPLEXE.SIN ## Renvoie le sinus d’un nombre complexe.
|
||||||
DEC2OCT = DECOCT ## Convertit un nombre décimal en nombre octal.
|
IMSQRT = COMPLEXE.RACINE ## Renvoie la racine carrée d’un nombre complexe.
|
||||||
DELTA = DELTA ## Teste l’égalité de deux nombres.
|
IMSUB = COMPLEXE.DIFFERENCE ## Renvoie la différence entre deux nombres complexes.
|
||||||
ERF = ERF ## Renvoie la valeur de la fonction d’erreur.
|
IMSUM = COMPLEXE.SOMME ## Renvoie la somme de plusieurs nombres complexes.
|
||||||
ERFC = ERFC ## Renvoie la valeur de la fonction d’erreur complémentaire.
|
OCT2BIN = OCTBIN ## Convertit un nombre octal en nombre binaire.
|
||||||
GESTEP = SUP.SEUIL ## Teste si un nombre est supérieur à une valeur de seuil.
|
OCT2DEC = OCTDEC ## Convertit un nombre octal en nombre décimal.
|
||||||
HEX2BIN = HEXBIN ## Convertit un nombre hexadécimal en nombre binaire.
|
OCT2HEX = OCTHEX ## Convertit un nombre octal en nombre hexadécimal.
|
||||||
HEX2DEC = HEXDEC ## Convertit un nombre hexadécimal en nombre décimal.
|
|
||||||
HEX2OCT = HEXOCT ## Convertit un nombre hexadécimal en nombre octal.
|
|
||||||
IMABS = COMPLEXE.MODULE ## Renvoie la valeur absolue (module) d’un nombre complexe.
|
##
|
||||||
IMAGINARY = COMPLEXE.IMAGINAIRE ## Renvoie le coefficient imaginaire d’un nombre complexe.
|
## Financial functions Fonctions financières
|
||||||
IMARGUMENT = COMPLEXE.ARGUMENT ## Renvoie l’argument thêta, un angle exprimé en radians.
|
##
|
||||||
IMCONJUGATE = COMPLEXE.CONJUGUE ## Renvoie le nombre complexe conjugué d’un nombre complexe.
|
ACCRINT = INTERET.ACC ## Renvoie l’intérêt couru non échu d’un titre dont l’intérêt est perçu périodiquement.
|
||||||
IMCOS = IMCOS ## Renvoie le cosinus d’un nombre complexe.
|
ACCRINTM = INTERET.ACC.MAT ## Renvoie l’intérêt couru non échu d’un titre dont l’intérêt est perçu à l’échéance.
|
||||||
IMDIV = COMPLEXE.DIV ## Renvoie le quotient de deux nombres complexes.
|
AMORDEGRC = AMORDEGRC ## Renvoie l’amortissement correspondant à chaque période comptable en utilisant un coefficient d’amortissement.
|
||||||
IMEXP = COMPLEXE.EXP ## Renvoie la fonction exponentielle d’un nombre complexe.
|
AMORLINC = AMORLINC ## Renvoie l’amortissement d’un bien à la fin d’une période fiscale donnée.
|
||||||
IMLN = COMPLEXE.LN ## Renvoie le logarithme népérien d’un nombre complexe.
|
COUPDAYBS = NB.JOURS.COUPON.PREC ## Renvoie le nombre de jours entre le début de la période de coupon et la date de liquidation.
|
||||||
IMLOG10 = COMPLEXE.LOG10 ## Calcule le logarithme en base 10 d’un nombre complexe.
|
COUPDAYS = NB.JOURS.COUPONS ## Renvoie le nombre de jours pour la période du coupon contenant la date de liquidation.
|
||||||
IMLOG2 = COMPLEXE.LOG2 ## Calcule le logarithme en base 2 d’un nombre complexe.
|
COUPDAYSNC = NB.JOURS.COUPON.SUIV ## Renvoie le nombre de jours entre la date de liquidation et la date du coupon suivant la date de liquidation.
|
||||||
IMPOWER = COMPLEXE.PUISSANCE ## Renvoie un nombre complexe élevé à une puissance entière.
|
COUPNCD = DATE.COUPON.SUIV ## Renvoie la première date de coupon ultérieure à la date de règlement.
|
||||||
IMPRODUCT = COMPLEXE.PRODUIT ## Renvoie le produit de plusieurs nombres complexes.
|
COUPNUM = NB.COUPONS ## Renvoie le nombre de coupons dus entre la date de règlement et la date d’échéance.
|
||||||
IMREAL = COMPLEXE.REEL ## Renvoie le coefficient réel d’un nombre complexe.
|
COUPPCD = DATE.COUPON.PREC ## Renvoie la date de coupon précédant la date de règlement.
|
||||||
IMSIN = COMPLEXE.SIN ## Renvoie le sinus d’un nombre complexe.
|
CUMIPMT = CUMUL.INTER ## Renvoie l’intérêt cumulé payé sur un emprunt entre deux périodes.
|
||||||
IMSQRT = COMPLEXE.RACINE ## Renvoie la racine carrée d’un nombre complexe.
|
CUMPRINC = CUMUL.PRINCPER ## Renvoie le montant cumulé des remboursements du capital d’un emprunt effectués entre deux périodes.
|
||||||
IMSUB = COMPLEXE.DIFFERENCE ## Renvoie la différence entre deux nombres complexes.
|
DB = DB ## Renvoie l’amortissement d’un bien pour une période spécifiée en utilisant la méthode de l’amortissement dégressif à taux fixe.
|
||||||
IMSUM = COMPLEXE.SOMME ## Renvoie la somme de plusieurs nombres complexes.
|
DDB = DDB ## Renvoie l’amortissement d’un bien pour toute période spécifiée, en utilisant la méthode de l’amortissement dégressif à taux double ou selon un coefficient à spécifier.
|
||||||
OCT2BIN = OCTBIN ## Convertit un nombre octal en nombre binaire.
|
DISC = TAUX.ESCOMPTE ## Calcule le taux d’escompte d’une transaction.
|
||||||
OCT2DEC = OCTDEC ## Convertit un nombre octal en nombre décimal.
|
DOLLARDE = PRIX.DEC ## Convertit un prix en euros, exprimé sous forme de fraction, en un prix en euros exprimé sous forme de nombre décimal.
|
||||||
OCT2HEX = OCTHEX ## Convertit un nombre octal en nombre hexadécimal.
|
DOLLARFR = PRIX.FRAC ## Convertit un prix en euros, exprimé sous forme de nombre décimal, en un prix en euros exprimé sous forme de fraction.
|
||||||
|
DURATION = DUREE ## Renvoie la durée, en années, d’un titre dont l’intérêt est perçu périodiquement.
|
||||||
|
EFFECT = TAUX.EFFECTIF ## Renvoie le taux d’intérêt annuel effectif.
|
||||||
##
|
FV = VC ## Renvoie la valeur future d’un investissement.
|
||||||
## Financial functions Fonctions financières
|
FVSCHEDULE = VC.PAIEMENTS ## Calcule la valeur future d’un investissement en appliquant une série de taux d’intérêt composites.
|
||||||
##
|
INTRATE = TAUX.INTERET ## Affiche le taux d’intérêt d’un titre totalement investi.
|
||||||
ACCRINT = INTERET.ACC ## Renvoie l’intérêt couru non échu d’un titre dont l’intérêt est perçu périodiquement.
|
IPMT = INTPER ## Calcule le montant des intérêts d’un investissement pour une période donnée.
|
||||||
ACCRINTM = INTERET.ACC.MAT ## Renvoie l’intérêt couru non échu d’un titre dont l’intérêt est perçu à l’échéance.
|
IRR = TRI ## Calcule le taux de rentabilité interne d’un investissement pour une succession de trésoreries.
|
||||||
AMORDEGRC = AMORDEGRC ## Renvoie l’amortissement correspondant à chaque période comptable en utilisant un coefficient d’amortissement.
|
ISPMT = ISPMT ## Calcule le montant des intérêts d’un investissement pour une période donnée.
|
||||||
AMORLINC = AMORLINC ## Renvoie l’amortissement d’un bien à la fin d’une période fiscale donnée.
|
MDURATION = DUREE.MODIFIEE ## Renvoie la durée de Macauley modifiée pour un titre ayant une valeur nominale hypothétique de 100_euros.
|
||||||
COUPDAYBS = NB.JOURS.COUPON.PREC ## Renvoie le nombre de jours entre le début de la période de coupon et la date de liquidation.
|
MIRR = TRIM ## Calcule le taux de rentabilité interne lorsque les paiements positifs et négatifs sont financés à des taux différents.
|
||||||
COUPDAYS = NB.JOURS.COUPONS ## Renvoie le nombre de jours pour la période du coupon contenant la date de liquidation.
|
NOMINAL = TAUX.NOMINAL ## Calcule le taux d’intérêt nominal annuel.
|
||||||
COUPDAYSNC = NB.JOURS.COUPON.SUIV ## Renvoie le nombre de jours entre la date de liquidation et la date du coupon suivant la date de liquidation.
|
NPER = NPM ## Renvoie le nombre de versements nécessaires pour rembourser un emprunt.
|
||||||
COUPNCD = DATE.COUPON.SUIV ## Renvoie la première date de coupon ultérieure à la date de règlement.
|
NPV = VAN ## Calcule la valeur actuelle nette d’un investissement basé sur une série de décaissements et un taux d’escompte.
|
||||||
COUPNUM = NB.COUPONS ## Renvoie le nombre de coupons dus entre la date de règlement et la date d’échéance.
|
ODDFPRICE = PRIX.PCOUPON.IRREG ## Renvoie le prix par tranche de valeur nominale de 100 euros d’un titre dont la première période de coupon est irrégulière.
|
||||||
COUPPCD = DATE.COUPON.PREC ## Renvoie la date de coupon précédant la date de règlement.
|
ODDFYIELD = REND.PCOUPON.IRREG ## Renvoie le taux de rendement d’un titre dont la première période de coupon est irrégulière.
|
||||||
CUMIPMT = CUMUL.INTER ## Renvoie l’intérêt cumulé payé sur un emprunt entre deux périodes.
|
ODDLPRICE = PRIX.DCOUPON.IRREG ## Renvoie le prix par tranche de valeur nominale de 100 euros d’un titre dont la première période de coupon est irrégulière.
|
||||||
CUMPRINC = CUMUL.PRINCPER ## Renvoie le montant cumulé des remboursements du capital d’un emprunt effectués entre deux périodes.
|
ODDLYIELD = REND.DCOUPON.IRREG ## Renvoie le taux de rendement d’un titre dont la dernière période de coupon est irrégulière.
|
||||||
DB = DB ## Renvoie l’amortissement d’un bien pour une période spécifiée en utilisant la méthode de l’amortissement dégressif à taux fixe.
|
PMT = VPM ## Calcule le paiement périodique d’un investissement donné.
|
||||||
DDB = DDB ## Renvoie l’amortissement d’un bien pour toute période spécifiée, en utilisant la méthode de l’amortissement dégressif à taux double ou selon un coefficient à spécifier.
|
PPMT = PRINCPER ## Calcule, pour une période donnée, la part de remboursement du principal d’un investissement.
|
||||||
DISC = TAUX.ESCOMPTE ## Calcule le taux d’escompte d’une transaction.
|
PRICE = PRIX.TITRE ## Renvoie le prix d’un titre rapportant des intérêts périodiques, pour une valeur nominale de 100 euros.
|
||||||
DOLLARDE = PRIX.DEC ## Convertit un prix en euros, exprimé sous forme de fraction, en un prix en euros exprimé sous forme de nombre décimal.
|
PRICEDISC = VALEUR.ENCAISSEMENT ## Renvoie la valeur d’encaissement d’un escompte commercial, pour une valeur nominale de 100 euros.
|
||||||
DOLLARFR = PRIX.FRAC ## Convertit un prix en euros, exprimé sous forme de nombre décimal, en un prix en euros exprimé sous forme de fraction.
|
PRICEMAT = PRIX.TITRE.ECHEANCE ## Renvoie le prix d’un titre dont la valeur nominale est 100 euros et qui rapporte des intérêts à l’échéance.
|
||||||
DURATION = DUREE ## Renvoie la durée, en années, d’un titre dont l’intérêt est perçu périodiquement.
|
PV = PV ## Calcule la valeur actuelle d’un investissement.
|
||||||
EFFECT = TAUX.EFFECTIF ## Renvoie le taux d’intérêt annuel effectif.
|
RATE = TAUX ## Calcule le taux d’intérêt par période pour une annuité.
|
||||||
FV = VC ## Renvoie la valeur future d’un investissement.
|
RECEIVED = VALEUR.NOMINALE ## Renvoie la valeur nominale à échéance d’un effet de commerce.
|
||||||
FVSCHEDULE = VC.PAIEMENTS ## Calcule la valeur future d’un investissement en appliquant une série de taux d’intérêt composites.
|
SLN = AMORLIN ## Calcule l’amortissement linéaire d’un bien pour une période donnée.
|
||||||
INTRATE = TAUX.INTERET ## Affiche le taux d’intérêt d’un titre totalement investi.
|
SYD = SYD ## Calcule l’amortissement d’un bien pour une période donnée sur la base de la méthode américaine Sum-of-Years Digits (amortissement dégressif à taux décroissant appliqué à une valeur constante).
|
||||||
IPMT = INTPER ## Calcule le montant des intérêts d’un investissement pour une période donnée.
|
TBILLEQ = TAUX.ESCOMPTE.R ## Renvoie le taux d’escompte rationnel d’un bon du Trésor.
|
||||||
IRR = TRI ## Calcule le taux de rentabilité interne d’un investissement pour une succession de trésoreries.
|
TBILLPRICE = PRIX.BON.TRESOR ## Renvoie le prix d’un bon du Trésor d’une valeur nominale de 100 euros.
|
||||||
ISPMT = ISPMT ## Calcule le montant des intérêts d’un investissement pour une période donnée.
|
TBILLYIELD = RENDEMENT.BON.TRESOR ## Calcule le taux de rendement d’un bon du Trésor.
|
||||||
MDURATION = DUREE.MODIFIEE ## Renvoie la durée de Macauley modifiée pour un titre ayant une valeur nominale hypothétique de 100_euros.
|
VDB = VDB ## Renvoie l’amortissement d’un bien pour une période spécifiée ou partielle en utilisant une méthode de l’amortissement dégressif à taux fixe.
|
||||||
MIRR = TRIM ## Calcule le taux de rentabilité interne lorsque les paiements positifs et négatifs sont financés à des taux différents.
|
XIRR = TRI.PAIEMENTS ## Calcule le taux de rentabilité interne d’un ensemble de paiements non périodiques.
|
||||||
NOMINAL = TAUX.NOMINAL ## Calcule le taux d’intérêt nominal annuel.
|
XNPV = VAN.PAIEMENTS ## Renvoie la valeur actuelle nette d’un ensemble de paiements non périodiques.
|
||||||
NPER = NPM ## Renvoie le nombre de versements nécessaires pour rembourser un emprunt.
|
YIELD = RENDEMENT.TITRE ## Calcule le rendement d’un titre rapportant des intérêts périodiquement.
|
||||||
NPV = VAN ## Calcule la valeur actuelle nette d’un investissement basé sur une série de décaissements et un taux d’escompte.
|
YIELDDISC = RENDEMENT.SIMPLE ## Calcule le taux de rendement d’un emprunt à intérêt simple (par exemple, un bon du Trésor).
|
||||||
ODDFPRICE = PRIX.PCOUPON.IRREG ## Renvoie le prix par tranche de valeur nominale de 100 euros d’un titre dont la première période de coupon est irrégulière.
|
YIELDMAT = RENDEMENT.TITRE.ECHEANCE ## Renvoie le rendement annuel d’un titre qui rapporte des intérêts à l’échéance.
|
||||||
ODDFYIELD = REND.PCOUPON.IRREG ## Renvoie le taux de rendement d’un titre dont la première période de coupon est irrégulière.
|
|
||||||
ODDLPRICE = PRIX.DCOUPON.IRREG ## Renvoie le prix par tranche de valeur nominale de 100 euros d’un titre dont la première période de coupon est irrégulière.
|
|
||||||
ODDLYIELD = REND.DCOUPON.IRREG ## Renvoie le taux de rendement d’un titre dont la dernière période de coupon est irrégulière.
|
##
|
||||||
PMT = VPM ## Calcule le paiement périodique d’un investissement donné.
|
## Information functions Fonctions d’information
|
||||||
PPMT = PRINCPER ## Calcule, pour une période donnée, la part de remboursement du principal d’un investissement.
|
##
|
||||||
PRICE = PRIX.TITRE ## Renvoie le prix d’un titre rapportant des intérêts périodiques, pour une valeur nominale de 100 euros.
|
CELL = CELLULE ## Renvoie des informations sur la mise en forme, l’emplacement et le contenu d’une cellule.
|
||||||
PRICEDISC = VALEUR.ENCAISSEMENT ## Renvoie la valeur d’encaissement d’un escompte commercial, pour une valeur nominale de 100 euros.
|
ERROR.TYPE = TYPE.ERREUR ## Renvoie un nombre correspondant à un type d’erreur.
|
||||||
PRICEMAT = PRIX.TITRE.ECHEANCE ## Renvoie le prix d’un titre dont la valeur nominale est 100 euros et qui rapporte des intérêts à l’échéance.
|
INFO = INFORMATIONS ## Renvoie des informations sur l’environnement d’exploitation actuel.
|
||||||
PV = PV ## Calcule la valeur actuelle d’un investissement.
|
ISBLANK = ESTVIDE ## Renvoie VRAI si l’argument valeur est vide.
|
||||||
RATE = TAUX ## Calcule le taux d’intérêt par période pour une annuité.
|
ISERR = ESTERR ## Renvoie VRAI si l’argument valeur fait référence à une valeur d’erreur, sauf #N/A.
|
||||||
RECEIVED = VALEUR.NOMINALE ## Renvoie la valeur nominale à échéance d’un effet de commerce.
|
ISERROR = ESTERREUR ## Renvoie VRAI si l’argument valeur fait référence à une valeur d’erreur.
|
||||||
SLN = AMORLIN ## Calcule l’amortissement linéaire d’un bien pour une période donnée.
|
ISEVEN = EST.PAIR ## Renvoie VRAI si le chiffre est pair.
|
||||||
SYD = SYD ## Calcule l’amortissement d’un bien pour une période donnée sur la base de la méthode américaine Sum-of-Years Digits (amortissement dégressif à taux décroissant appliqué à une valeur constante).
|
ISLOGICAL = ESTLOGIQUE ## Renvoie VRAI si l’argument valeur fait référence à une valeur logique.
|
||||||
TBILLEQ = TAUX.ESCOMPTE.R ## Renvoie le taux d’escompte rationnel d’un bon du Trésor.
|
ISNA = ESTNA ## Renvoie VRAI si l’argument valeur fait référence à la valeur d’erreur #N/A.
|
||||||
TBILLPRICE = PRIX.BON.TRESOR ## Renvoie le prix d’un bon du Trésor d’une valeur nominale de 100 euros.
|
ISNONTEXT = ESTNONTEXTE ## Renvoie VRAI si l’argument valeur ne se présente pas sous forme de texte.
|
||||||
TBILLYIELD = RENDEMENT.BON.TRESOR ## Calcule le taux de rendement d’un bon du Trésor.
|
ISNUMBER = ESTNUM ## Renvoie VRAI si l’argument valeur représente un nombre.
|
||||||
VDB = VDB ## Renvoie l’amortissement d’un bien pour une période spécifiée ou partielle en utilisant une méthode de l’amortissement dégressif à taux fixe.
|
ISODD = EST.IMPAIR ## Renvoie VRAI si le chiffre est impair.
|
||||||
XIRR = TRI.PAIEMENTS ## Calcule le taux de rentabilité interne d’un ensemble de paiements non périodiques.
|
ISREF = ESTREF ## Renvoie VRAI si l’argument valeur est une référence.
|
||||||
XNPV = VAN.PAIEMENTS ## Renvoie la valeur actuelle nette d’un ensemble de paiements non périodiques.
|
ISTEXT = ESTTEXTE ## Renvoie VRAI si l’argument valeur se présente sous forme de texte.
|
||||||
YIELD = RENDEMENT.TITRE ## Calcule le rendement d’un titre rapportant des intérêts périodiquement.
|
N = N ## Renvoie une valeur convertie en nombre.
|
||||||
YIELDDISC = RENDEMENT.SIMPLE ## Calcule le taux de rendement d’un emprunt à intérêt simple (par exemple, un bon du Trésor).
|
NA = NA ## Renvoie la valeur d’erreur #N/A.
|
||||||
YIELDMAT = RENDEMENT.TITRE.ECHEANCE ## Renvoie le rendement annuel d’un titre qui rapporte des intérêts à l’échéance.
|
TYPE = TYPE ## Renvoie un nombre indiquant le type de données d’une valeur.
|
||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Information functions Fonctions d’information
|
## Logical functions Fonctions logiques
|
||||||
##
|
##
|
||||||
CELL = CELLULE ## Renvoie des informations sur la mise en forme, l’emplacement et le contenu d’une cellule.
|
AND = ET ## Renvoie VRAI si tous ses arguments sont VRAI.
|
||||||
ERROR.TYPE = TYPE.ERREUR ## Renvoie un nombre correspondant à un type d’erreur.
|
FALSE = FAUX ## Renvoie la valeur logique FAUX.
|
||||||
INFO = INFORMATIONS ## Renvoie des informations sur l’environnement d’exploitation actuel.
|
IF = SI ## Spécifie un test logique à effectuer.
|
||||||
ISBLANK = ESTVIDE ## Renvoie VRAI si l’argument valeur est vide.
|
IFERROR = SIERREUR ## Renvoie une valeur que vous spécifiez si une formule génère une erreur ; sinon, elle renvoie le résultat de la formule.
|
||||||
ISERR = ESTERR ## Renvoie VRAI si l’argument valeur fait référence à une valeur d’erreur, sauf #N/A.
|
NOT = NON ## Inverse la logique de cet argument.
|
||||||
ISERROR = ESTERREUR ## Renvoie VRAI si l’argument valeur fait référence à une valeur d’erreur.
|
OR = OU ## Renvoie VRAI si un des arguments est VRAI.
|
||||||
ISEVEN = EST.PAIR ## Renvoie VRAI si le chiffre est pair.
|
TRUE = VRAI ## Renvoie la valeur logique VRAI.
|
||||||
ISLOGICAL = ESTLOGIQUE ## Renvoie VRAI si l’argument valeur fait référence à une valeur logique.
|
|
||||||
ISNA = ESTNA ## Renvoie VRAI si l’argument valeur fait référence à la valeur d’erreur #N/A.
|
|
||||||
ISNONTEXT = ESTNONTEXTE ## Renvoie VRAI si l’argument valeur ne se présente pas sous forme de texte.
|
##
|
||||||
ISNUMBER = ESTNUM ## Renvoie VRAI si l’argument valeur représente un nombre.
|
## Lookup and reference functions Fonctions de recherche et de référence
|
||||||
ISODD = EST.IMPAIR ## Renvoie VRAI si le chiffre est impair.
|
##
|
||||||
ISREF = ESTREF ## Renvoie VRAI si l’argument valeur est une référence.
|
ADDRESS = ADRESSE ## Renvoie une référence sous forme de texte à une seule cellule d’une feuille de calcul.
|
||||||
ISTEXT = ESTTEXTE ## Renvoie VRAI si l’argument valeur se présente sous forme de texte.
|
AREAS = ZONES ## Renvoie le nombre de zones dans une référence.
|
||||||
N = N ## Renvoie une valeur convertie en nombre.
|
CHOOSE = CHOISIR ## Choisit une valeur dans une liste.
|
||||||
NA = NA ## Renvoie la valeur d’erreur #N/A.
|
COLUMN = COLONNE ## Renvoie le numéro de colonne d’une référence.
|
||||||
TYPE = TYPE ## Renvoie un nombre indiquant le type de données d’une valeur.
|
COLUMNS = COLONNES ## Renvoie le nombre de colonnes dans une référence.
|
||||||
|
HLOOKUP = RECHERCHEH ## Effectue une recherche dans la première ligne d’une matrice et renvoie la valeur de la cellule indiquée.
|
||||||
|
HYPERLINK = LIEN_HYPERTEXTE ## Crée un raccourci ou un renvoi qui ouvre un document stocké sur un serveur réseau, sur un réseau Intranet ou sur Internet.
|
||||||
##
|
INDEX = INDEX ## Utilise un index pour choisir une valeur provenant d’une référence ou d’une matrice.
|
||||||
## Logical functions Fonctions logiques
|
INDIRECT = INDIRECT ## Renvoie une référence indiquée par une valeur de texte.
|
||||||
##
|
LOOKUP = RECHERCHE ## Recherche des valeurs dans un vecteur ou une matrice.
|
||||||
AND = ET ## Renvoie VRAI si tous ses arguments sont VRAI.
|
MATCH = EQUIV ## Recherche des valeurs dans une référence ou une matrice.
|
||||||
FALSE = FAUX ## Renvoie la valeur logique FAUX.
|
OFFSET = DECALER ## Renvoie une référence décalée par rapport à une référence donnée.
|
||||||
IF = SI ## Spécifie un test logique à effectuer.
|
ROW = LIGNE ## Renvoie le numéro de ligne d’une référence.
|
||||||
IFERROR = SIERREUR ## Renvoie une valeur que vous spécifiez si une formule génère une erreur ; sinon, elle renvoie le résultat de la formule.
|
ROWS = LIGNES ## Renvoie le nombre de lignes dans une référence.
|
||||||
NOT = NON ## Inverse la logique de cet argument.
|
RTD = RTD ## Extrait les données en temps réel à partir d’un programme prenant en charge l’automation COM (Automation : utilisation des objets d'une application à partir d'une autre application ou d'un autre outil de développement. Autrefois appelée OLE Automation, Automation est une norme industrielle et une fonctionnalité du modèle d'objet COM (Component Object Model).).
|
||||||
OR = OU ## Renvoie VRAI si un des arguments est VRAI.
|
TRANSPOSE = TRANSPOSE ## Renvoie la transposition d’une matrice.
|
||||||
TRUE = VRAI ## Renvoie la valeur logique VRAI.
|
VLOOKUP = RECHERCHEV ## Effectue une recherche dans la première colonne d’une matrice et se déplace sur la ligne pour renvoyer la valeur d’une cellule.
|
||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Lookup and reference functions Fonctions de recherche et de référence
|
## Math and trigonometry functions Fonctions mathématiques et trigonométriques
|
||||||
##
|
##
|
||||||
ADDRESS = ADRESSE ## Renvoie une référence sous forme de texte à une seule cellule d’une feuille de calcul.
|
ABS = ABS ## Renvoie la valeur absolue d’un nombre.
|
||||||
AREAS = ZONES ## Renvoie le nombre de zones dans une référence.
|
ACOS = ACOS ## Renvoie l’arccosinus d’un nombre.
|
||||||
CHOOSE = CHOISIR ## Choisit une valeur dans une liste.
|
ACOSH = ACOSH ## Renvoie le cosinus hyperbolique inverse d’un nombre.
|
||||||
COLUMN = COLONNE ## Renvoie le numéro de colonne d’une référence.
|
ASIN = ASIN ## Renvoie l’arcsinus d’un nombre.
|
||||||
COLUMNS = COLONNES ## Renvoie le nombre de colonnes dans une référence.
|
ASINH = ASINH ## Renvoie le sinus hyperbolique inverse d’un nombre.
|
||||||
HLOOKUP = RECHERCHEH ## Effectue une recherche dans la première ligne d’une matrice et renvoie la valeur de la cellule indiquée.
|
ATAN = ATAN ## Renvoie l’arctangente d’un nombre.
|
||||||
HYPERLINK = LIEN_HYPERTEXTE ## Crée un raccourci ou un renvoi qui ouvre un document stocké sur un serveur réseau, sur un réseau Intranet ou sur Internet.
|
ATAN2 = ATAN2 ## Renvoie l’arctangente des coordonnées x et y.
|
||||||
INDEX = INDEX ## Utilise un index pour choisir une valeur provenant d’une référence ou d’une matrice.
|
ATANH = ATANH ## Renvoie la tangente hyperbolique inverse d’un nombre.
|
||||||
INDIRECT = INDIRECT ## Renvoie une référence indiquée par une valeur de texte.
|
CEILING = PLAFOND ## Arrondit un nombre au nombre entier le plus proche ou au multiple le plus proche de l’argument précision en s’éloignant de zéro.
|
||||||
LOOKUP = RECHERCHE ## Recherche des valeurs dans un vecteur ou une matrice.
|
COMBIN = COMBIN ## Renvoie le nombre de combinaisons que l’on peut former avec un nombre donné d’objets.
|
||||||
MATCH = EQUIV ## Recherche des valeurs dans une référence ou une matrice.
|
COS = COS ## Renvoie le cosinus d’un nombre.
|
||||||
OFFSET = DECALER ## Renvoie une référence décalée par rapport à une référence donnée.
|
COSH = COSH ## Renvoie le cosinus hyperbolique d’un nombre.
|
||||||
ROW = LIGNE ## Renvoie le numéro de ligne d’une référence.
|
DEGREES = DEGRES ## Convertit des radians en degrés.
|
||||||
ROWS = LIGNES ## Renvoie le nombre de lignes dans une référence.
|
EVEN = PAIR ## Arrondit un nombre au nombre entier pair le plus proche en s’éloignant de zéro.
|
||||||
RTD = RTD ## Extrait les données en temps réel à partir d’un programme prenant en charge l’automation COM (Automation : utilisation des objets d'une application à partir d'une autre application ou d'un autre outil de développement. Autrefois appelée OLE Automation, Automation est une norme industrielle et une fonctionnalité du modèle d'objet COM (Component Object Model).).
|
EXP = EXP ## Renvoie e élevé à la puissance d’un nombre donné.
|
||||||
TRANSPOSE = TRANSPOSE ## Renvoie la transposition d’une matrice.
|
FACT = FACT ## Renvoie la factorielle d’un nombre.
|
||||||
VLOOKUP = RECHERCHEV ## Effectue une recherche dans la première colonne d’une matrice et se déplace sur la ligne pour renvoyer la valeur d’une cellule.
|
FACTDOUBLE = FACTDOUBLE ## Renvoie la factorielle double d’un nombre.
|
||||||
|
FLOOR = PLANCHER ## Arrondit un nombre en tendant vers 0 (zéro).
|
||||||
|
GCD = PGCD ## Renvoie le plus grand commun diviseur.
|
||||||
##
|
INT = ENT ## Arrondit un nombre à l’entier immédiatement inférieur.
|
||||||
## Math and trigonometry functions Fonctions mathématiques et trigonométriques
|
LCM = PPCM ## Renvoie le plus petit commun multiple.
|
||||||
##
|
LN = LN ## Renvoie le logarithme népérien d’un nombre.
|
||||||
ABS = ABS ## Renvoie la valeur absolue d’un nombre.
|
LOG = LOG ## Renvoie le logarithme d’un nombre dans la base spécifiée.
|
||||||
ACOS = ACOS ## Renvoie l’arccosinus d’un nombre.
|
LOG10 = LOG10 ## Calcule le logarithme en base 10 d’un nombre.
|
||||||
ACOSH = ACOSH ## Renvoie le cosinus hyperbolique inverse d’un nombre.
|
MDETERM = DETERMAT ## Renvoie le déterminant d’une matrice.
|
||||||
ASIN = ASIN ## Renvoie l’arcsinus d’un nombre.
|
MINVERSE = INVERSEMAT ## Renvoie la matrice inverse d’une matrice.
|
||||||
ASINH = ASINH ## Renvoie le sinus hyperbolique inverse d’un nombre.
|
MMULT = PRODUITMAT ## Renvoie le produit de deux matrices.
|
||||||
ATAN = ATAN ## Renvoie l’arctangente d’un nombre.
|
MOD = MOD ## Renvoie le reste d’une division.
|
||||||
ATAN2 = ATAN2 ## Renvoie l’arctangente des coordonnées x et y.
|
MROUND = ARRONDI.AU.MULTIPLE ## Donne l’arrondi d’un nombre au multiple spécifié.
|
||||||
ATANH = ATANH ## Renvoie la tangente hyperbolique inverse d’un nombre.
|
MULTINOMIAL = MULTINOMIALE ## Calcule la multinomiale d’un ensemble de nombres.
|
||||||
CEILING = PLAFOND ## Arrondit un nombre au nombre entier le plus proche ou au multiple le plus proche de l’argument précision en s’éloignant de zéro.
|
ODD = IMPAIR ## Renvoie le nombre, arrondi à la valeur du nombre entier impair le plus proche en s’éloignant de zéro.
|
||||||
COMBIN = COMBIN ## Renvoie le nombre de combinaisons que l’on peut former avec un nombre donné d’objets.
|
PI = PI ## Renvoie la valeur de pi.
|
||||||
COS = COS ## Renvoie le cosinus d’un nombre.
|
POWER = PUISSANCE ## Renvoie la valeur du nombre élevé à une puissance.
|
||||||
COSH = COSH ## Renvoie le cosinus hyperbolique d’un nombre.
|
PRODUCT = PRODUIT ## Multiplie ses arguments.
|
||||||
DEGREES = DEGRES ## Convertit des radians en degrés.
|
QUOTIENT = QUOTIENT ## Renvoie la partie entière du résultat d’une division.
|
||||||
EVEN = PAIR ## Arrondit un nombre au nombre entier pair le plus proche en s’éloignant de zéro.
|
RADIANS = RADIANS ## Convertit des degrés en radians.
|
||||||
EXP = EXP ## Renvoie e élevé à la puissance d’un nombre donné.
|
RAND = ALEA ## Renvoie un nombre aléatoire compris entre 0 et 1.
|
||||||
FACT = FACT ## Renvoie la factorielle d’un nombre.
|
RANDBETWEEN = ALEA.ENTRE.BORNES ## Renvoie un nombre aléatoire entre les nombres que vous spécifiez.
|
||||||
FACTDOUBLE = FACTDOUBLE ## Renvoie la factorielle double d’un nombre.
|
ROMAN = ROMAIN ## Convertit des chiffres arabes en chiffres romains, sous forme de texte.
|
||||||
FLOOR = PLANCHER ## Arrondit un nombre en tendant vers 0 (zéro).
|
ROUND = ARRONDI ## Arrondit un nombre au nombre de chiffres indiqué.
|
||||||
GCD = PGCD ## Renvoie le plus grand commun diviseur.
|
ROUNDDOWN = ARRONDI.INF ## Arrondit un nombre en tendant vers 0 (zéro).
|
||||||
INT = ENT ## Arrondit un nombre à l’entier immédiatement inférieur.
|
ROUNDUP = ARRONDI.SUP ## Arrondit un nombre à l’entier supérieur, en s’éloignant de zéro.
|
||||||
LCM = PPCM ## Renvoie le plus petit commun multiple.
|
SERIESSUM = SOMME.SERIES ## Renvoie la somme d’une série géométrique en s’appuyant sur la formule suivante :
|
||||||
LN = LN ## Renvoie le logarithme népérien d’un nombre.
|
SIGN = SIGNE ## Renvoie le signe d’un nombre.
|
||||||
LOG = LOG ## Renvoie le logarithme d’un nombre dans la base spécifiée.
|
SIN = SIN ## Renvoie le sinus d’un angle donné.
|
||||||
LOG10 = LOG10 ## Calcule le logarithme en base 10 d’un nombre.
|
SINH = SINH ## Renvoie le sinus hyperbolique d’un nombre.
|
||||||
MDETERM = DETERMAT ## Renvoie le déterminant d’une matrice.
|
SQRT = RACINE ## Renvoie la racine carrée d’un nombre.
|
||||||
MINVERSE = INVERSEMAT ## Renvoie la matrice inverse d’une matrice.
|
SQRTPI = RACINE.PI ## Renvoie la racine carrée de (nombre * pi).
|
||||||
MMULT = PRODUITMAT ## Renvoie le produit de deux matrices.
|
SUBTOTAL = SOUS.TOTAL ## Renvoie un sous-total dans une liste ou une base de données.
|
||||||
MOD = MOD ## Renvoie le reste d’une division.
|
SUM = SOMME ## Calcule la somme de ses arguments.
|
||||||
MROUND = ARRONDI.AU.MULTIPLE ## Donne l’arrondi d’un nombre au multiple spécifié.
|
SUMIF = SOMME.SI ## Additionne les cellules spécifiées si elles répondent à un critère donné.
|
||||||
MULTINOMIAL = MULTINOMIALE ## Calcule la multinomiale d’un ensemble de nombres.
|
SUMIFS = SOMME.SI.ENS ## Ajoute les cellules d’une plage qui répondent à plusieurs critères.
|
||||||
ODD = IMPAIR ## Renvoie le nombre, arrondi à la valeur du nombre entier impair le plus proche en s’éloignant de zéro.
|
SUMPRODUCT = SOMMEPROD ## Multiplie les valeurs correspondantes des matrices spécifiées et calcule la somme de ces produits.
|
||||||
PI = PI ## Renvoie la valeur de pi.
|
SUMSQ = SOMME.CARRES ## Renvoie la somme des carrés des arguments.
|
||||||
POWER = PUISSANCE ## Renvoie la valeur du nombre élevé à une puissance.
|
SUMX2MY2 = SOMME.X2MY2 ## Renvoie la somme de la différence des carrés des valeurs correspondantes de deux matrices.
|
||||||
PRODUCT = PRODUIT ## Multiplie ses arguments.
|
SUMX2PY2 = SOMME.X2PY2 ## Renvoie la somme de la somme des carrés des valeurs correspondantes de deux matrices.
|
||||||
QUOTIENT = QUOTIENT ## Renvoie la partie entière du résultat d’une division.
|
SUMXMY2 = SOMME.XMY2 ## Renvoie la somme des carrés des différences entre les valeurs correspondantes de deux matrices.
|
||||||
RADIANS = RADIANS ## Convertit des degrés en radians.
|
TAN = TAN ## Renvoie la tangente d’un nombre.
|
||||||
RAND = ALEA ## Renvoie un nombre aléatoire compris entre 0 et 1.
|
TANH = TANH ## Renvoie la tangente hyperbolique d’un nombre.
|
||||||
RANDBETWEEN = ALEA.ENTRE.BORNES ## Renvoie un nombre aléatoire entre les nombres que vous spécifiez.
|
TRUNC = TRONQUE ## Renvoie la partie entière d’un nombre.
|
||||||
ROMAN = ROMAIN ## Convertit des chiffres arabes en chiffres romains, sous forme de texte.
|
|
||||||
ROUND = ARRONDI ## Arrondit un nombre au nombre de chiffres indiqué.
|
|
||||||
ROUNDDOWN = ARRONDI.INF ## Arrondit un nombre en tendant vers 0 (zéro).
|
##
|
||||||
ROUNDUP = ARRONDI.SUP ## Arrondit un nombre à l’entier supérieur, en s’éloignant de zéro.
|
## Statistical functions Fonctions statistiques
|
||||||
SERIESSUM = SOMME.SERIES ## Renvoie la somme d’une série géométrique en s’appuyant sur la formule suivante :
|
##
|
||||||
SIGN = SIGNE ## Renvoie le signe d’un nombre.
|
AVEDEV = ECART.MOYEN ## Renvoie la moyenne des écarts absolus observés dans la moyenne des points de données.
|
||||||
SIN = SIN ## Renvoie le sinus d’un angle donné.
|
AVERAGE = MOYENNE ## Renvoie la moyenne de ses arguments.
|
||||||
SINH = SINH ## Renvoie le sinus hyperbolique d’un nombre.
|
AVERAGEA = AVERAGEA ## Renvoie la moyenne de ses arguments, nombres, texte et valeurs logiques inclus.
|
||||||
SQRT = RACINE ## Renvoie la racine carrée d’un nombre.
|
AVERAGEIF = MOYENNE.SI ## Renvoie la moyenne (arithmétique) de toutes les cellules d’une plage qui répondent à des critères donnés.
|
||||||
SQRTPI = RACINE.PI ## Renvoie la racine carrée de (nombre * pi).
|
AVERAGEIFS = MOYENNE.SI.ENS ## Renvoie la moyenne (arithmétique) de toutes les cellules qui répondent à plusieurs critères.
|
||||||
SUBTOTAL = SOUS.TOTAL ## Renvoie un sous-total dans une liste ou une base de données.
|
BETADIST = LOI.BETA ## Renvoie la fonction de distribution cumulée.
|
||||||
SUM = SOMME ## Calcule la somme de ses arguments.
|
BETAINV = BETA.INVERSE ## Renvoie l’inverse de la fonction de distribution cumulée pour une distribution bêta spécifiée.
|
||||||
SUMIF = SOMME.SI ## Additionne les cellules spécifiées si elles répondent à un critère donné.
|
BINOMDIST = LOI.BINOMIALE ## Renvoie la probabilité d’une variable aléatoire discrète suivant la loi binomiale.
|
||||||
SUMIFS = SOMME.SI.ENS ## Ajoute les cellules d’une plage qui répondent à plusieurs critères.
|
CHIDIST = LOI.KHIDEUX ## Renvoie la probabilité unilatérale de la distribution khi-deux.
|
||||||
SUMPRODUCT = SOMMEPROD ## Multiplie les valeurs correspondantes des matrices spécifiées et calcule la somme de ces produits.
|
CHIINV = KHIDEUX.INVERSE ## Renvoie l’inverse de la probabilité unilatérale de la distribution khi-deux.
|
||||||
SUMSQ = SOMME.CARRES ## Renvoie la somme des carrés des arguments.
|
CHITEST = TEST.KHIDEUX ## Renvoie le test d’indépendance.
|
||||||
SUMX2MY2 = SOMME.X2MY2 ## Renvoie la somme de la différence des carrés des valeurs correspondantes de deux matrices.
|
CONFIDENCE = INTERVALLE.CONFIANCE ## Renvoie l’intervalle de confiance pour une moyenne de population.
|
||||||
SUMX2PY2 = SOMME.X2PY2 ## Renvoie la somme de la somme des carrés des valeurs correspondantes de deux matrices.
|
CORREL = COEFFICIENT.CORRELATION ## Renvoie le coefficient de corrélation entre deux séries de données.
|
||||||
SUMXMY2 = SOMME.XMY2 ## Renvoie la somme des carrés des différences entre les valeurs correspondantes de deux matrices.
|
COUNT = NB ## Détermine les nombres compris dans la liste des arguments.
|
||||||
TAN = TAN ## Renvoie la tangente d’un nombre.
|
COUNTA = NBVAL ## Détermine le nombre de valeurs comprises dans la liste des arguments.
|
||||||
TANH = TANH ## Renvoie la tangente hyperbolique d’un nombre.
|
COUNTBLANK = NB.VIDE ## Compte le nombre de cellules vides dans une plage.
|
||||||
TRUNC = TRONQUE ## Renvoie la partie entière d’un nombre.
|
COUNTIF = NB.SI ## Compte le nombre de cellules qui répondent à un critère donné dans une plage.
|
||||||
|
COUNTIFS = NB.SI.ENS ## Compte le nombre de cellules à l’intérieur d’une plage qui répondent à plusieurs critères.
|
||||||
|
COVAR = COVARIANCE ## Renvoie la covariance, moyenne des produits des écarts pour chaque série d’observations.
|
||||||
##
|
CRITBINOM = CRITERE.LOI.BINOMIALE ## Renvoie la plus petite valeur pour laquelle la distribution binomiale cumulée est inférieure ou égale à une valeur de critère.
|
||||||
## Statistical functions Fonctions statistiques
|
DEVSQ = SOMME.CARRES.ECARTS ## Renvoie la somme des carrés des écarts.
|
||||||
##
|
EXPONDIST = LOI.EXPONENTIELLE ## Renvoie la distribution exponentielle.
|
||||||
AVEDEV = ECART.MOYEN ## Renvoie la moyenne des écarts absolus observés dans la moyenne des points de données.
|
FDIST = LOI.F ## Renvoie la distribution de probabilité F.
|
||||||
AVERAGE = MOYENNE ## Renvoie la moyenne de ses arguments.
|
FINV = INVERSE.LOI.F ## Renvoie l’inverse de la distribution de probabilité F.
|
||||||
AVERAGEA = AVERAGEA ## Renvoie la moyenne de ses arguments, nombres, texte et valeurs logiques inclus.
|
FISHER = FISHER ## Renvoie la transformation de Fisher.
|
||||||
AVERAGEIF = MOYENNE.SI ## Renvoie la moyenne (arithmétique) de toutes les cellules d’une plage qui répondent à des critères donnés.
|
FISHERINV = FISHER.INVERSE ## Renvoie l’inverse de la transformation de Fisher.
|
||||||
AVERAGEIFS = MOYENNE.SI.ENS ## Renvoie la moyenne (arithmétique) de toutes les cellules qui répondent à plusieurs critères.
|
FORECAST = PREVISION ## Calcule une valeur par rapport à une tendance linéaire.
|
||||||
BETADIST = LOI.BETA ## Renvoie la fonction de distribution cumulée.
|
FREQUENCY = FREQUENCE ## Calcule la fréquence d’apparition des valeurs dans une plage de valeurs, puis renvoie des nombres sous forme de matrice verticale.
|
||||||
BETAINV = BETA.INVERSE ## Renvoie l’inverse de la fonction de distribution cumulée pour une distribution bêta spécifiée.
|
FTEST = TEST.F ## Renvoie le résultat d’un test F.
|
||||||
BINOMDIST = LOI.BINOMIALE ## Renvoie la probabilité d’une variable aléatoire discrète suivant la loi binomiale.
|
GAMMADIST = LOI.GAMMA ## Renvoie la probabilité d’une variable aléatoire suivant une loi Gamma.
|
||||||
CHIDIST = LOI.KHIDEUX ## Renvoie la probabilité unilatérale de la distribution khi-deux.
|
GAMMAINV = LOI.GAMMA.INVERSE ## Renvoie, pour une probabilité donnée, la valeur d’une variable aléatoire suivant une loi Gamma.
|
||||||
CHIINV = KHIDEUX.INVERSE ## Renvoie l’inverse de la probabilité unilatérale de la distribution khi-deux.
|
GAMMALN = LNGAMMA ## Renvoie le logarithme népérien de la fonction Gamma, G(x)
|
||||||
CHITEST = TEST.KHIDEUX ## Renvoie le test d’indépendance.
|
GEOMEAN = MOYENNE.GEOMETRIQUE ## Renvoie la moyenne géométrique.
|
||||||
CONFIDENCE = INTERVALLE.CONFIANCE ## Renvoie l’intervalle de confiance pour une moyenne de population.
|
GROWTH = CROISSANCE ## Calcule des valeurs par rapport à une tendance exponentielle.
|
||||||
CORREL = COEFFICIENT.CORRELATION ## Renvoie le coefficient de corrélation entre deux séries de données.
|
HARMEAN = MOYENNE.HARMONIQUE ## Renvoie la moyenne harmonique.
|
||||||
COUNT = NB ## Détermine les nombres compris dans la liste des arguments.
|
HYPGEOMDIST = LOI.HYPERGEOMETRIQUE ## Renvoie la probabilité d’une variable aléatoire discrète suivant une loi hypergéométrique.
|
||||||
COUNTA = NBVAL ## Détermine le nombre de valeurs comprises dans la liste des arguments.
|
INTERCEPT = ORDONNEE.ORIGINE ## Renvoie l’ordonnée à l’origine d’une droite de régression linéaire.
|
||||||
COUNTBLANK = NB.VIDE ## Compte le nombre de cellules vides dans une plage.
|
KURT = KURTOSIS ## Renvoie le kurtosis d’une série de données.
|
||||||
COUNTIF = NB.SI ## Compte le nombre de cellules qui répondent à un critère donné dans une plage.
|
LARGE = GRANDE.VALEUR ## Renvoie la k-ième plus grande valeur d’une série de données.
|
||||||
COUNTIFS = NB.SI.ENS ## Compte le nombre de cellules à l’intérieur d’une plage qui répondent à plusieurs critères.
|
LINEST = DROITEREG ## Renvoie les paramètres d’une tendance linéaire.
|
||||||
COVAR = COVARIANCE ## Renvoie la covariance, moyenne des produits des écarts pour chaque série d’observations.
|
LOGEST = LOGREG ## Renvoie les paramètres d’une tendance exponentielle.
|
||||||
CRITBINOM = CRITERE.LOI.BINOMIALE ## Renvoie la plus petite valeur pour laquelle la distribution binomiale cumulée est inférieure ou égale à une valeur de critère.
|
LOGINV = LOI.LOGNORMALE.INVERSE ## Renvoie l’inverse de la probabilité pour une variable aléatoire suivant la loi lognormale.
|
||||||
DEVSQ = SOMME.CARRES.ECARTS ## Renvoie la somme des carrés des écarts.
|
LOGNORMDIST = LOI.LOGNORMALE ## Renvoie la probabilité d’une variable aléatoire continue suivant une loi lognormale.
|
||||||
EXPONDIST = LOI.EXPONENTIELLE ## Renvoie la distribution exponentielle.
|
MAX = MAX ## Renvoie la valeur maximale contenue dans une liste d’arguments.
|
||||||
FDIST = LOI.F ## Renvoie la distribution de probabilité F.
|
MAXA = MAXA ## Renvoie la valeur maximale d’une liste d’arguments, nombres, texte et valeurs logiques inclus.
|
||||||
FINV = INVERSE.LOI.F ## Renvoie l’inverse de la distribution de probabilité F.
|
MEDIAN = MEDIANE ## Renvoie la valeur médiane des nombres donnés.
|
||||||
FISHER = FISHER ## Renvoie la transformation de Fisher.
|
MIN = MIN ## Renvoie la valeur minimale contenue dans une liste d’arguments.
|
||||||
FISHERINV = FISHER.INVERSE ## Renvoie l’inverse de la transformation de Fisher.
|
MINA = MINA ## Renvoie la plus petite valeur d’une liste d’arguments, nombres, texte et valeurs logiques inclus.
|
||||||
FORECAST = PREVISION ## Calcule une valeur par rapport à une tendance linéaire.
|
MODE = MODE ## Renvoie la valeur la plus courante d’une série de données.
|
||||||
FREQUENCY = FREQUENCE ## Calcule la fréquence d’apparition des valeurs dans une plage de valeurs, puis renvoie des nombres sous forme de matrice verticale.
|
NEGBINOMDIST = LOI.BINOMIALE.NEG ## Renvoie la probabilité d’une variable aléatoire discrète suivant une loi binomiale négative.
|
||||||
FTEST = TEST.F ## Renvoie le résultat d’un test F.
|
NORMDIST = LOI.NORMALE ## Renvoie la probabilité d’une variable aléatoire continue suivant une loi normale.
|
||||||
GAMMADIST = LOI.GAMMA ## Renvoie la probabilité d’une variable aléatoire suivant une loi Gamma.
|
NORMINV = LOI.NORMALE.INVERSE ## Renvoie, pour une probabilité donnée, la valeur d’une variable aléatoire suivant une loi normale standard.
|
||||||
GAMMAINV = LOI.GAMMA.INVERSE ## Renvoie, pour une probabilité donnée, la valeur d’une variable aléatoire suivant une loi Gamma.
|
NORMSDIST = LOI.NORMALE.STANDARD ## Renvoie la probabilité d’une variable aléatoire continue suivant une loi normale standard.
|
||||||
GAMMALN = LNGAMMA ## Renvoie le logarithme népérien de la fonction Gamma, G(x)
|
NORMSINV = LOI.NORMALE.STANDARD.INVERSE ## Renvoie l’inverse de la distribution cumulée normale standard.
|
||||||
GEOMEAN = MOYENNE.GEOMETRIQUE ## Renvoie la moyenne géométrique.
|
PEARSON = PEARSON ## Renvoie le coefficient de corrélation d’échantillonnage de Pearson.
|
||||||
GROWTH = CROISSANCE ## Calcule des valeurs par rapport à une tendance exponentielle.
|
PERCENTILE = CENTILE ## Renvoie le k-ième centile des valeurs d’une plage.
|
||||||
HARMEAN = MOYENNE.HARMONIQUE ## Renvoie la moyenne harmonique.
|
PERCENTRANK = RANG.POURCENTAGE ## Renvoie le rang en pourcentage d’une valeur d’une série de données.
|
||||||
HYPGEOMDIST = LOI.HYPERGEOMETRIQUE ## Renvoie la probabilité d’une variable aléatoire discrète suivant une loi hypergéométrique.
|
PERMUT = PERMUTATION ## Renvoie le nombre de permutations pour un nombre donné d’objets.
|
||||||
INTERCEPT = ORDONNEE.ORIGINE ## Renvoie l’ordonnée à l’origine d’une droite de régression linéaire.
|
POISSON = LOI.POISSON ## Renvoie la probabilité d’une variable aléatoire suivant une loi de Poisson.
|
||||||
KURT = KURTOSIS ## Renvoie le kurtosis d’une série de données.
|
PROB = PROBABILITE ## Renvoie la probabilité que des valeurs d’une plage soient comprises entre deux limites.
|
||||||
LARGE = GRANDE.VALEUR ## Renvoie la k-ième plus grande valeur d’une série de données.
|
QUARTILE = QUARTILE ## Renvoie le quartile d’une série de données.
|
||||||
LINEST = DROITEREG ## Renvoie les paramètres d’une tendance linéaire.
|
RANK = RANG ## Renvoie le rang d’un nombre contenu dans une liste.
|
||||||
LOGEST = LOGREG ## Renvoie les paramètres d’une tendance exponentielle.
|
RSQ = COEFFICIENT.DETERMINATION ## Renvoie la valeur du coefficient de détermination R^2 d’une régression linéaire.
|
||||||
LOGINV = LOI.LOGNORMALE.INVERSE ## Renvoie l’inverse de la probabilité pour une variable aléatoire suivant la loi lognormale.
|
SKEW = COEFFICIENT.ASYMETRIE ## Renvoie l’asymétrie d’une distribution.
|
||||||
LOGNORMDIST = LOI.LOGNORMALE ## Renvoie la probabilité d’une variable aléatoire continue suivant une loi lognormale.
|
SLOPE = PENTE ## Renvoie la pente d’une droite de régression linéaire.
|
||||||
MAX = MAX ## Renvoie la valeur maximale contenue dans une liste d’arguments.
|
SMALL = PETITE.VALEUR ## Renvoie la k-ième plus petite valeur d’une série de données.
|
||||||
MAXA = MAXA ## Renvoie la valeur maximale d’une liste d’arguments, nombres, texte et valeurs logiques inclus.
|
STANDARDIZE = CENTREE.REDUITE ## Renvoie une valeur centrée réduite.
|
||||||
MEDIAN = MEDIANE ## Renvoie la valeur médiane des nombres donnés.
|
STDEV = ECARTYPE ## Évalue l’écart type d’une population en se basant sur un échantillon de cette population.
|
||||||
MIN = MIN ## Renvoie la valeur minimale contenue dans une liste d’arguments.
|
STDEVA = STDEVA ## Évalue l’écart type d’une population en se basant sur un échantillon de cette population, nombres, texte et valeurs logiques inclus.
|
||||||
MINA = MINA ## Renvoie la plus petite valeur d’une liste d’arguments, nombres, texte et valeurs logiques inclus.
|
STDEVP = ECARTYPEP ## Calcule l’écart type d’une population à partir de la population entière.
|
||||||
MODE = MODE ## Renvoie la valeur la plus courante d’une série de données.
|
STDEVPA = STDEVPA ## Calcule l’écart type d’une population à partir de l’ensemble de la population, nombres, texte et valeurs logiques inclus.
|
||||||
NEGBINOMDIST = LOI.BINOMIALE.NEG ## Renvoie la probabilité d’une variable aléatoire discrète suivant une loi binomiale négative.
|
STEYX = ERREUR.TYPE.XY ## Renvoie l’erreur type de la valeur y prévue pour chaque x de la régression.
|
||||||
NORMDIST = LOI.NORMALE ## Renvoie la probabilité d’une variable aléatoire continue suivant une loi normale.
|
TDIST = LOI.STUDENT ## Renvoie la probabilité d’une variable aléatoire suivant une loi T de Student.
|
||||||
NORMINV = LOI.NORMALE.INVERSE ## Renvoie, pour une probabilité donnée, la valeur d’une variable aléatoire suivant une loi normale standard.
|
TINV = LOI.STUDENT.INVERSE ## Renvoie, pour une probabilité donnée, la valeur d’une variable aléatoire suivant une loi T de Student.
|
||||||
NORMSDIST = LOI.NORMALE.STANDARD ## Renvoie la probabilité d’une variable aléatoire continue suivant une loi normale standard.
|
TREND = TENDANCE ## Renvoie des valeurs par rapport à une tendance linéaire.
|
||||||
NORMSINV = LOI.NORMALE.STANDARD.INVERSE ## Renvoie l’inverse de la distribution cumulée normale standard.
|
TRIMMEAN = MOYENNE.REDUITE ## Renvoie la moyenne de l’intérieur d’une série de données.
|
||||||
PEARSON = PEARSON ## Renvoie le coefficient de corrélation d’échantillonnage de Pearson.
|
TTEST = TEST.STUDENT ## Renvoie la probabilité associée à un test T de Student.
|
||||||
PERCENTILE = CENTILE ## Renvoie le k-ième centile des valeurs d’une plage.
|
VAR = VAR ## Calcule la variance sur la base d’un échantillon.
|
||||||
PERCENTRANK = RANG.POURCENTAGE ## Renvoie le rang en pourcentage d’une valeur d’une série de données.
|
VARA = VARA ## Estime la variance d’une population en se basant sur un échantillon de cette population, nombres, texte et valeurs logiques incluses.
|
||||||
PERMUT = PERMUTATION ## Renvoie le nombre de permutations pour un nombre donné d’objets.
|
VARP = VAR.P ## Calcule la variance sur la base de l’ensemble de la population.
|
||||||
POISSON = LOI.POISSON ## Renvoie la probabilité d’une variable aléatoire suivant une loi de Poisson.
|
VARPA = VARPA ## Calcule la variance d’une population en se basant sur la population entière, nombres, texte et valeurs logiques inclus.
|
||||||
PROB = PROBABILITE ## Renvoie la probabilité que des valeurs d’une plage soient comprises entre deux limites.
|
WEIBULL = LOI.WEIBULL ## Renvoie la probabilité d’une variable aléatoire suivant une loi de Weibull.
|
||||||
QUARTILE = QUARTILE ## Renvoie le quartile d’une série de données.
|
ZTEST = TEST.Z ## Renvoie la valeur de probabilité unilatérale d’un test z.
|
||||||
RANK = RANG ## Renvoie le rang d’un nombre contenu dans une liste.
|
|
||||||
RSQ = COEFFICIENT.DETERMINATION ## Renvoie la valeur du coefficient de détermination R^2 d’une régression linéaire.
|
|
||||||
SKEW = COEFFICIENT.ASYMETRIE ## Renvoie l’asymétrie d’une distribution.
|
##
|
||||||
SLOPE = PENTE ## Renvoie la pente d’une droite de régression linéaire.
|
## Text functions Fonctions de texte
|
||||||
SMALL = PETITE.VALEUR ## Renvoie la k-ième plus petite valeur d’une série de données.
|
##
|
||||||
STANDARDIZE = CENTREE.REDUITE ## Renvoie une valeur centrée réduite.
|
ASC = ASC ## Change les caractères anglais ou katakana à pleine chasse (codés sur deux octets) à l’intérieur d’une chaîne de caractères en caractères à demi-chasse (codés sur un octet).
|
||||||
STDEV = ECARTYPE ## Évalue l’écart type d’une population en se basant sur un échantillon de cette population.
|
BAHTTEXT = BAHTTEXT ## Convertit un nombre en texte en utilisant le format monétaire ß (baht).
|
||||||
STDEVA = STDEVA ## Évalue l’écart type d’une population en se basant sur un échantillon de cette population, nombres, texte et valeurs logiques inclus.
|
CHAR = CAR ## Renvoie le caractère spécifié par le code numérique.
|
||||||
STDEVP = ECARTYPEP ## Calcule l’écart type d’une population à partir de la population entière.
|
CLEAN = EPURAGE ## Supprime tous les caractères de contrôle du texte.
|
||||||
STDEVPA = STDEVPA ## Calcule l’écart type d’une population à partir de l’ensemble de la population, nombres, texte et valeurs logiques inclus.
|
CODE = CODE ## Renvoie le numéro de code du premier caractère du texte.
|
||||||
STEYX = ERREUR.TYPE.XY ## Renvoie l’erreur type de la valeur y prévue pour chaque x de la régression.
|
CONCATENATE = CONCATENER ## Assemble plusieurs éléments textuels de façon à n’en former qu’un seul.
|
||||||
TDIST = LOI.STUDENT ## Renvoie la probabilité d’une variable aléatoire suivant une loi T de Student.
|
DOLLAR = EURO ## Convertit un nombre en texte en utilisant le format monétaire € (euro).
|
||||||
TINV = LOI.STUDENT.INVERSE ## Renvoie, pour une probabilité donnée, la valeur d’une variable aléatoire suivant une loi T de Student.
|
EXACT = EXACT ## Vérifie si deux valeurs de texte sont identiques.
|
||||||
TREND = TENDANCE ## Renvoie des valeurs par rapport à une tendance linéaire.
|
FIND = TROUVE ## Trouve un valeur textuelle dans une autre, en respectant la casse.
|
||||||
TRIMMEAN = MOYENNE.REDUITE ## Renvoie la moyenne de l’intérieur d’une série de données.
|
FINDB = TROUVERB ## Trouve un valeur textuelle dans une autre, en respectant la casse.
|
||||||
TTEST = TEST.STUDENT ## Renvoie la probabilité associée à un test T de Student.
|
FIXED = CTXT ## Convertit un nombre au format texte avec un nombre de décimales spécifié.
|
||||||
VAR = VAR ## Calcule la variance sur la base d’un échantillon.
|
JIS = JIS ## Change les caractères anglais ou katakana à demi-chasse (codés sur un octet) à l’intérieur d’une chaîne de caractères en caractères à à pleine chasse (codés sur deux octets).
|
||||||
VARA = VARA ## Estime la variance d’une population en se basant sur un échantillon de cette population, nombres, texte et valeurs logiques incluses.
|
LEFT = GAUCHE ## Renvoie des caractères situés à l’extrême gauche d’une chaîne de caractères.
|
||||||
VARP = VAR.P ## Calcule la variance sur la base de l’ensemble de la population.
|
LEFTB = GAUCHEB ## Renvoie des caractères situés à l’extrême gauche d’une chaîne de caractères.
|
||||||
VARPA = VARPA ## Calcule la variance d’une population en se basant sur la population entière, nombres, texte et valeurs logiques inclus.
|
LEN = NBCAR ## Renvoie le nombre de caractères contenus dans une chaîne de texte.
|
||||||
WEIBULL = LOI.WEIBULL ## Renvoie la probabilité d’une variable aléatoire suivant une loi de Weibull.
|
LENB = LENB ## Renvoie le nombre de caractères contenus dans une chaîne de texte.
|
||||||
ZTEST = TEST.Z ## Renvoie la valeur de probabilité unilatérale d’un test z.
|
LOWER = MINUSCULE ## Convertit le texte en minuscules.
|
||||||
|
MID = STXT ## Renvoie un nombre déterminé de caractères d’une chaîne de texte à partir de la position que vous indiquez.
|
||||||
|
MIDB = STXTB ## Renvoie un nombre déterminé de caractères d’une chaîne de texte à partir de la position que vous indiquez.
|
||||||
##
|
PHONETIC = PHONETIQUE ## Extrait les caractères phonétiques (furigana) d’une chaîne de texte.
|
||||||
## Text functions Fonctions de texte
|
PROPER = NOMPROPRE ## Met en majuscules la première lettre de chaque mot dans une chaîne textuelle.
|
||||||
##
|
REPLACE = REMPLACER ## Remplace des caractères dans un texte.
|
||||||
ASC = ASC ## Change les caractères anglais ou katakana à pleine chasse (codés sur deux octets) à l’intérieur d’une chaîne de caractères en caractères à demi-chasse (codés sur un octet).
|
REPLACEB = REMPLACERB ## Remplace des caractères dans un texte.
|
||||||
BAHTTEXT = BAHTTEXT ## Convertit un nombre en texte en utilisant le format monétaire ß (baht).
|
REPT = REPT ## Répète un texte un certain nombre de fois.
|
||||||
CHAR = CAR ## Renvoie le caractère spécifié par le code numérique.
|
RIGHT = DROITE ## Renvoie des caractères situés à l’extrême droite d’une chaîne de caractères.
|
||||||
CLEAN = EPURAGE ## Supprime tous les caractères de contrôle du texte.
|
RIGHTB = DROITEB ## Renvoie des caractères situés à l’extrême droite d’une chaîne de caractères.
|
||||||
CODE = CODE ## Renvoie le numéro de code du premier caractère du texte.
|
SEARCH = CHERCHE ## Trouve un texte dans un autre texte (sans respecter la casse).
|
||||||
CONCATENATE = CONCATENER ## Assemble plusieurs éléments textuels de façon à n’en former qu’un seul.
|
SEARCHB = CHERCHERB ## Trouve un texte dans un autre texte (sans respecter la casse).
|
||||||
DOLLAR = EURO ## Convertit un nombre en texte en utilisant le format monétaire € (euro).
|
SUBSTITUTE = SUBSTITUE ## Remplace l’ancien texte d’une chaîne de caractères par un nouveau.
|
||||||
EXACT = EXACT ## Vérifie si deux valeurs de texte sont identiques.
|
T = T ## Convertit ses arguments en texte.
|
||||||
FIND = TROUVE ## Trouve un valeur textuelle dans une autre, en respectant la casse.
|
TEXT = TEXTE ## Convertit un nombre au format texte.
|
||||||
FINDB = TROUVERB ## Trouve un valeur textuelle dans une autre, en respectant la casse.
|
TRIM = SUPPRESPACE ## Supprime les espaces du texte.
|
||||||
FIXED = CTXT ## Convertit un nombre au format texte avec un nombre de décimales spécifié.
|
UPPER = MAJUSCULE ## Convertit le texte en majuscules.
|
||||||
JIS = JIS ## Change les caractères anglais ou katakana à demi-chasse (codés sur un octet) à l’intérieur d’une chaîne de caractères en caractères à à pleine chasse (codés sur deux octets).
|
VALUE = CNUM ## Convertit un argument textuel en nombre
|
||||||
LEFT = GAUCHE ## Renvoie des caractères situés à l’extrême gauche d’une chaîne de caractères.
|
|
||||||
LEFTB = GAUCHEB ## Renvoie des caractères situés à l’extrême gauche d’une chaîne de caractères.
|
|
||||||
LEN = NBCAR ## Renvoie le nombre de caractères contenus dans une chaîne de texte.
|
|
||||||
LENB = LENB ## Renvoie le nombre de caractères contenus dans une chaîne de texte.
|
|
||||||
LOWER = MINUSCULE ## Convertit le texte en minuscules.
|
|
||||||
MID = STXT ## Renvoie un nombre déterminé de caractères d’une chaîne de texte à partir de la position que vous indiquez.
|
|
||||||
MIDB = STXTB ## Renvoie un nombre déterminé de caractères d’une chaîne de texte à partir de la position que vous indiquez.
|
|
||||||
PHONETIC = PHONETIQUE ## Extrait les caractères phonétiques (furigana) d’une chaîne de texte.
|
|
||||||
PROPER = NOMPROPRE ## Met en majuscules la première lettre de chaque mot dans une chaîne textuelle.
|
|
||||||
REPLACE = REMPLACER ## Remplace des caractères dans un texte.
|
|
||||||
REPLACEB = REMPLACERB ## Remplace des caractères dans un texte.
|
|
||||||
REPT = REPT ## Répète un texte un certain nombre de fois.
|
|
||||||
RIGHT = DROITE ## Renvoie des caractères situés à l’extrême droite d’une chaîne de caractères.
|
|
||||||
RIGHTB = DROITEB ## Renvoie des caractères situés à l’extrême droite d’une chaîne de caractères.
|
|
||||||
SEARCH = CHERCHE ## Trouve un texte dans un autre texte (sans respecter la casse).
|
|
||||||
SEARCHB = CHERCHERB ## Trouve un texte dans un autre texte (sans respecter la casse).
|
|
||||||
SUBSTITUTE = SUBSTITUE ## Remplace l’ancien texte d’une chaîne de caractères par un nouveau.
|
|
||||||
T = T ## Convertit ses arguments en texte.
|
|
||||||
TEXT = TEXTE ## Convertit un nombre au format texte.
|
|
||||||
TRIM = SUPPRESPACE ## Supprime les espaces du texte.
|
|
||||||
UPPER = MAJUSCULE ## Convertit le texte en majuscules.
|
|
||||||
VALUE = CNUM ## Convertit un argument textuel en nombre
|
|
||||||
23
PhpOffice/PhpSpreadsheet/Calculation/locale/hu/config
Normal file
23
PhpOffice/PhpSpreadsheet/Calculation/locale/hu/config
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
##
|
||||||
|
## PhpSpreadsheet
|
||||||
|
##
|
||||||
|
|
||||||
|
ArgumentSeparator = ;
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## (For future use)
|
||||||
|
##
|
||||||
|
currencySymbol = Ft
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## Excel Error Codes (For future use)
|
||||||
|
##
|
||||||
|
NULL = #NULLA!
|
||||||
|
DIV0 = #ZÉRÓOSZTÓ!
|
||||||
|
VALUE = #ÉRTÉK!
|
||||||
|
REF = #HIV!
|
||||||
|
NAME = #NÉV?
|
||||||
|
NUM = #SZÁM!
|
||||||
|
NA = #HIÁNYZIK
|
||||||
|
|
@ -1,438 +1,416 @@
|
||||||
##
|
##
|
||||||
## PHPExcel
|
## PhpSpreadsheet
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Data in this file derived from https://www.excel-function-translation.com/
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
##
|
||||||
## modify it under the terms of the GNU Lesser General Public
|
|
||||||
## License as published by the Free Software Foundation; either
|
|
||||||
## version 2.1 of the License, or (at your option) any later version.
|
##
|
||||||
##
|
## Add-in and Automation functions Bővítmények és automatizálási függvények
|
||||||
## This library is distributed in the hope that it will be useful,
|
##
|
||||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
GETPIVOTDATA = KIMUTATÁSADATOT.VESZ ## A kimutatásokban tárolt adatok visszaadására használható.
|
||||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
## Lesser General Public License for more details.
|
|
||||||
##
|
##
|
||||||
## You should have received a copy of the GNU Lesser General Public
|
## Cube functions Kockafüggvények
|
||||||
## License along with this library; if not, write to the Free Software
|
##
|
||||||
## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
CUBEKPIMEMBER = KOCKA.FŐTELJMUT ## Egy fő teljesítménymutató (KPI) nevét, tulajdonságát és mértékegységét adja eredményül, a nevet és a tulajdonságot megjeleníti a cellában. A KPI-k számszerűsíthető mérési lehetőséget jelentenek – ilyen mutató például a havi bruttó nyereség vagy az egy alkalmazottra jutó negyedéves forgalom –, egy szervezet teljesítményének nyomonkövetésére használhatók.
|
||||||
##
|
CUBEMEMBER = KOCKA.TAG ## Kockahierachia tagját vagy rekordját adja eredményül. Ellenőrizhető vele, hogy szerepel-e a kockában az adott tag vagy rekord.
|
||||||
## @category PHPExcel
|
CUBEMEMBERPROPERTY = KOCKA.TAG.TUL ## A kocka egyik tagtulajdonságának értékét adja eredményül. Használatával ellenőrizhető, hogy szerepel-e egy tagnév a kockában, eredménye pedig az erre a tagra vonatkozó, megadott tulajdonság.
|
||||||
## @package PHPExcel_Calculation
|
CUBERANKEDMEMBER = KOCKA.HALM.ELEM ## Egy halmaz rangsor szerinti n-edik tagját adja eredményül. Használatával egy halmaz egy vagy több elemét kaphatja meg, például a legnagyobb teljesítményű üzletkötőt vagy a 10 legjobb tanulót.
|
||||||
## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
CUBESET = KOCKA.HALM ## Számított tagok vagy rekordok halmazát adja eredményül, ehhez egy beállított kifejezést elküld a kiszolgálón található kockának, majd ezt a halmazt adja vissza a Microsoft Office Excel alkalmazásnak.
|
||||||
## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
CUBESETCOUNT = KOCKA.HALM.DB ## Egy halmaz elemszámát adja eredményül.
|
||||||
## @version ##VERSION##, ##DATE##
|
CUBEVALUE = KOCKA.ÉRTÉK ## Kockából összesített értéket ad eredményül.
|
||||||
##
|
|
||||||
## Data in this file derived from http://www.piuha.fi/excel-function-name-translation/
|
|
||||||
##
|
##
|
||||||
##
|
## Database functions Adatbázis-kezelő függvények
|
||||||
|
##
|
||||||
|
DAVERAGE = AB.ÁTLAG ## A kijelölt adatbáziselemek átlagát számítja ki.
|
||||||
##
|
DCOUNT = AB.DARAB ## Megszámolja, hogy az adatbázisban hány cella tartalmaz számokat.
|
||||||
## Add-in and Automation functions Bővítmények és automatizálási függvények
|
DCOUNTA = AB.DARAB2 ## Megszámolja az adatbázisban lévő nem üres cellákat.
|
||||||
##
|
DGET = AB.MEZŐ ## Egy adatbázisból egyetlen olyan rekordot ad vissza, amely megfelel a megadott feltételeknek.
|
||||||
GETPIVOTDATA = KIMUTATÁSADATOT.VESZ ## A kimutatásokban tárolt adatok visszaadására használható.
|
DMAX = AB.MAX ## A kiválasztott adatbáziselemek közül a legnagyobb értéket adja eredményül.
|
||||||
|
DMIN = AB.MIN ## A kijelölt adatbáziselemek közül a legkisebb értéket adja eredményül.
|
||||||
|
DPRODUCT = AB.SZORZAT ## Az adatbázis megadott feltételeknek eleget tevő rekordjaira összeszorozza a megadott mezőben található számértékeket, és eredményül ezt a szorzatot adja.
|
||||||
##
|
DSTDEV = AB.SZÓRÁS ## A kijelölt adatbáziselemek egy mintája alapján megbecsüli a szórást.
|
||||||
## Cube functions Kockafüggvények
|
DSTDEVP = AB.SZÓRÁS2 ## A kijelölt adatbáziselemek teljes sokasága alapján kiszámítja a szórást.
|
||||||
##
|
DSUM = AB.SZUM ## Összeadja a feltételnek megfelelő adatbázisrekordok mezőoszlopában a számokat.
|
||||||
CUBEKPIMEMBER = KOCKA.FŐTELJMUT ## Egy fő teljesítménymutató (KPI) nevét, tulajdonságát és mértékegységét adja eredményül, a nevet és a tulajdonságot megjeleníti a cellában. A KPI-k számszerűsíthető mérési lehetőséget jelentenek – ilyen mutató például a havi bruttó nyereség vagy az egy alkalmazottra jutó negyedéves forgalom –, egy szervezet teljesítményének nyomonkövetésére használhatók.
|
DVAR = AB.VAR ## A kijelölt adatbáziselemek mintája alapján becslést ad a szórásnégyzetre.
|
||||||
CUBEMEMBER = KOCKA.TAG ## Kockahierachia tagját vagy rekordját adja eredményül. Ellenőrizhető vele, hogy szerepel-e a kockában az adott tag vagy rekord.
|
DVARP = AB.VAR2 ## A kijelölt adatbáziselemek teljes sokasága alapján kiszámítja a szórásnégyzetet.
|
||||||
CUBEMEMBERPROPERTY = KOCKA.TAG.TUL ## A kocka egyik tagtulajdonságának értékét adja eredményül. Használatával ellenőrizhető, hogy szerepel-e egy tagnév a kockában, eredménye pedig az erre a tagra vonatkozó, megadott tulajdonság.
|
|
||||||
CUBERANKEDMEMBER = KOCKA.HALM.ELEM ## Egy halmaz rangsor szerinti n-edik tagját adja eredményül. Használatával egy halmaz egy vagy több elemét kaphatja meg, például a legnagyobb teljesítményű üzletkötőt vagy a 10 legjobb tanulót.
|
|
||||||
CUBESET = KOCKA.HALM ## Számított tagok vagy rekordok halmazát adja eredményül, ehhez egy beállított kifejezést elküld a kiszolgálón található kockának, majd ezt a halmazt adja vissza a Microsoft Office Excel alkalmazásnak.
|
##
|
||||||
CUBESETCOUNT = KOCKA.HALM.DB ## Egy halmaz elemszámát adja eredményül.
|
## Date and time functions Dátumfüggvények
|
||||||
CUBEVALUE = KOCKA.ÉRTÉK ## Kockából összesített értéket ad eredményül.
|
##
|
||||||
|
DATE = DÁTUM ## Adott dátum dátumértékét adja eredményül.
|
||||||
|
DATEVALUE = DÁTUMÉRTÉK ## Szövegként megadott dátumot dátumértékké alakít át.
|
||||||
##
|
DAY = NAP ## Dátumértéket a hónap egy napjává (0-31) alakít.
|
||||||
## Database functions Adatbázis-kezelő függvények
|
DAYS360 = NAP360 ## Két dátum közé eső napok számát számítja ki a 360 napos év alapján.
|
||||||
##
|
EDATE = EDATE ## Adott dátumnál adott számú hónappal korábbi vagy későbbi dátum dátumértékét adja eredményül.
|
||||||
DAVERAGE = AB.ÁTLAG ## A kijelölt adatbáziselemek átlagát számítja ki.
|
EOMONTH = EOMONTH ## Adott dátumnál adott számú hónappal korábbi vagy későbbi hónap utolsó napjának dátumértékét adja eredményül.
|
||||||
DCOUNT = AB.DARAB ## Megszámolja, hogy az adatbázisban hány cella tartalmaz számokat.
|
HOUR = ÓRA ## Időértéket órákká alakít.
|
||||||
DCOUNTA = AB.DARAB2 ## Megszámolja az adatbázisban lévő nem üres cellákat.
|
MINUTE = PERC ## Időértéket percekké alakít.
|
||||||
DGET = AB.MEZŐ ## Egy adatbázisból egyetlen olyan rekordot ad vissza, amely megfelel a megadott feltételeknek.
|
MONTH = HÓNAP ## Időértéket hónapokká alakít.
|
||||||
DMAX = AB.MAX ## A kiválasztott adatbáziselemek közül a legnagyobb értéket adja eredményül.
|
NETWORKDAYS = NETWORKDAYS ## Két dátum között a teljes munkanapok számát adja meg.
|
||||||
DMIN = AB.MIN ## A kijelölt adatbáziselemek közül a legkisebb értéket adja eredményül.
|
NOW = MOST ## A napi dátum dátumértékét és a pontos idő időértékét adja eredményül.
|
||||||
DPRODUCT = AB.SZORZAT ## Az adatbázis megadott feltételeknek eleget tevő rekordjaira összeszorozza a megadott mezőben található számértékeket, és eredményül ezt a szorzatot adja.
|
SECOND = MPERC ## Időértéket másodpercekké alakít át.
|
||||||
DSTDEV = AB.SZÓRÁS ## A kijelölt adatbáziselemek egy mintája alapján megbecsüli a szórást.
|
TIME = IDŐ ## Adott időpont időértékét adja meg.
|
||||||
DSTDEVP = AB.SZÓRÁS2 ## A kijelölt adatbáziselemek teljes sokasága alapján kiszámítja a szórást.
|
TIMEVALUE = IDŐÉRTÉK ## Szövegként megadott időpontot időértékké alakít át.
|
||||||
DSUM = AB.SZUM ## Összeadja a feltételnek megfelelő adatbázisrekordok mezőoszlopában a számokat.
|
TODAY = MA ## A napi dátum dátumértékét adja eredményül.
|
||||||
DVAR = AB.VAR ## A kijelölt adatbáziselemek mintája alapján becslést ad a szórásnégyzetre.
|
WEEKDAY = HÉT.NAPJA ## Dátumértéket a hét napjává alakítja át.
|
||||||
DVARP = AB.VAR2 ## A kijelölt adatbáziselemek teljes sokasága alapján kiszámítja a szórásnégyzetet.
|
WEEKNUM = WEEKNUM ## Visszatérési értéke egy szám, amely azt mutatja meg, hogy a megadott dátum az év hányadik hetére esik.
|
||||||
|
WORKDAY = WORKDAY ## Adott dátumnál adott munkanappal korábbi vagy későbbi dátum dátumértékét adja eredményül.
|
||||||
|
YEAR = ÉV ## Sorszámot évvé alakít át.
|
||||||
##
|
YEARFRAC = YEARFRAC ## Az adott dátumok közötti teljes napok számát törtévként adja meg.
|
||||||
## Date and time functions Dátumfüggvények
|
|
||||||
##
|
|
||||||
DATE = DÁTUM ## Adott dátum dátumértékét adja eredményül.
|
##
|
||||||
DATEVALUE = DÁTUMÉRTÉK ## Szövegként megadott dátumot dátumértékké alakít át.
|
## Engineering functions Mérnöki függvények
|
||||||
DAY = NAP ## Dátumértéket a hónap egy napjává (0-31) alakít.
|
##
|
||||||
DAYS360 = NAP360 ## Két dátum közé eső napok számát számítja ki a 360 napos év alapján.
|
BESSELI = BESSELI ## Az In(x) módosított Bessel-függvény értékét adja eredményül.
|
||||||
EDATE = EDATE ## Adott dátumnál adott számú hónappal korábbi vagy későbbi dátum dátumértékét adja eredményül.
|
BESSELJ = BESSELJ ## A Jn(x) Bessel-függvény értékét adja eredményül.
|
||||||
EOMONTH = EOMONTH ## Adott dátumnál adott számú hónappal korábbi vagy későbbi hónap utolsó napjának dátumértékét adja eredményül.
|
BESSELK = BESSELK ## A Kn(x) módosított Bessel-függvény értékét adja eredményül.
|
||||||
HOUR = ÓRA ## Időértéket órákká alakít.
|
BESSELY = BESSELY ## Az Yn(x) módosított Bessel-függvény értékét adja eredményül.
|
||||||
MINUTE = PERC ## Időértéket percekké alakít.
|
BIN2DEC = BIN2DEC ## Bináris számot decimálissá alakít át.
|
||||||
MONTH = HÓNAP ## Időértéket hónapokká alakít.
|
BIN2HEX = BIN2HEX ## Bináris számot hexadecimálissá alakít át.
|
||||||
NETWORKDAYS = NETWORKDAYS ## Két dátum között a teljes munkanapok számát adja meg.
|
BIN2OCT = BIN2OCT ## Bináris számot oktálissá alakít át.
|
||||||
NOW = MOST ## A napi dátum dátumértékét és a pontos idő időértékét adja eredményül.
|
COMPLEX = COMPLEX ## Valós és képzetes részből komplex számot képez.
|
||||||
SECOND = MPERC ## Időértéket másodpercekké alakít át.
|
CONVERT = CONVERT ## Mértékegységeket vált át.
|
||||||
TIME = IDŐ ## Adott időpont időértékét adja meg.
|
DEC2BIN = DEC2BIN ## Decimális számot binárissá alakít át.
|
||||||
TIMEVALUE = IDŐÉRTÉK ## Szövegként megadott időpontot időértékké alakít át.
|
DEC2HEX = DEC2HEX ## Decimális számot hexadecimálissá alakít át.
|
||||||
TODAY = MA ## A napi dátum dátumértékét adja eredményül.
|
DEC2OCT = DEC2OCT ## Decimális számot oktálissá alakít át.
|
||||||
WEEKDAY = HÉT.NAPJA ## Dátumértéket a hét napjává alakítja át.
|
DELTA = DELTA ## Azt vizsgálja, hogy két érték egyenlő-e.
|
||||||
WEEKNUM = WEEKNUM ## Visszatérési értéke egy szám, amely azt mutatja meg, hogy a megadott dátum az év hányadik hetére esik.
|
ERF = ERF ## A hibafüggvény értékét adja eredményül.
|
||||||
WORKDAY = WORKDAY ## Adott dátumnál adott munkanappal korábbi vagy későbbi dátum dátumértékét adja eredményül.
|
ERFC = ERFC ## A kiegészített hibafüggvény értékét adja eredményül.
|
||||||
YEAR = ÉV ## Sorszámot évvé alakít át.
|
GESTEP = GESTEP ## Azt vizsgálja, hogy egy szám nagyobb-e adott küszöbértéknél.
|
||||||
YEARFRAC = YEARFRAC ## Az adott dátumok közötti teljes napok számát törtévként adja meg.
|
HEX2BIN = HEX2BIN ## Hexadecimális számot binárissá alakít át.
|
||||||
|
HEX2DEC = HEX2DEC ## Hexadecimális számot decimálissá alakít át.
|
||||||
|
HEX2OCT = HEX2OCT ## Hexadecimális számot oktálissá alakít át.
|
||||||
##
|
IMABS = IMABS ## Komplex szám abszolút értékét (modulusát) adja eredményül.
|
||||||
## Engineering functions Mérnöki függvények
|
IMAGINARY = IMAGINARY ## Komplex szám képzetes részét adja eredményül.
|
||||||
##
|
IMARGUMENT = IMARGUMENT ## A komplex szám radiánban kifejezett théta argumentumát adja eredményül.
|
||||||
BESSELI = BESSELI ## Az In(x) módosított Bessel-függvény értékét adja eredményül.
|
IMCONJUGATE = IMCONJUGATE ## Komplex szám komplex konjugáltját adja eredményül.
|
||||||
BESSELJ = BESSELJ ## A Jn(x) Bessel-függvény értékét adja eredményül.
|
IMCOS = IMCOS ## Komplex szám koszinuszát adja eredményül.
|
||||||
BESSELK = BESSELK ## A Kn(x) módosított Bessel-függvény értékét adja eredményül.
|
IMDIV = IMDIV ## Két komplex szám hányadosát adja eredményül.
|
||||||
BESSELY = BESSELY ## Az Yn(x) módosított Bessel-függvény értékét adja eredményül.
|
IMEXP = IMEXP ## Az e szám komplex kitevőjű hatványát adja eredményül.
|
||||||
BIN2DEC = BIN2DEC ## Bináris számot decimálissá alakít át.
|
IMLN = IMLN ## Komplex szám természetes logaritmusát adja eredményül.
|
||||||
BIN2HEX = BIN2HEX ## Bináris számot hexadecimálissá alakít át.
|
IMLOG10 = IMLOG10 ## Komplex szám tízes alapú logaritmusát adja eredményül.
|
||||||
BIN2OCT = BIN2OCT ## Bináris számot oktálissá alakít át.
|
IMLOG2 = IMLOG2 ## Komplex szám kettes alapú logaritmusát adja eredményül.
|
||||||
COMPLEX = COMPLEX ## Valós és képzetes részből komplex számot képez.
|
IMPOWER = IMPOWER ## Komplex szám hatványát adja eredményül.
|
||||||
CONVERT = CONVERT ## Mértékegységeket vált át.
|
IMPRODUCT = IMPRODUCT ## Komplex számok szorzatát adja eredményül.
|
||||||
DEC2BIN = DEC2BIN ## Decimális számot binárissá alakít át.
|
IMREAL = IMREAL ## Komplex szám valós részét adja eredményül.
|
||||||
DEC2HEX = DEC2HEX ## Decimális számot hexadecimálissá alakít át.
|
IMSIN = IMSIN ## Komplex szám szinuszát adja eredményül.
|
||||||
DEC2OCT = DEC2OCT ## Decimális számot oktálissá alakít át.
|
IMSQRT = IMSQRT ## Komplex szám négyzetgyökét adja eredményül.
|
||||||
DELTA = DELTA ## Azt vizsgálja, hogy két érték egyenlő-e.
|
IMSUB = IMSUB ## Két komplex szám különbségét adja eredményül.
|
||||||
ERF = ERF ## A hibafüggvény értékét adja eredményül.
|
IMSUM = IMSUM ## Komplex számok összegét adja eredményül.
|
||||||
ERFC = ERFC ## A kiegészített hibafüggvény értékét adja eredményül.
|
OCT2BIN = OCT2BIN ## Oktális számot binárissá alakít át.
|
||||||
GESTEP = GESTEP ## Azt vizsgálja, hogy egy szám nagyobb-e adott küszöbértéknél.
|
OCT2DEC = OCT2DEC ## Oktális számot decimálissá alakít át.
|
||||||
HEX2BIN = HEX2BIN ## Hexadecimális számot binárissá alakít át.
|
OCT2HEX = OCT2HEX ## Oktális számot hexadecimálissá alakít át.
|
||||||
HEX2DEC = HEX2DEC ## Hexadecimális számot decimálissá alakít át.
|
|
||||||
HEX2OCT = HEX2OCT ## Hexadecimális számot oktálissá alakít át.
|
|
||||||
IMABS = IMABS ## Komplex szám abszolút értékét (modulusát) adja eredményül.
|
##
|
||||||
IMAGINARY = IMAGINARY ## Komplex szám képzetes részét adja eredményül.
|
## Financial functions Pénzügyi függvények
|
||||||
IMARGUMENT = IMARGUMENT ## A komplex szám radiánban kifejezett théta argumentumát adja eredményül.
|
##
|
||||||
IMCONJUGATE = IMCONJUGATE ## Komplex szám komplex konjugáltját adja eredményül.
|
ACCRINT = ACCRINT ## Periodikusan kamatozó értékpapír felszaporodott kamatát adja eredményül.
|
||||||
IMCOS = IMCOS ## Komplex szám koszinuszát adja eredményül.
|
ACCRINTM = ACCRINTM ## Lejáratkor kamatozó értékpapír felszaporodott kamatát adja eredményül.
|
||||||
IMDIV = IMDIV ## Két komplex szám hányadosát adja eredményül.
|
AMORDEGRC = AMORDEGRC ## Állóeszköz lineáris értékcsökkenését adja meg az egyes könyvelési időszakokra vonatkozóan.
|
||||||
IMEXP = IMEXP ## Az e szám komplex kitevőjű hatványát adja eredményül.
|
AMORLINC = AMORLINC ## Az egyes könyvelési időszakokban az értékcsökkenést adja meg.
|
||||||
IMLN = IMLN ## Komplex szám természetes logaritmusát adja eredményül.
|
COUPDAYBS = COUPDAYBS ## A szelvényidőszak kezdetétől a kifizetés időpontjáig eltelt napokat adja vissza.
|
||||||
IMLOG10 = IMLOG10 ## Komplex szám tízes alapú logaritmusát adja eredményül.
|
COUPDAYS = COUPDAYS ## A kifizetés időpontját magában foglaló szelvényperiódus hosszát adja meg napokban.
|
||||||
IMLOG2 = IMLOG2 ## Komplex szám kettes alapú logaritmusát adja eredményül.
|
COUPDAYSNC = COUPDAYSNC ## A kifizetés időpontja és a legközelebbi szelvénydátum közötti napok számát adja meg.
|
||||||
IMPOWER = IMPOWER ## Komplex szám hatványát adja eredményül.
|
COUPNCD = COUPNCD ## A kifizetést követő legelső szelvénydátumot adja eredményül.
|
||||||
IMPRODUCT = IMPRODUCT ## Komplex számok szorzatát adja eredményül.
|
COUPNUM = COUPNUM ## A kifizetés és a lejárat időpontja között kifizetendő szelvények számát adja eredményül.
|
||||||
IMREAL = IMREAL ## Komplex szám valós részét adja eredményül.
|
COUPPCD = COUPPCD ## A kifizetés előtti utolsó szelvénydátumot adja eredményül.
|
||||||
IMSIN = IMSIN ## Komplex szám szinuszát adja eredményül.
|
CUMIPMT = CUMIPMT ## Két fizetési időszak között kifizetett kamat halmozott értékét adja eredményül.
|
||||||
IMSQRT = IMSQRT ## Komplex szám négyzetgyökét adja eredményül.
|
CUMPRINC = CUMPRINC ## Két fizetési időszak között kifizetett részletek halmozott (kamatot nem tartalmazó) értékét adja eredményül.
|
||||||
IMSUB = IMSUB ## Két komplex szám különbségét adja eredményül.
|
DB = KCS2 ## Eszköz adott időszak alatti értékcsökkenését számítja ki a lineáris leírási modell alkalmazásával.
|
||||||
IMSUM = IMSUM ## Komplex számok összegét adja eredményül.
|
DDB = KCSA ## Eszköz értékcsökkenését számítja ki adott időszakra vonatkozóan a progresszív vagy egyéb megadott leírási modell alkalmazásával.
|
||||||
OCT2BIN = OCT2BIN ## Oktális számot binárissá alakít át.
|
DISC = DISC ## Értékpapír leszámítolási kamatlábát adja eredményül.
|
||||||
OCT2DEC = OCT2DEC ## Oktális számot decimálissá alakít át.
|
DOLLARDE = DOLLARDE ## Egy közönséges törtként megadott számot tizedes törtté alakít át.
|
||||||
OCT2HEX = OCT2HEX ## Oktális számot hexadecimálissá alakít át.
|
DOLLARFR = DOLLARFR ## Tizedes törtként megadott számot közönséges törtté alakít át.
|
||||||
|
DURATION = DURATION ## Periodikus kamatfizetésű értékpapír éves kamatérzékenységét adja eredményül.
|
||||||
|
EFFECT = EFFECT ## Az éves tényleges kamatláb értékét adja eredményül.
|
||||||
##
|
FV = JBÉ ## Befektetés jövőbeli értékét számítja ki.
|
||||||
## Financial functions Pénzügyi függvények
|
FVSCHEDULE = FVSCHEDULE ## A kezdőtőke adott kamatlábak szerint megnövelt jövőbeli értékét adja eredményül.
|
||||||
##
|
INTRATE = INTRATE ## A lejáratig teljesen lekötött értékpapír kamatrátáját adja eredményül.
|
||||||
ACCRINT = ACCRINT ## Periodikusan kamatozó értékpapír felszaporodott kamatát adja eredményül.
|
IPMT = RRÉSZLET ## Hiteltörlesztésen belül a tőketörlesztés nagyságát számítja ki adott időszakra.
|
||||||
ACCRINTM = ACCRINTM ## Lejáratkor kamatozó értékpapír felszaporodott kamatát adja eredményül.
|
IRR = BMR ## A befektetés belső megtérülési rátáját számítja ki pénzáramláshoz.
|
||||||
AMORDEGRC = AMORDEGRC ## Állóeszköz lineáris értékcsökkenését adja meg az egyes könyvelési időszakokra vonatkozóan.
|
ISPMT = LRÉSZLETKAMAT ## A befektetés adott időszakára fizetett kamatot számítja ki.
|
||||||
AMORLINC = AMORLINC ## Az egyes könyvelési időszakokban az értékcsökkenést adja meg.
|
MDURATION = MDURATION ## Egy 100 Ft névértékű értékpapír Macauley-féle módosított kamatérzékenységét adja eredményül.
|
||||||
COUPDAYBS = COUPDAYBS ## A szelvényidőszak kezdetétől a kifizetés időpontjáig eltelt napokat adja vissza.
|
MIRR = MEGTÉRÜLÉS ## A befektetés belső megtérülési rátáját számítja ki a költségek és a bevételek különböző kamatlába mellett.
|
||||||
COUPDAYS = COUPDAYS ## A kifizetés időpontját magában foglaló szelvényperiódus hosszát adja meg napokban.
|
NOMINAL = NOMINAL ## Az éves névleges kamatláb értékét adja eredményül.
|
||||||
COUPDAYSNC = COUPDAYSNC ## A kifizetés időpontja és a legközelebbi szelvénydátum közötti napok számát adja meg.
|
NPER = PER.SZÁM ## A törlesztési időszakok számát adja meg.
|
||||||
COUPNCD = COUPNCD ## A kifizetést követő legelső szelvénydátumot adja eredményül.
|
NPV = NMÉ ## Befektetéshez kapcsolódó pénzáramlás nettó jelenértékét számítja ki ismert pénzáramlás és kamatláb mellett.
|
||||||
COUPNUM = COUPNUM ## A kifizetés és a lejárat időpontja között kifizetendő szelvények számát adja eredményül.
|
ODDFPRICE = ODDFPRICE ## Egy 100 Ft névértékű, a futamidő elején töredék-időszakos értékpapír árát adja eredményül.
|
||||||
COUPPCD = COUPPCD ## A kifizetés előtti utolsó szelvénydátumot adja eredményül.
|
ODDFYIELD = ODDFYIELD ## A futamidő elején töredék-időszakos értékpapír hozamát adja eredményül.
|
||||||
CUMIPMT = CUMIPMT ## Két fizetési időszak között kifizetett kamat halmozott értékét adja eredményül.
|
ODDLPRICE = ODDLPRICE ## Egy 100 Ft névértékű, a futamidő végén töredék-időszakos értékpapír árát adja eredményül.
|
||||||
CUMPRINC = CUMPRINC ## Két fizetési időszak között kifizetett részletek halmozott (kamatot nem tartalmazó) értékét adja eredményül.
|
ODDLYIELD = ODDLYIELD ## A futamidő végén töredék-időszakos értékpapír hozamát adja eredményül.
|
||||||
DB = KCS2 ## Eszköz adott időszak alatti értékcsökkenését számítja ki a lineáris leírási modell alkalmazásával.
|
PMT = RÉSZLET ## A törlesztési időszakra vonatkozó törlesztési összeget számítja ki.
|
||||||
DDB = KCSA ## Eszköz értékcsökkenését számítja ki adott időszakra vonatkozóan a progresszív vagy egyéb megadott leírási modell alkalmazásával.
|
PPMT = PRÉSZLET ## Hiteltörlesztésen belül a tőketörlesztés nagyságát számítja ki adott időszakra.
|
||||||
DISC = DISC ## Értékpapír leszámítolási kamatlábát adja eredményül.
|
PRICE = PRICE ## Egy 100 Ft névértékű, periodikusan kamatozó értékpapír árát adja eredményül.
|
||||||
DOLLARDE = DOLLARDE ## Egy közönséges törtként megadott számot tizedes törtté alakít át.
|
PRICEDISC = PRICEDISC ## Egy 100 Ft névértékű leszámítolt értékpapír árát adja eredményül.
|
||||||
DOLLARFR = DOLLARFR ## Tizedes törtként megadott számot közönséges törtté alakít át.
|
PRICEMAT = PRICEMAT ## Egy 100 Ft névértékű, a lejáratkor kamatozó értékpapír árát adja eredményül.
|
||||||
DURATION = DURATION ## Periodikus kamatfizetésű értékpapír éves kamatérzékenységét adja eredményül.
|
PV = MÉ ## Befektetés jelenlegi értékét számítja ki.
|
||||||
EFFECT = EFFECT ## Az éves tényleges kamatláb értékét adja eredményül.
|
RATE = RÁTA ## Egy törlesztési időszakban az egy időszakra eső kamatláb nagyságát számítja ki.
|
||||||
FV = JBÉ ## Befektetés jövőbeli értékét számítja ki.
|
RECEIVED = RECEIVED ## A lejáratig teljesen lekötött értékpapír lejáratakor kapott összegét adja eredményül.
|
||||||
FVSCHEDULE = FVSCHEDULE ## A kezdőtőke adott kamatlábak szerint megnövelt jövőbeli értékét adja eredményül.
|
SLN = LCSA ## Tárgyi eszköz egy időszakra eső amortizációját adja meg bruttó érték szerinti lineáris leírási kulcsot alkalmazva.
|
||||||
INTRATE = INTRATE ## A lejáratig teljesen lekötött értékpapír kamatrátáját adja eredményül.
|
SYD = SYD ## Tárgyi eszköz értékcsökkenését számítja ki adott időszakra az évek számjegyösszegével dolgozó módszer alapján.
|
||||||
IPMT = RRÉSZLET ## Hiteltörlesztésen belül a tőketörlesztés nagyságát számítja ki adott időszakra.
|
TBILLEQ = TBILLEQ ## Kincstárjegy kötvény-egyenértékű hozamát adja eredményül.
|
||||||
IRR = BMR ## A befektetés belső megtérülési rátáját számítja ki pénzáramláshoz.
|
TBILLPRICE = TBILLPRICE ## Egy 100 Ft névértékű kincstárjegy árát adja eredményül.
|
||||||
ISPMT = LRÉSZLETKAMAT ## A befektetés adott időszakára fizetett kamatot számítja ki.
|
TBILLYIELD = TBILLYIELD ## Kincstárjegy hozamát adja eredményül.
|
||||||
MDURATION = MDURATION ## Egy 100 Ft névértékű értékpapír Macauley-féle módosított kamatérzékenységét adja eredményül.
|
VDB = ÉCSRI ## Tárgyi eszköz amortizációját számítja ki megadott vagy részidőszakra a csökkenő egyenleg módszerének alkalmazásával.
|
||||||
MIRR = MEGTÉRÜLÉS ## A befektetés belső megtérülési rátáját számítja ki a költségek és a bevételek különböző kamatlába mellett.
|
XIRR = XIRR ## Ütemezett készpénzforgalom (cash flow) belső megtérülési kamatrátáját adja eredményül.
|
||||||
NOMINAL = NOMINAL ## Az éves névleges kamatláb értékét adja eredményül.
|
XNPV = XNPV ## Ütemezett készpénzforgalom (cash flow) nettó jelenlegi értékét adja eredményül.
|
||||||
NPER = PER.SZÁM ## A törlesztési időszakok számát adja meg.
|
YIELD = YIELD ## Periodikusan kamatozó értékpapír hozamát adja eredményül.
|
||||||
NPV = NMÉ ## Befektetéshez kapcsolódó pénzáramlás nettó jelenértékét számítja ki ismert pénzáramlás és kamatláb mellett.
|
YIELDDISC = YIELDDISC ## Leszámítolt értékpapír (például kincstárjegy) éves hozamát adja eredményül.
|
||||||
ODDFPRICE = ODDFPRICE ## Egy 100 Ft névértékű, a futamidő elején töredék-időszakos értékpapír árát adja eredményül.
|
YIELDMAT = YIELDMAT ## Lejáratkor kamatozó értékpapír éves hozamát adja eredményül.
|
||||||
ODDFYIELD = ODDFYIELD ## A futamidő elején töredék-időszakos értékpapír hozamát adja eredményül.
|
|
||||||
ODDLPRICE = ODDLPRICE ## Egy 100 Ft névértékű, a futamidő végén töredék-időszakos értékpapír árát adja eredményül.
|
|
||||||
ODDLYIELD = ODDLYIELD ## A futamidő végén töredék-időszakos értékpapír hozamát adja eredményül.
|
##
|
||||||
PMT = RÉSZLET ## A törlesztési időszakra vonatkozó törlesztési összeget számítja ki.
|
## Information functions Információs függvények
|
||||||
PPMT = PRÉSZLET ## Hiteltörlesztésen belül a tőketörlesztés nagyságát számítja ki adott időszakra.
|
##
|
||||||
PRICE = PRICE ## Egy 100 Ft névértékű, periodikusan kamatozó értékpapír árát adja eredményül.
|
CELL = CELLA ## Egy cella formátumára, elhelyezkedésére vagy tartalmára vonatkozó adatokat ad eredményül.
|
||||||
PRICEDISC = PRICEDISC ## Egy 100 Ft névértékű leszámítolt értékpapír árát adja eredményül.
|
ERROR.TYPE = HIBA.TÍPUS ## Egy hibatípushoz tartozó számot ad eredményül.
|
||||||
PRICEMAT = PRICEMAT ## Egy 100 Ft névértékű, a lejáratkor kamatozó értékpapír árát adja eredményül.
|
INFO = INFÓ ## A rendszer- és munkakörnyezet pillanatnyi állapotáról ad felvilágosítást.
|
||||||
PV = MÉ ## Befektetés jelenlegi értékét számítja ki.
|
ISBLANK = ÜRES ## Eredménye IGAZ, ha az érték üres.
|
||||||
RATE = RÁTA ## Egy törlesztési időszakban az egy időszakra eső kamatláb nagyságát számítja ki.
|
ISERR = HIBA ## Eredménye IGAZ, ha az érték valamelyik hibaérték a #HIÁNYZIK kivételével.
|
||||||
RECEIVED = RECEIVED ## A lejáratig teljesen lekötött értékpapír lejáratakor kapott összegét adja eredményül.
|
ISERROR = HIBÁS ## Eredménye IGAZ, ha az érték valamelyik hibaérték.
|
||||||
SLN = LCSA ## Tárgyi eszköz egy időszakra eső amortizációját adja meg bruttó érték szerinti lineáris leírási kulcsot alkalmazva.
|
ISEVEN = ISEVEN ## Eredménye IGAZ, ha argumentuma páros szám.
|
||||||
SYD = SYD ## Tárgyi eszköz értékcsökkenését számítja ki adott időszakra az évek számjegyösszegével dolgozó módszer alapján.
|
ISLOGICAL = LOGIKAI ## Eredménye IGAZ, ha az érték logikai érték.
|
||||||
TBILLEQ = TBILLEQ ## Kincstárjegy kötvény-egyenértékű hozamát adja eredményül.
|
ISNA = NINCS ## Eredménye IGAZ, ha az érték a #HIÁNYZIK hibaérték.
|
||||||
TBILLPRICE = TBILLPRICE ## Egy 100 Ft névértékű kincstárjegy árát adja eredményül.
|
ISNONTEXT = NEM.SZÖVEG ## Eredménye IGAZ, ha az érték nem szöveg.
|
||||||
TBILLYIELD = TBILLYIELD ## Kincstárjegy hozamát adja eredményül.
|
ISNUMBER = SZÁM ## Eredménye IGAZ, ha az érték szám.
|
||||||
VDB = ÉCSRI ## Tárgyi eszköz amortizációját számítja ki megadott vagy részidőszakra a csökkenő egyenleg módszerének alkalmazásával.
|
ISODD = ISODD ## Eredménye IGAZ, ha argumentuma páratlan szám.
|
||||||
XIRR = XIRR ## Ütemezett készpénzforgalom (cash flow) belső megtérülési kamatrátáját adja eredményül.
|
ISREF = HIVATKOZÁS ## Eredménye IGAZ, ha az érték hivatkozás.
|
||||||
XNPV = XNPV ## Ütemezett készpénzforgalom (cash flow) nettó jelenlegi értékét adja eredményül.
|
ISTEXT = SZÖVEG.E ## Eredménye IGAZ, ha az érték szöveg.
|
||||||
YIELD = YIELD ## Periodikusan kamatozó értékpapír hozamát adja eredményül.
|
N = N ## Argumentumának értékét számmá alakítja.
|
||||||
YIELDDISC = YIELDDISC ## Leszámítolt értékpapír (például kincstárjegy) éves hozamát adja eredményül.
|
NA = HIÁNYZIK ## Eredménye a #HIÁNYZIK hibaérték.
|
||||||
YIELDMAT = YIELDMAT ## Lejáratkor kamatozó értékpapír éves hozamát adja eredményül.
|
TYPE = TÍPUS ## Érték adattípusának azonosítószámát adja eredményül.
|
||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Information functions Információs függvények
|
## Logical functions Logikai függvények
|
||||||
##
|
##
|
||||||
CELL = CELLA ## Egy cella formátumára, elhelyezkedésére vagy tartalmára vonatkozó adatokat ad eredményül.
|
AND = ÉS ## Eredménye IGAZ, ha minden argumentuma IGAZ.
|
||||||
ERROR.TYPE = HIBA.TÍPUS ## Egy hibatípushoz tartozó számot ad eredményül.
|
FALSE = HAMIS ## A HAMIS logikai értéket adja eredményül.
|
||||||
INFO = INFÓ ## A rendszer- és munkakörnyezet pillanatnyi állapotáról ad felvilágosítást.
|
IF = HA ## Logikai vizsgálatot hajt végre.
|
||||||
ISBLANK = ÜRES ## Eredménye IGAZ, ha az érték üres.
|
IFERROR = HAHIBA ## A megadott értéket adja vissza, ha egy képlet hibához vezet; más esetben a képlet értékét adja eredményül.
|
||||||
ISERR = HIBA ## Eredménye IGAZ, ha az érték valamelyik hibaérték a #HIÁNYZIK kivételével.
|
NOT = NEM ## Argumentuma értékének ellentettjét adja eredményül.
|
||||||
ISERROR = HIBÁS ## Eredménye IGAZ, ha az érték valamelyik hibaérték.
|
OR = VAGY ## Eredménye IGAZ, ha bármely argumentuma IGAZ.
|
||||||
ISEVEN = ISEVEN ## Eredménye IGAZ, ha argumentuma páros szám.
|
TRUE = IGAZ ## Az IGAZ logikai értéket adja eredményül.
|
||||||
ISLOGICAL = LOGIKAI ## Eredménye IGAZ, ha az érték logikai érték.
|
|
||||||
ISNA = NINCS ## Eredménye IGAZ, ha az érték a #HIÁNYZIK hibaérték.
|
|
||||||
ISNONTEXT = NEM.SZÖVEG ## Eredménye IGAZ, ha az érték nem szöveg.
|
##
|
||||||
ISNUMBER = SZÁM ## Eredménye IGAZ, ha az érték szám.
|
## Lookup and reference functions Keresési és hivatkozási függvények
|
||||||
ISODD = ISODD ## Eredménye IGAZ, ha argumentuma páratlan szám.
|
##
|
||||||
ISREF = HIVATKOZÁS ## Eredménye IGAZ, ha az érték hivatkozás.
|
ADDRESS = CÍM ## A munkalap egy cellájára való hivatkozást adja szövegként eredményül.
|
||||||
ISTEXT = SZÖVEG.E ## Eredménye IGAZ, ha az érték szöveg.
|
AREAS = TERÜLET ## Hivatkozásban a területek számát adja eredményül.
|
||||||
N = N ## Argumentumának értékét számmá alakítja.
|
CHOOSE = VÁLASZT ## Értékek listájából választ ki egy elemet.
|
||||||
NA = HIÁNYZIK ## Eredménye a #HIÁNYZIK hibaérték.
|
COLUMN = OSZLOP ## Egy hivatkozás oszlopszámát adja eredményül.
|
||||||
TYPE = TÍPUS ## Érték adattípusának azonosítószámát adja eredményül.
|
COLUMNS = OSZLOPOK ## A hivatkozásban található oszlopok számát adja eredményül.
|
||||||
|
HLOOKUP = VKERES ## A megadott tömb felső sorában adott értékű elemet keres, és a megtalált elem oszlopából adott sorban elhelyezkedő értékkel tér vissza.
|
||||||
|
HYPERLINK = HIPERHIVATKOZÁS ## Hálózati kiszolgálón, intraneten vagy az interneten tárolt dokumentumot megnyitó parancsikont vagy hivatkozást hoz létre.
|
||||||
##
|
INDEX = INDEX ## Tömb- vagy hivatkozás indexszel megadott értékét adja vissza.
|
||||||
## Logical functions Logikai függvények
|
INDIRECT = INDIREKT ## Szöveg megadott hivatkozást ad eredményül.
|
||||||
##
|
LOOKUP = KERES ## Vektorban vagy tömbben keres meg értékeket.
|
||||||
AND = ÉS ## Eredménye IGAZ, ha minden argumentuma IGAZ.
|
MATCH = HOL.VAN ## Hivatkozásban vagy tömbben értékeket keres.
|
||||||
FALSE = HAMIS ## A HAMIS logikai értéket adja eredményül.
|
OFFSET = OFSZET ## Hivatkozás egy másik hivatkozástól számított távolságát adja meg.
|
||||||
IF = HA ## Logikai vizsgálatot hajt végre.
|
ROW = SOR ## Egy hivatkozás sorának számát adja meg.
|
||||||
IFERROR = HAHIBA ## A megadott értéket adja vissza, ha egy képlet hibához vezet; más esetben a képlet értékét adja eredményül.
|
ROWS = SOROK ## Egy hivatkozás sorainak számát adja meg.
|
||||||
NOT = NEM ## Argumentuma értékének ellentettjét adja eredményül.
|
RTD = RTD ## Valós idejű adatokat keres vissza a COM automatizmust (automatizálás: Egy alkalmazás objektumaival való munka másik alkalmazásból vagy fejlesztőeszközből. A korábban OLE automatizmusnak nevezett automatizálás iparági szabvány, a Component Object Model (COM) szolgáltatása.) támogató programból.
|
||||||
OR = VAGY ## Eredménye IGAZ, ha bármely argumentuma IGAZ.
|
TRANSPOSE = TRANSZPONÁLÁS ## Egy tömb transzponáltját adja eredményül.
|
||||||
TRUE = IGAZ ## Az IGAZ logikai értéket adja eredményül.
|
VLOOKUP = FKERES ## A megadott tömb bal szélső oszlopában megkeres egy értéket, majd annak sora és a megadott oszlop metszéspontjában levő értéked adja eredményül.
|
||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Lookup and reference functions Keresési és hivatkozási függvények
|
## Math and trigonometry functions Matematikai és trigonometrikus függvények
|
||||||
##
|
##
|
||||||
ADDRESS = CÍM ## A munkalap egy cellájára való hivatkozást adja szövegként eredményül.
|
ABS = ABS ## Egy szám abszolút értékét adja eredményül.
|
||||||
AREAS = TERÜLET ## Hivatkozásban a területek számát adja eredményül.
|
ACOS = ARCCOS ## Egy szám arkusz koszinuszát számítja ki.
|
||||||
CHOOSE = VÁLASZT ## Értékek listájából választ ki egy elemet.
|
ACOSH = ACOSH ## Egy szám inverz koszinusz hiperbolikuszát számítja ki.
|
||||||
COLUMN = OSZLOP ## Egy hivatkozás oszlopszámát adja eredményül.
|
ASIN = ARCSIN ## Egy szám arkusz szinuszát számítja ki.
|
||||||
COLUMNS = OSZLOPOK ## A hivatkozásban található oszlopok számát adja eredményül.
|
ASINH = ASINH ## Egy szám inverz szinusz hiperbolikuszát számítja ki.
|
||||||
HLOOKUP = VKERES ## A megadott tömb felső sorában adott értékű elemet keres, és a megtalált elem oszlopából adott sorban elhelyezkedő értékkel tér vissza.
|
ATAN = ARCTAN ## Egy szám arkusz tangensét számítja ki.
|
||||||
HYPERLINK = HIPERHIVATKOZÁS ## Hálózati kiszolgálón, intraneten vagy az interneten tárolt dokumentumot megnyitó parancsikont vagy hivatkozást hoz létre.
|
ATAN2 = ARCTAN2 ## X és y koordináták alapján számítja ki az arkusz tangens értéket.
|
||||||
INDEX = INDEX ## Tömb- vagy hivatkozás indexszel megadott értékét adja vissza.
|
ATANH = ATANH ## A szám inverz tangens hiperbolikuszát számítja ki.
|
||||||
INDIRECT = INDIREKT ## Szöveg megadott hivatkozást ad eredményül.
|
CEILING = PLAFON ## Egy számot a legközelebbi egészre vagy a pontosságként megadott érték legközelebb eső többszörösére kerekít.
|
||||||
LOOKUP = KERES ## Vektorban vagy tömbben keres meg értékeket.
|
COMBIN = KOMBINÁCIÓK ## Adott számú objektum összes lehetséges kombinációinak számát számítja ki.
|
||||||
MATCH = HOL.VAN ## Hivatkozásban vagy tömbben értékeket keres.
|
COS = COS ## Egy szám koszinuszát számítja ki.
|
||||||
OFFSET = OFSZET ## Hivatkozás egy másik hivatkozástól számított távolságát adja meg.
|
COSH = COSH ## Egy szám koszinusz hiperbolikuszát számítja ki.
|
||||||
ROW = SOR ## Egy hivatkozás sorának számát adja meg.
|
DEGREES = FOK ## Radiánt fokká alakít át.
|
||||||
ROWS = SOROK ## Egy hivatkozás sorainak számát adja meg.
|
EVEN = PÁROS ## Egy számot a legközelebbi páros egész számra kerekít.
|
||||||
RTD = RTD ## Valós idejű adatokat keres vissza a COM automatizmust (automatizálás: Egy alkalmazás objektumaival való munka másik alkalmazásból vagy fejlesztőeszközből. A korábban OLE automatizmusnak nevezett automatizálás iparági szabvány, a Component Object Model (COM) szolgáltatása.) támogató programból.
|
EXP = KITEVŐ ## Az e adott kitevőjű hatványát adja eredményül.
|
||||||
TRANSPOSE = TRANSZPONÁLÁS ## Egy tömb transzponáltját adja eredményül.
|
FACT = FAKT ## Egy szám faktoriálisát számítja ki.
|
||||||
VLOOKUP = FKERES ## A megadott tömb bal szélső oszlopában megkeres egy értéket, majd annak sora és a megadott oszlop metszéspontjában levő értéked adja eredményül.
|
FACTDOUBLE = FACTDOUBLE ## Egy szám dupla faktoriálisát adja eredményül.
|
||||||
|
FLOOR = PADLÓ ## Egy számot lefelé, a nulla felé kerekít.
|
||||||
|
GCD = GCD ## A legnagyobb közös osztót adja eredményül.
|
||||||
##
|
INT = INT ## Egy számot lefelé kerekít a legközelebbi egészre.
|
||||||
## Math and trigonometry functions Matematikai és trigonometrikus függvények
|
LCM = LCM ## A legkisebb közös többszöröst adja eredményül.
|
||||||
##
|
LN = LN ## Egy szám természetes logaritmusát számítja ki.
|
||||||
ABS = ABS ## Egy szám abszolút értékét adja eredményül.
|
LOG = LOG ## Egy szám adott alapú logaritmusát számítja ki.
|
||||||
ACOS = ARCCOS ## Egy szám arkusz koszinuszát számítja ki.
|
LOG10 = LOG10 ## Egy szám 10-es alapú logaritmusát számítja ki.
|
||||||
ACOSH = ACOSH ## Egy szám inverz koszinusz hiperbolikuszát számítja ki.
|
MDETERM = MDETERM ## Egy tömb mátrix-determinánsát számítja ki.
|
||||||
ASIN = ARCSIN ## Egy szám arkusz szinuszát számítja ki.
|
MINVERSE = INVERZ.MÁTRIX ## Egy tömb mátrix inverzét adja eredményül.
|
||||||
ASINH = ASINH ## Egy szám inverz szinusz hiperbolikuszát számítja ki.
|
MMULT = MSZORZAT ## Két tömb mátrix-szorzatát adja meg.
|
||||||
ATAN = ARCTAN ## Egy szám arkusz tangensét számítja ki.
|
MOD = MARADÉK ## Egy szám osztási maradékát adja eredményül.
|
||||||
ATAN2 = ARCTAN2 ## X és y koordináták alapján számítja ki az arkusz tangens értéket.
|
MROUND = MROUND ## A kívánt többszörösére kerekített értéket ad eredményül.
|
||||||
ATANH = ATANH ## A szám inverz tangens hiperbolikuszát számítja ki.
|
MULTINOMIAL = MULTINOMIAL ## Számhalmaz multinomiálisát adja eredményül.
|
||||||
CEILING = PLAFON ## Egy számot a legközelebbi egészre vagy a pontosságként megadott érték legközelebb eső többszörösére kerekít.
|
ODD = PÁRATLAN ## Egy számot a legközelebbi páratlan számra kerekít.
|
||||||
COMBIN = KOMBINÁCIÓK ## Adott számú objektum összes lehetséges kombinációinak számát számítja ki.
|
PI = PI ## A pi matematikai állandót adja vissza.
|
||||||
COS = COS ## Egy szám koszinuszát számítja ki.
|
POWER = HATVÁNY ## Egy szám adott kitevőjű hatványát számítja ki.
|
||||||
COSH = COSH ## Egy szám koszinusz hiperbolikuszát számítja ki.
|
PRODUCT = SZORZAT ## Argumentumai szorzatát számítja ki.
|
||||||
DEGREES = FOK ## Radiánt fokká alakít át.
|
QUOTIENT = QUOTIENT ## Egy hányados egész részét adja eredményül.
|
||||||
EVEN = PÁROS ## Egy számot a legközelebbi páros egész számra kerekít.
|
RADIANS = RADIÁN ## Fokot radiánná alakít át.
|
||||||
EXP = KITEVŐ ## Az e adott kitevőjű hatványát adja eredményül.
|
RAND = VÉL ## Egy 0 és 1 közötti véletlen számot ad eredményül.
|
||||||
FACT = FAKT ## Egy szám faktoriálisát számítja ki.
|
RANDBETWEEN = RANDBETWEEN ## Megadott számok közé eső véletlen számot állít elő.
|
||||||
FACTDOUBLE = FACTDOUBLE ## Egy szám dupla faktoriálisát adja eredményül.
|
ROMAN = RÓMAI ## Egy számot római számokkal kifejezve szövegként ad eredményül.
|
||||||
FLOOR = PADLÓ ## Egy számot lefelé, a nulla felé kerekít.
|
ROUND = KEREKÍTÉS ## Egy számot adott számú számjegyre kerekít.
|
||||||
GCD = GCD ## A legnagyobb közös osztót adja eredményül.
|
ROUNDDOWN = KEREKÍTÉS.LE ## Egy számot lefelé, a nulla felé kerekít.
|
||||||
INT = INT ## Egy számot lefelé kerekít a legközelebbi egészre.
|
ROUNDUP = KEREKÍTÉS.FEL ## Egy számot felfelé, a nullától távolabbra kerekít.
|
||||||
LCM = LCM ## A legkisebb közös többszöröst adja eredményül.
|
SERIESSUM = SERIESSUM ## Hatványsor összegét adja eredményül.
|
||||||
LN = LN ## Egy szám természetes logaritmusát számítja ki.
|
SIGN = ELŐJEL ## Egy szám előjelét adja meg.
|
||||||
LOG = LOG ## Egy szám adott alapú logaritmusát számítja ki.
|
SIN = SIN ## Egy szög szinuszát számítja ki.
|
||||||
LOG10 = LOG10 ## Egy szám 10-es alapú logaritmusát számítja ki.
|
SINH = SINH ## Egy szám szinusz hiperbolikuszát számítja ki.
|
||||||
MDETERM = MDETERM ## Egy tömb mátrix-determinánsát számítja ki.
|
SQRT = GYÖK ## Egy szám pozitív négyzetgyökét számítja ki.
|
||||||
MINVERSE = INVERZ.MÁTRIX ## Egy tömb mátrix inverzét adja eredményül.
|
SQRTPI = SQRTPI ## A (szám*pi) négyzetgyökét adja eredményül.
|
||||||
MMULT = MSZORZAT ## Két tömb mátrix-szorzatát adja meg.
|
SUBTOTAL = RÉSZÖSSZEG ## Lista vagy adatbázis részösszegét adja eredményül.
|
||||||
MOD = MARADÉK ## Egy szám osztási maradékát adja eredményül.
|
SUM = SZUM ## Összeadja az argumentumlistájában lévő számokat.
|
||||||
MROUND = MROUND ## A kívánt többszörösére kerekített értéket ad eredményül.
|
SUMIF = SZUMHA ## A megadott feltételeknek eleget tevő cellákban található értékeket adja össze.
|
||||||
MULTINOMIAL = MULTINOMIAL ## Számhalmaz multinomiálisát adja eredményül.
|
SUMIFS = SZUMHATÖBB ## Több megadott feltételnek eleget tévő tartománycellák összegét adja eredményül.
|
||||||
ODD = PÁRATLAN ## Egy számot a legközelebbi páratlan számra kerekít.
|
SUMPRODUCT = SZORZATÖSSZEG ## A megfelelő tömbelemek szorzatának összegét számítja ki.
|
||||||
PI = PI ## A pi matematikai állandót adja vissza.
|
SUMSQ = NÉGYZETÖSSZEG ## Argumentumai négyzetének összegét számítja ki.
|
||||||
POWER = HATVÁNY ## Egy szám adott kitevőjű hatványát számítja ki.
|
SUMX2MY2 = SZUMX2BŐLY2 ## Két tömb megfelelő elemei négyzetének különbségét összegzi.
|
||||||
PRODUCT = SZORZAT ## Argumentumai szorzatát számítja ki.
|
SUMX2PY2 = SZUMX2MEGY2 ## Két tömb megfelelő elemei négyzetének összegét összegzi.
|
||||||
QUOTIENT = QUOTIENT ## Egy hányados egész részét adja eredményül.
|
SUMXMY2 = SZUMXBŐLY2 ## Két tömb megfelelő elemei különbségének négyzetösszegét számítja ki.
|
||||||
RADIANS = RADIÁN ## Fokot radiánná alakít át.
|
TAN = TAN ## Egy szám tangensét számítja ki.
|
||||||
RAND = VÉL ## Egy 0 és 1 közötti véletlen számot ad eredményül.
|
TANH = TANH ## Egy szám tangens hiperbolikuszát számítja ki.
|
||||||
RANDBETWEEN = RANDBETWEEN ## Megadott számok közé eső véletlen számot állít elő.
|
TRUNC = CSONK ## Egy számot egésszé csonkít.
|
||||||
ROMAN = RÓMAI ## Egy számot római számokkal kifejezve szövegként ad eredményül.
|
|
||||||
ROUND = KEREKÍTÉS ## Egy számot adott számú számjegyre kerekít.
|
|
||||||
ROUNDDOWN = KEREKÍTÉS.LE ## Egy számot lefelé, a nulla felé kerekít.
|
##
|
||||||
ROUNDUP = KEREKÍTÉS.FEL ## Egy számot felfelé, a nullától távolabbra kerekít.
|
## Statistical functions Statisztikai függvények
|
||||||
SERIESSUM = SERIESSUM ## Hatványsor összegét adja eredményül.
|
##
|
||||||
SIGN = ELŐJEL ## Egy szám előjelét adja meg.
|
AVEDEV = ÁTL.ELTÉRÉS ## Az adatpontoknak átlaguktól való átlagos abszolút eltérését számítja ki.
|
||||||
SIN = SIN ## Egy szög szinuszát számítja ki.
|
AVERAGE = ÁTLAG ## Argumentumai átlagát számítja ki.
|
||||||
SINH = SINH ## Egy szám szinusz hiperbolikuszát számítja ki.
|
AVERAGEA = ÁTLAGA ## Argumentumai átlagát számítja ki (beleértve a számokat, szöveget és logikai értékeket).
|
||||||
SQRT = GYÖK ## Egy szám pozitív négyzetgyökét számítja ki.
|
AVERAGEIF = ÁTLAGHA ## A megadott feltételnek eleget tévő tartomány celláinak átlagát (számtani közepét) adja eredményül.
|
||||||
SQRTPI = SQRTPI ## A (szám*pi) négyzetgyökét adja eredményül.
|
AVERAGEIFS = ÁTLAGHATÖBB ## A megadott feltételeknek eleget tévő cellák átlagát (számtani közepét) adja eredményül.
|
||||||
SUBTOTAL = RÉSZÖSSZEG ## Lista vagy adatbázis részösszegét adja eredményül.
|
BETADIST = BÉTA.ELOSZLÁS ## A béta-eloszlás függvényt számítja ki.
|
||||||
SUM = SZUM ## Összeadja az argumentumlistájában lévő számokat.
|
BETAINV = INVERZ.BÉTA ## Adott béta-eloszláshoz kiszámítja a béta eloszlásfüggvény inverzét.
|
||||||
SUMIF = SZUMHA ## A megadott feltételeknek eleget tevő cellákban található értékeket adja össze.
|
BINOMDIST = BINOM.ELOSZLÁS ## A diszkrét binomiális eloszlás valószínűségértékét számítja ki.
|
||||||
SUMIFS = SZUMHATÖBB ## Több megadott feltételnek eleget tévő tartománycellák összegét adja eredményül.
|
CHIDIST = KHI.ELOSZLÁS ## A khi-négyzet-eloszlás egyszélű valószínűségértékét számítja ki.
|
||||||
SUMPRODUCT = SZORZATÖSSZEG ## A megfelelő tömbelemek szorzatának összegét számítja ki.
|
CHIINV = INVERZ.KHI ## A khi-négyzet-eloszlás egyszélű valószínűségértékének inverzét számítja ki.
|
||||||
SUMSQ = NÉGYZETÖSSZEG ## Argumentumai négyzetének összegét számítja ki.
|
CHITEST = KHI.PRÓBA ## Függetlenségvizsgálatot hajt végre.
|
||||||
SUMX2MY2 = SZUMX2BŐLY2 ## Két tömb megfelelő elemei négyzetének különbségét összegzi.
|
CONFIDENCE = MEGBÍZHATÓSÁG ## Egy statisztikai sokaság várható értékének megbízhatósági intervallumát adja eredményül.
|
||||||
SUMX2PY2 = SZUMX2MEGY2 ## Két tömb megfelelő elemei négyzetének összegét összegzi.
|
CORREL = KORREL ## Két adathalmaz korrelációs együtthatóját számítja ki.
|
||||||
SUMXMY2 = SZUMXBŐLY2 ## Két tömb megfelelő elemei különbségének négyzetösszegét számítja ki.
|
COUNT = DARAB ## Megszámolja, hogy argumentumlistájában hány szám található.
|
||||||
TAN = TAN ## Egy szám tangensét számítja ki.
|
COUNTA = DARAB2 ## Megszámolja, hogy argumentumlistájában hány érték található.
|
||||||
TANH = TANH ## Egy szám tangens hiperbolikuszát számítja ki.
|
COUNTBLANK = DARABÜRES ## Egy tartományban összeszámolja az üres cellákat.
|
||||||
TRUNC = CSONK ## Egy számot egésszé csonkít.
|
COUNTIF = DARABTELI ## Egy tartományban összeszámolja azokat a cellákat, amelyek eleget tesznek a megadott feltételnek.
|
||||||
|
COUNTIFS = DARABHATÖBB ## Egy tartományban összeszámolja azokat a cellákat, amelyek eleget tesznek több feltételnek.
|
||||||
|
COVAR = KOVAR ## A kovarianciát, azaz a páronkénti eltérések szorzatának átlagát számítja ki.
|
||||||
##
|
CRITBINOM = KRITBINOM ## Azt a legkisebb számot adja eredményül, amelyre a binomiális eloszlásfüggvény értéke nem kisebb egy adott határértéknél.
|
||||||
## Statistical functions Statisztikai függvények
|
DEVSQ = SQ ## Az átlagtól való eltérések négyzetének összegét számítja ki.
|
||||||
##
|
EXPONDIST = EXP.ELOSZLÁS ## Az exponenciális eloszlás értékét számítja ki.
|
||||||
AVEDEV = ÁTL.ELTÉRÉS ## Az adatpontoknak átlaguktól való átlagos abszolút eltérését számítja ki.
|
FDIST = F.ELOSZLÁS ## Az F-eloszlás értékét számítja ki.
|
||||||
AVERAGE = ÁTLAG ## Argumentumai átlagát számítja ki.
|
FINV = INVERZ.F ## Az F-eloszlás inverzének értékét számítja ki.
|
||||||
AVERAGEA = ÁTLAGA ## Argumentumai átlagát számítja ki (beleértve a számokat, szöveget és logikai értékeket).
|
FISHER = FISHER ## Fisher-transzformációt hajt végre.
|
||||||
AVERAGEIF = ÁTLAGHA ## A megadott feltételnek eleget tévő tartomány celláinak átlagát (számtani közepét) adja eredményül.
|
FISHERINV = INVERZ.FISHER ## A Fisher-transzformáció inverzét hajtja végre.
|
||||||
AVERAGEIFS = ÁTLAGHATÖBB ## A megadott feltételeknek eleget tévő cellák átlagát (számtani közepét) adja eredményül.
|
FORECAST = ELŐREJELZÉS ## Az ismert értékek alapján lineáris regresszióval becsült értéket ad eredményül.
|
||||||
BETADIST = BÉTA.ELOSZLÁS ## A béta-eloszlás függvényt számítja ki.
|
FREQUENCY = GYAKORISÁG ## A gyakorisági vagy empirikus eloszlás értékét függőleges tömbként adja eredményül.
|
||||||
BETAINV = INVERZ.BÉTA ## Adott béta-eloszláshoz kiszámítja a béta eloszlásfüggvény inverzét.
|
FTEST = F.PRÓBA ## Az F-próba értékét adja eredményül.
|
||||||
BINOMDIST = BINOM.ELOSZLÁS ## A diszkrét binomiális eloszlás valószínűségértékét számítja ki.
|
GAMMADIST = GAMMA.ELOSZLÁS ## A gamma-eloszlás értékét számítja ki.
|
||||||
CHIDIST = KHI.ELOSZLÁS ## A khi-négyzet-eloszlás egyszélű valószínűségértékét számítja ki.
|
GAMMAINV = INVERZ.GAMMA ## A gamma-eloszlás eloszlásfüggvénye inverzének értékét számítja ki.
|
||||||
CHIINV = INVERZ.KHI ## A khi-négyzet-eloszlás egyszélű valószínűségértékének inverzét számítja ki.
|
GAMMALN = GAMMALN ## A gamma-függvény természetes logaritmusát számítja ki.
|
||||||
CHITEST = KHI.PRÓBA ## Függetlenségvizsgálatot hajt végre.
|
GEOMEAN = MÉRTANI.KÖZÉP ## Argumentumai mértani középértékét számítja ki.
|
||||||
CONFIDENCE = MEGBÍZHATÓSÁG ## Egy statisztikai sokaság várható értékének megbízhatósági intervallumát adja eredményül.
|
GROWTH = NÖV ## Exponenciális regresszió alapján ad becslést.
|
||||||
CORREL = KORREL ## Két adathalmaz korrelációs együtthatóját számítja ki.
|
HARMEAN = HARM.KÖZÉP ## Argumentumai harmonikus átlagát számítja ki.
|
||||||
COUNT = DARAB ## Megszámolja, hogy argumentumlistájában hány szám található.
|
HYPGEOMDIST = HIPERGEOM.ELOSZLÁS ## A hipergeometriai eloszlás értékét számítja ki.
|
||||||
COUNTA = DARAB2 ## Megszámolja, hogy argumentumlistájában hány érték található.
|
INTERCEPT = METSZ ## A regressziós egyenes y tengellyel való metszéspontját határozza meg.
|
||||||
COUNTBLANK = DARABÜRES ## Egy tartományban összeszámolja az üres cellákat.
|
KURT = CSÚCSOSSÁG ## Egy adathalmaz csúcsosságát számítja ki.
|
||||||
COUNTIF = DARABTELI ## Egy tartományban összeszámolja azokat a cellákat, amelyek eleget tesznek a megadott feltételnek.
|
LARGE = NAGY ## Egy adathalmaz k-adik legnagyobb elemét adja eredményül.
|
||||||
COUNTIFS = DARABHATÖBB ## Egy tartományban összeszámolja azokat a cellákat, amelyek eleget tesznek több feltételnek.
|
LINEST = LIN.ILL ## A legkisebb négyzetek módszerével az adatokra illesztett egyenes paramétereit határozza meg.
|
||||||
COVAR = KOVAR ## A kovarianciát, azaz a páronkénti eltérések szorzatának átlagát számítja ki.
|
LOGEST = LOG.ILL ## Az adatokra illesztett exponenciális görbe paramétereit határozza meg.
|
||||||
CRITBINOM = KRITBINOM ## Azt a legkisebb számot adja eredményül, amelyre a binomiális eloszlásfüggvény értéke nem kisebb egy adott határértéknél.
|
LOGINV = INVERZ.LOG.ELOSZLÁS ## A lognormális eloszlás inverzét számítja ki.
|
||||||
DEVSQ = SQ ## Az átlagtól való eltérések négyzetének összegét számítja ki.
|
LOGNORMDIST = LOG.ELOSZLÁS ## A lognormális eloszlásfüggvény értékét számítja ki.
|
||||||
EXPONDIST = EXP.ELOSZLÁS ## Az exponenciális eloszlás értékét számítja ki.
|
MAX = MAX ## Az argumentumai között szereplő legnagyobb számot adja meg.
|
||||||
FDIST = F.ELOSZLÁS ## Az F-eloszlás értékét számítja ki.
|
MAXA = MAX2 ## Az argumentumai között szereplő legnagyobb számot adja meg (beleértve a számokat, szöveget és logikai értékeket).
|
||||||
FINV = INVERZ.F ## Az F-eloszlás inverzének értékét számítja ki.
|
MEDIAN = MEDIÁN ## Adott számhalmaz mediánját számítja ki.
|
||||||
FISHER = FISHER ## Fisher-transzformációt hajt végre.
|
MIN = MIN ## Az argumentumai között szereplő legkisebb számot adja meg.
|
||||||
FISHERINV = INVERZ.FISHER ## A Fisher-transzformáció inverzét hajtja végre.
|
MINA = MIN2 ## Az argumentumai között szereplő legkisebb számot adja meg, beleértve a számokat, szöveget és logikai értékeket.
|
||||||
FORECAST = ELŐREJELZÉS ## Az ismert értékek alapján lineáris regresszióval becsült értéket ad eredményül.
|
MODE = MÓDUSZ ## Egy adathalmazból kiválasztja a leggyakrabban előforduló számot.
|
||||||
FREQUENCY = GYAKORISÁG ## A gyakorisági vagy empirikus eloszlás értékét függőleges tömbként adja eredményül.
|
NEGBINOMDIST = NEGBINOM.ELOSZL ## A negatív binomiális eloszlás értékét számítja ki.
|
||||||
FTEST = F.PRÓBA ## Az F-próba értékét adja eredményül.
|
NORMDIST = NORM.ELOSZL ## A normális eloszlás értékét számítja ki.
|
||||||
GAMMADIST = GAMMA.ELOSZLÁS ## A gamma-eloszlás értékét számítja ki.
|
NORMINV = INVERZ.NORM ## A normális eloszlás eloszlásfüggvénye inverzének értékét számítja ki.
|
||||||
GAMMAINV = INVERZ.GAMMA ## A gamma-eloszlás eloszlásfüggvénye inverzének értékét számítja ki.
|
NORMSDIST = STNORMELOSZL ## A standard normális eloszlás eloszlásfüggvényének értékét számítja ki.
|
||||||
GAMMALN = GAMMALN ## A gamma-függvény természetes logaritmusát számítja ki.
|
NORMSINV = INVERZ.STNORM ## A standard normális eloszlás eloszlásfüggvénye inverzének értékét számítja ki.
|
||||||
GEOMEAN = MÉRTANI.KÖZÉP ## Argumentumai mértani középértékét számítja ki.
|
PEARSON = PEARSON ## A Pearson-féle korrelációs együtthatót számítja ki.
|
||||||
GROWTH = NÖV ## Exponenciális regresszió alapján ad becslést.
|
PERCENTILE = PERCENTILIS ## Egy tartományban található értékek k-adik percentilisét, azaz százalékosztályát adja eredményül.
|
||||||
HARMEAN = HARM.KÖZÉP ## Argumentumai harmonikus átlagát számítja ki.
|
PERCENTRANK = SZÁZALÉKRANG ## Egy értéknek egy adathalmazon belül vett százalékos rangját (elhelyezkedését) számítja ki.
|
||||||
HYPGEOMDIST = HIPERGEOM.ELOSZLÁS ## A hipergeometriai eloszlás értékét számítja ki.
|
PERMUT = VARIÁCIÓK ## Adott számú objektum k-ad osztályú ismétlés nélküli variációinak számát számítja ki.
|
||||||
INTERCEPT = METSZ ## A regressziós egyenes y tengellyel való metszéspontját határozza meg.
|
POISSON = POISSON ## A Poisson-eloszlás értékét számítja ki.
|
||||||
KURT = CSÚCSOSSÁG ## Egy adathalmaz csúcsosságát számítja ki.
|
PROB = VALÓSZÍNŰSÉG ## Annak valószínűségét számítja ki, hogy adott értékek két határérték közé esnek.
|
||||||
LARGE = NAGY ## Egy adathalmaz k-adik legnagyobb elemét adja eredményül.
|
QUARTILE = KVARTILIS ## Egy adathalmaz kvartilisét (negyedszintjét) számítja ki.
|
||||||
LINEST = LIN.ILL ## A legkisebb négyzetek módszerével az adatokra illesztett egyenes paramétereit határozza meg.
|
RANK = SORSZÁM ## Kiszámítja, hogy egy szám hányadik egy számsorozatban.
|
||||||
LOGEST = LOG.ILL ## Az adatokra illesztett exponenciális görbe paramétereit határozza meg.
|
RSQ = RNÉGYZET ## Kiszámítja a Pearson-féle szorzatmomentum korrelációs együtthatójának négyzetét.
|
||||||
LOGINV = INVERZ.LOG.ELOSZLÁS ## A lognormális eloszlás inverzét számítja ki.
|
SKEW = FERDESÉG ## Egy eloszlás ferdeségét határozza meg.
|
||||||
LOGNORMDIST = LOG.ELOSZLÁS ## A lognormális eloszlásfüggvény értékét számítja ki.
|
SLOPE = MEREDEKSÉG ## Egy lineáris regressziós egyenes meredekségét számítja ki.
|
||||||
MAX = MAX ## Az argumentumai között szereplő legnagyobb számot adja meg.
|
SMALL = KICSI ## Egy adathalmaz k-adik legkisebb elemét adja meg.
|
||||||
MAXA = MAX2 ## Az argumentumai között szereplő legnagyobb számot adja meg (beleértve a számokat, szöveget és logikai értékeket).
|
STANDARDIZE = NORMALIZÁLÁS ## Normalizált értéket ad eredményül.
|
||||||
MEDIAN = MEDIÁN ## Adott számhalmaz mediánját számítja ki.
|
STDEV = SZÓRÁS ## Egy statisztikai sokaság mintájából kiszámítja annak szórását.
|
||||||
MIN = MIN ## Az argumentumai között szereplő legkisebb számot adja meg.
|
STDEVA = SZÓRÁSA ## Egy statisztikai sokaság mintájából kiszámítja annak szórását (beleértve a számokat, szöveget és logikai értékeket).
|
||||||
MINA = MIN2 ## Az argumentumai között szereplő legkisebb számot adja meg, beleértve a számokat, szöveget és logikai értékeket.
|
STDEVP = SZÓRÁSP ## Egy statisztikai sokaság egészéből kiszámítja annak szórását.
|
||||||
MODE = MÓDUSZ ## Egy adathalmazból kiválasztja a leggyakrabban előforduló számot.
|
STDEVPA = SZÓRÁSPA ## Egy statisztikai sokaság egészéből kiszámítja annak szórását (beleértve számokat, szöveget és logikai értékeket).
|
||||||
NEGBINOMDIST = NEGBINOM.ELOSZL ## A negatív binomiális eloszlás értékét számítja ki.
|
STEYX = STHIBAYX ## Egy regresszió esetén az egyes x-értékek alapján meghatározott y-értékek standard hibáját számítja ki.
|
||||||
NORMDIST = NORM.ELOSZL ## A normális eloszlás értékét számítja ki.
|
TDIST = T.ELOSZLÁS ## A Student-féle t-eloszlás értékét számítja ki.
|
||||||
NORMINV = INVERZ.NORM ## A normális eloszlás eloszlásfüggvénye inverzének értékét számítja ki.
|
TINV = INVERZ.T ## A Student-féle t-eloszlás inverzét számítja ki.
|
||||||
NORMSDIST = STNORMELOSZL ## A standard normális eloszlás eloszlásfüggvényének értékét számítja ki.
|
TREND = TREND ## Lineáris trend értékeit számítja ki.
|
||||||
NORMSINV = INVERZ.STNORM ## A standard normális eloszlás eloszlásfüggvénye inverzének értékét számítja ki.
|
TRIMMEAN = RÉSZÁTLAG ## Egy adathalmaz középső részének átlagát számítja ki.
|
||||||
PEARSON = PEARSON ## A Pearson-féle korrelációs együtthatót számítja ki.
|
TTEST = T.PRÓBA ## A Student-féle t-próbához tartozó valószínűséget számítja ki.
|
||||||
PERCENTILE = PERCENTILIS ## Egy tartományban található értékek k-adik percentilisét, azaz százalékosztályát adja eredményül.
|
VAR = VAR ## Minta alapján becslést ad a varianciára.
|
||||||
PERCENTRANK = SZÁZALÉKRANG ## Egy értéknek egy adathalmazon belül vett százalékos rangját (elhelyezkedését) számítja ki.
|
VARA = VARA ## Minta alapján becslést ad a varianciára (beleértve számokat, szöveget és logikai értékeket).
|
||||||
PERMUT = VARIÁCIÓK ## Adott számú objektum k-ad osztályú ismétlés nélküli variációinak számát számítja ki.
|
VARP = VARP ## Egy statisztikai sokaság varianciáját számítja ki.
|
||||||
POISSON = POISSON ## A Poisson-eloszlás értékét számítja ki.
|
VARPA = VARPA ## Egy statisztikai sokaság varianciáját számítja ki (beleértve számokat, szöveget és logikai értékeket).
|
||||||
PROB = VALÓSZÍNŰSÉG ## Annak valószínűségét számítja ki, hogy adott értékek két határérték közé esnek.
|
WEIBULL = WEIBULL ## A Weibull-féle eloszlás értékét számítja ki.
|
||||||
QUARTILE = KVARTILIS ## Egy adathalmaz kvartilisét (negyedszintjét) számítja ki.
|
ZTEST = Z.PRÓBA ## Az egyszélű z-próbával kapott valószínűségértéket számítja ki.
|
||||||
RANK = SORSZÁM ## Kiszámítja, hogy egy szám hányadik egy számsorozatban.
|
|
||||||
RSQ = RNÉGYZET ## Kiszámítja a Pearson-féle szorzatmomentum korrelációs együtthatójának négyzetét.
|
|
||||||
SKEW = FERDESÉG ## Egy eloszlás ferdeségét határozza meg.
|
##
|
||||||
SLOPE = MEREDEKSÉG ## Egy lineáris regressziós egyenes meredekségét számítja ki.
|
## Text functions Szövegműveletekhez használható függvények
|
||||||
SMALL = KICSI ## Egy adathalmaz k-adik legkisebb elemét adja meg.
|
##
|
||||||
STANDARDIZE = NORMALIZÁLÁS ## Normalizált értéket ad eredményül.
|
ASC = ASC ## Szöveg teljes szélességű (kétbájtos) latin és katakana karaktereit félszélességű (egybájtos) karakterekké alakítja.
|
||||||
STDEV = SZÓRÁS ## Egy statisztikai sokaság mintájából kiszámítja annak szórását.
|
BAHTTEXT = BAHTSZÖVEG ## Számot szöveggé alakít a ß (baht) pénznemformátum használatával.
|
||||||
STDEVA = SZÓRÁSA ## Egy statisztikai sokaság mintájából kiszámítja annak szórását (beleértve a számokat, szöveget és logikai értékeket).
|
CHAR = KARAKTER ## A kódszámmal meghatározott karaktert adja eredményül.
|
||||||
STDEVP = SZÓRÁSP ## Egy statisztikai sokaság egészéből kiszámítja annak szórását.
|
CLEAN = TISZTÍT ## A szövegből eltávolítja az összes nem nyomtatható karaktert.
|
||||||
STDEVPA = SZÓRÁSPA ## Egy statisztikai sokaság egészéből kiszámítja annak szórását (beleértve számokat, szöveget és logikai értékeket).
|
CODE = KÓD ## Karaktersorozat első karakterének numerikus kódját adja eredményül.
|
||||||
STEYX = STHIBAYX ## Egy regresszió esetén az egyes x-értékek alapján meghatározott y-értékek standard hibáját számítja ki.
|
CONCATENATE = ÖSSZEFŰZ ## Több szövegelemet egyetlen szöveges elemmé fűz össze.
|
||||||
TDIST = T.ELOSZLÁS ## A Student-féle t-eloszlás értékét számítja ki.
|
DOLLAR = FORINT ## Számot pénznem formátumú szöveggé alakít át.
|
||||||
TINV = INVERZ.T ## A Student-féle t-eloszlás inverzét számítja ki.
|
EXACT = AZONOS ## Megvizsgálja, hogy két érték azonos-e.
|
||||||
TREND = TREND ## Lineáris trend értékeit számítja ki.
|
FIND = SZÖVEG.TALÁL ## Karaktersorozatot keres egy másikban (a kis- és nagybetűk megkülönböztetésével).
|
||||||
TRIMMEAN = RÉSZÁTLAG ## Egy adathalmaz középső részének átlagát számítja ki.
|
FINDB = SZÖVEG.TALÁL2 ## Karaktersorozatot keres egy másikban (a kis- és nagybetűk megkülönböztetésével).
|
||||||
TTEST = T.PRÓBA ## A Student-féle t-próbához tartozó valószínűséget számítja ki.
|
FIXED = FIX ## Számot szöveges formátumúra alakít adott számú tizedesjegyre kerekítve.
|
||||||
VAR = VAR ## Minta alapján becslést ad a varianciára.
|
JIS = JIS ## A félszélességű (egybájtos) latin és a katakana karaktereket teljes szélességű (kétbájtos) karakterekké alakítja.
|
||||||
VARA = VARA ## Minta alapján becslést ad a varianciára (beleértve számokat, szöveget és logikai értékeket).
|
LEFT = BAL ## Szöveg bal szélső karaktereit adja eredményül.
|
||||||
VARP = VARP ## Egy statisztikai sokaság varianciáját számítja ki.
|
LEFTB = BAL2 ## Szöveg bal szélső karaktereit adja eredményül.
|
||||||
VARPA = VARPA ## Egy statisztikai sokaság varianciáját számítja ki (beleértve számokat, szöveget és logikai értékeket).
|
LEN = HOSSZ ## Szöveg karakterekben mért hosszát adja eredményül.
|
||||||
WEIBULL = WEIBULL ## A Weibull-féle eloszlás értékét számítja ki.
|
LENB = HOSSZ2 ## Szöveg karakterekben mért hosszát adja eredményül.
|
||||||
ZTEST = Z.PRÓBA ## Az egyszélű z-próbával kapott valószínűségértéket számítja ki.
|
LOWER = KISBETŰ ## Szöveget kisbetűssé alakít át.
|
||||||
|
MID = KÖZÉP ## A szöveg adott pozíciójától kezdve megadott számú karaktert ad vissza eredményként.
|
||||||
|
MIDB = KÖZÉP2 ## A szöveg adott pozíciójától kezdve megadott számú karaktert ad vissza eredményként.
|
||||||
##
|
PHONETIC = PHONETIC ## Szöveg furigana (fonetikus) karaktereit adja vissza.
|
||||||
## Text functions Szövegműveletekhez használható függvények
|
PROPER = TNÉV ## Szöveg minden szavának kezdőbetűjét nagybetűsre cseréli.
|
||||||
##
|
REPLACE = CSERE ## A szövegen belül karaktereket cserél.
|
||||||
ASC = ASC ## Szöveg teljes szélességű (kétbájtos) latin és katakana karaktereit félszélességű (egybájtos) karakterekké alakítja.
|
REPLACEB = CSERE2 ## A szövegen belül karaktereket cserél.
|
||||||
BAHTTEXT = BAHTSZÖVEG ## Számot szöveggé alakít a ß (baht) pénznemformátum használatával.
|
REPT = SOKSZOR ## Megadott számú alkalommal megismétel egy szövegrészt.
|
||||||
CHAR = KARAKTER ## A kódszámmal meghatározott karaktert adja eredményül.
|
RIGHT = JOBB ## Szövegrész jobb szélső karaktereit adja eredményül.
|
||||||
CLEAN = TISZTÍT ## A szövegből eltávolítja az összes nem nyomtatható karaktert.
|
RIGHTB = JOBB2 ## Szövegrész jobb szélső karaktereit adja eredményül.
|
||||||
CODE = KÓD ## Karaktersorozat első karakterének numerikus kódját adja eredményül.
|
SEARCH = SZÖVEG.KERES ## Karaktersorozatot keres egy másikban (a kis- és nagybetűk között nem tesz különbséget).
|
||||||
CONCATENATE = ÖSSZEFŰZ ## Több szövegelemet egyetlen szöveges elemmé fűz össze.
|
SEARCHB = SZÖVEG.KERES2 ## Karaktersorozatot keres egy másikban (a kis- és nagybetűk között nem tesz különbséget).
|
||||||
DOLLAR = FORINT ## Számot pénznem formátumú szöveggé alakít át.
|
SUBSTITUTE = HELYETTE ## Szövegben adott karaktereket másikra cserél.
|
||||||
EXACT = AZONOS ## Megvizsgálja, hogy két érték azonos-e.
|
T = T ## Argumentumát szöveggé alakítja át.
|
||||||
FIND = SZÖVEG.TALÁL ## Karaktersorozatot keres egy másikban (a kis- és nagybetűk megkülönböztetésével).
|
TEXT = SZÖVEG ## Számértéket alakít át adott számformátumú szöveggé.
|
||||||
FINDB = SZÖVEG.TALÁL2 ## Karaktersorozatot keres egy másikban (a kis- és nagybetűk megkülönböztetésével).
|
TRIM = TRIM ## A szövegből eltávolítja a szóközöket.
|
||||||
FIXED = FIX ## Számot szöveges formátumúra alakít adott számú tizedesjegyre kerekítve.
|
UPPER = NAGYBETŰS ## Szöveget nagybetűssé alakít át.
|
||||||
JIS = JIS ## A félszélességű (egybájtos) latin és a katakana karaktereket teljes szélességű (kétbájtos) karakterekké alakítja.
|
VALUE = ÉRTÉK ## Szöveget számmá alakít át.
|
||||||
LEFT = BAL ## Szöveg bal szélső karaktereit adja eredményül.
|
|
||||||
LEFTB = BAL2 ## Szöveg bal szélső karaktereit adja eredményül.
|
|
||||||
LEN = HOSSZ ## Szöveg karakterekben mért hosszát adja eredményül.
|
|
||||||
LENB = HOSSZ2 ## Szöveg karakterekben mért hosszát adja eredményül.
|
|
||||||
LOWER = KISBETŰ ## Szöveget kisbetűssé alakít át.
|
|
||||||
MID = KÖZÉP ## A szöveg adott pozíciójától kezdve megadott számú karaktert ad vissza eredményként.
|
|
||||||
MIDB = KÖZÉP2 ## A szöveg adott pozíciójától kezdve megadott számú karaktert ad vissza eredményként.
|
|
||||||
PHONETIC = PHONETIC ## Szöveg furigana (fonetikus) karaktereit adja vissza.
|
|
||||||
PROPER = TNÉV ## Szöveg minden szavának kezdőbetűjét nagybetűsre cseréli.
|
|
||||||
REPLACE = CSERE ## A szövegen belül karaktereket cserél.
|
|
||||||
REPLACEB = CSERE2 ## A szövegen belül karaktereket cserél.
|
|
||||||
REPT = SOKSZOR ## Megadott számú alkalommal megismétel egy szövegrészt.
|
|
||||||
RIGHT = JOBB ## Szövegrész jobb szélső karaktereit adja eredményül.
|
|
||||||
RIGHTB = JOBB2 ## Szövegrész jobb szélső karaktereit adja eredményül.
|
|
||||||
SEARCH = SZÖVEG.KERES ## Karaktersorozatot keres egy másikban (a kis- és nagybetűk között nem tesz különbséget).
|
|
||||||
SEARCHB = SZÖVEG.KERES2 ## Karaktersorozatot keres egy másikban (a kis- és nagybetűk között nem tesz különbséget).
|
|
||||||
SUBSTITUTE = HELYETTE ## Szövegben adott karaktereket másikra cserél.
|
|
||||||
T = T ## Argumentumát szöveggé alakítja át.
|
|
||||||
TEXT = SZÖVEG ## Számértéket alakít át adott számformátumú szöveggé.
|
|
||||||
TRIM = TRIM ## A szövegből eltávolítja a szóközöket.
|
|
||||||
UPPER = NAGYBETŰS ## Szöveget nagybetűssé alakít át.
|
|
||||||
VALUE = ÉRTÉK ## Szöveget számmá alakít át.
|
|
||||||
24
PhpOffice/PhpSpreadsheet/Calculation/locale/it/config
Normal file
24
PhpOffice/PhpSpreadsheet/Calculation/locale/it/config
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
##
|
||||||
|
## PhpSpreadsheet
|
||||||
|
##
|
||||||
|
|
||||||
|
ArgumentSeparator = ;
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## (For future use)
|
||||||
|
##
|
||||||
|
currencySymbol = €
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## Excel Error Codes (For future use)
|
||||||
|
|
||||||
|
##
|
||||||
|
NULL = #NULLO!
|
||||||
|
DIV0 = #DIV/0!
|
||||||
|
VALUE = #VALORE!
|
||||||
|
REF = #RIF!
|
||||||
|
NAME = #NOME?
|
||||||
|
NUM = #NUM!
|
||||||
|
NA = #N/D
|
||||||
|
|
@ -1,438 +1,416 @@
|
||||||
##
|
##
|
||||||
## PHPExcel
|
## PhpSpreadsheet
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Data in this file derived from https://www.excel-function-translation.com/
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
##
|
||||||
## modify it under the terms of the GNU Lesser General Public
|
|
||||||
## License as published by the Free Software Foundation; either
|
|
||||||
## version 2.1 of the License, or (at your option) any later version.
|
##
|
||||||
##
|
## Add-in and Automation functions Funzioni di automazione e dei componenti aggiuntivi
|
||||||
## This library is distributed in the hope that it will be useful,
|
##
|
||||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
GETPIVOTDATA = INFO.DATI.TAB.PIVOT ## Restituisce i dati memorizzati in un rapporto di tabella pivot
|
||||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
## Lesser General Public License for more details.
|
|
||||||
##
|
##
|
||||||
## You should have received a copy of the GNU Lesser General Public
|
## Cube functions Funzioni cubo
|
||||||
## License along with this library; if not, write to the Free Software
|
##
|
||||||
## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
CUBEKPIMEMBER = MEMBRO.KPI.CUBO ## Restituisce il nome, la proprietà e la misura di un indicatore di prestazioni chiave (KPI) e visualizza il nome e la proprietà nella cella. Un KPI è una misura quantificabile, ad esempio l'utile lordo mensile o il fatturato trimestrale dei dipendenti, utilizzata per il monitoraggio delle prestazioni di un'organizzazione.
|
||||||
##
|
CUBEMEMBER = MEMBRO.CUBO ## Restituisce un membro o una tupla in una gerarchia di cubi. Consente di verificare l'esistenza del membro o della tupla nel cubo.
|
||||||
## @category PHPExcel
|
CUBEMEMBERPROPERTY = PROPRIETÀ.MEMBRO.CUBO ## Restituisce il valore di una proprietà di un membro del cubo. Consente di verificare l'esistenza di un nome di membro all'interno del cubo e di restituire la proprietà specificata per tale membro.
|
||||||
## @package PHPExcel_Calculation
|
CUBERANKEDMEMBER = MEMBRO.CUBO.CON.RANGO ## Restituisce l'n-esimo membro o il membro ordinato di un insieme. Consente di restituire uno o più elementi in un insieme, ad esempio l'agente di vendita migliore o i primi 10 studenti.
|
||||||
## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
CUBESET = SET.CUBO ## Definisce un insieme di tuple o membri calcolati mediante l'invio di un'espressione di insieme al cubo sul server. In questo modo l'insieme viene creato e restituito a Microsoft Office Excel.
|
||||||
## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
CUBESETCOUNT = CONTA.SET.CUBO ## Restituisce il numero di elementi di un insieme.
|
||||||
## @version ##VERSION##, ##DATE##
|
CUBEVALUE = VALORE.CUBO ## Restituisce un valore aggregato da un cubo.
|
||||||
##
|
|
||||||
## Data in this file derived from http://www.piuha.fi/excel-function-name-translation/
|
|
||||||
##
|
##
|
||||||
##
|
## Database functions Funzioni di database
|
||||||
|
##
|
||||||
|
DAVERAGE = DB.MEDIA ## Restituisce la media di voci del database selezionate
|
||||||
##
|
DCOUNT = DB.CONTA.NUMERI ## Conta le celle di un database contenenti numeri
|
||||||
## Add-in and Automation functions Funzioni di automazione e dei componenti aggiuntivi
|
DCOUNTA = DB.CONTA.VALORI ## Conta le celle non vuote in un database
|
||||||
##
|
DGET = DB.VALORI ## Estrae da un database un singolo record che soddisfa i criteri specificati
|
||||||
GETPIVOTDATA = INFO.DATI.TAB.PIVOT ## Restituisce i dati memorizzati in un rapporto di tabella pivot
|
DMAX = DB.MAX ## Restituisce il valore massimo dalle voci selezionate in un database
|
||||||
|
DMIN = DB.MIN ## Restituisce il valore minimo dalle voci di un database selezionate
|
||||||
|
DPRODUCT = DB.PRODOTTO ## Moltiplica i valori in un determinato campo di record che soddisfano i criteri del database
|
||||||
##
|
DSTDEV = DB.DEV.ST ## Restituisce una stima della deviazione standard sulla base di un campione di voci di un database selezionate
|
||||||
## Cube functions Funzioni cubo
|
DSTDEVP = DB.DEV.ST.POP ## Calcola la deviazione standard sulla base di tutte le voci di un database selezionate
|
||||||
##
|
DSUM = DB.SOMMA ## Aggiunge i numeri nel campo colonna di record del database che soddisfa determinati criteri
|
||||||
CUBEKPIMEMBER = MEMBRO.KPI.CUBO ## Restituisce il nome, la proprietà e la misura di un indicatore di prestazioni chiave (KPI) e visualizza il nome e la proprietà nella cella. Un KPI è una misura quantificabile, ad esempio l'utile lordo mensile o il fatturato trimestrale dei dipendenti, utilizzata per il monitoraggio delle prestazioni di un'organizzazione.
|
DVAR = DB.VAR ## Restituisce una stima della varianza sulla base di un campione da voci di un database selezionate
|
||||||
CUBEMEMBER = MEMBRO.CUBO ## Restituisce un membro o una tupla in una gerarchia di cubi. Consente di verificare l'esistenza del membro o della tupla nel cubo.
|
DVARP = DB.VAR.POP ## Calcola la varianza sulla base di tutte le voci di un database selezionate
|
||||||
CUBEMEMBERPROPERTY = PROPRIETÀ.MEMBRO.CUBO ## Restituisce il valore di una proprietà di un membro del cubo. Consente di verificare l'esistenza di un nome di membro all'interno del cubo e di restituire la proprietà specificata per tale membro.
|
|
||||||
CUBERANKEDMEMBER = MEMBRO.CUBO.CON.RANGO ## Restituisce l'n-esimo membro o il membro ordinato di un insieme. Consente di restituire uno o più elementi in un insieme, ad esempio l'agente di vendita migliore o i primi 10 studenti.
|
|
||||||
CUBESET = SET.CUBO ## Definisce un insieme di tuple o membri calcolati mediante l'invio di un'espressione di insieme al cubo sul server. In questo modo l'insieme viene creato e restituito a Microsoft Office Excel.
|
##
|
||||||
CUBESETCOUNT = CONTA.SET.CUBO ## Restituisce il numero di elementi di un insieme.
|
## Date and time functions Funzioni data e ora
|
||||||
CUBEVALUE = VALORE.CUBO ## Restituisce un valore aggregato da un cubo.
|
##
|
||||||
|
DATE = DATA ## Restituisce il numero seriale di una determinata data
|
||||||
|
DATEVALUE = DATA.VALORE ## Converte una data sotto forma di testo in un numero seriale
|
||||||
##
|
DAY = GIORNO ## Converte un numero seriale in un giorno del mese
|
||||||
## Database functions Funzioni di database
|
DAYS360 = GIORNO360 ## Calcola il numero di giorni compreso tra due date basandosi su un anno di 360 giorni
|
||||||
##
|
EDATE = DATA.MESE ## Restituisce il numero seriale della data che rappresenta il numero di mesi prima o dopo la data di inizio
|
||||||
DAVERAGE = DB.MEDIA ## Restituisce la media di voci del database selezionate
|
EOMONTH = FINE.MESE ## Restituisce il numero seriale dell'ultimo giorno del mese, prima o dopo un determinato numero di mesi
|
||||||
DCOUNT = DB.CONTA.NUMERI ## Conta le celle di un database contenenti numeri
|
HOUR = ORA ## Converte un numero seriale in un'ora
|
||||||
DCOUNTA = DB.CONTA.VALORI ## Conta le celle non vuote in un database
|
MINUTE = MINUTO ## Converte un numero seriale in un minuto
|
||||||
DGET = DB.VALORI ## Estrae da un database un singolo record che soddisfa i criteri specificati
|
MONTH = MESE ## Converte un numero seriale in un mese
|
||||||
DMAX = DB.MAX ## Restituisce il valore massimo dalle voci selezionate in un database
|
NETWORKDAYS = GIORNI.LAVORATIVI.TOT ## Restituisce il numero di tutti i giorni lavorativi compresi fra due date
|
||||||
DMIN = DB.MIN ## Restituisce il valore minimo dalle voci di un database selezionate
|
NOW = ADESSO ## Restituisce il numero seriale della data e dell'ora corrente
|
||||||
DPRODUCT = DB.PRODOTTO ## Moltiplica i valori in un determinato campo di record che soddisfano i criteri del database
|
SECOND = SECONDO ## Converte un numero seriale in un secondo
|
||||||
DSTDEV = DB.DEV.ST ## Restituisce una stima della deviazione standard sulla base di un campione di voci di un database selezionate
|
TIME = ORARIO ## Restituisce il numero seriale di una determinata ora
|
||||||
DSTDEVP = DB.DEV.ST.POP ## Calcola la deviazione standard sulla base di tutte le voci di un database selezionate
|
TIMEVALUE = ORARIO.VALORE ## Converte un orario in forma di testo in un numero seriale
|
||||||
DSUM = DB.SOMMA ## Aggiunge i numeri nel campo colonna di record del database che soddisfa determinati criteri
|
TODAY = OGGI ## Restituisce il numero seriale relativo alla data odierna
|
||||||
DVAR = DB.VAR ## Restituisce una stima della varianza sulla base di un campione da voci di un database selezionate
|
WEEKDAY = GIORNO.SETTIMANA ## Converte un numero seriale in un giorno della settimana
|
||||||
DVARP = DB.VAR.POP ## Calcola la varianza sulla base di tutte le voci di un database selezionate
|
WEEKNUM = NUM.SETTIMANA ## Converte un numero seriale in un numero che rappresenta la posizione numerica di una settimana nell'anno
|
||||||
|
WORKDAY = GIORNO.LAVORATIVO ## Restituisce il numero della data prima o dopo un determinato numero di giorni lavorativi
|
||||||
|
YEAR = ANNO ## Converte un numero seriale in un anno
|
||||||
##
|
YEARFRAC = FRAZIONE.ANNO ## Restituisce la frazione dell'anno che rappresenta il numero dei giorni compresi tra una data_ iniziale e una data_finale
|
||||||
## Date and time functions Funzioni data e ora
|
|
||||||
##
|
|
||||||
DATE = DATA ## Restituisce il numero seriale di una determinata data
|
##
|
||||||
DATEVALUE = DATA.VALORE ## Converte una data sotto forma di testo in un numero seriale
|
## Engineering functions Funzioni ingegneristiche
|
||||||
DAY = GIORNO ## Converte un numero seriale in un giorno del mese
|
##
|
||||||
DAYS360 = GIORNO360 ## Calcola il numero di giorni compreso tra due date basandosi su un anno di 360 giorni
|
BESSELI = BESSEL.I ## Restituisce la funzione di Bessel modificata In(x)
|
||||||
EDATE = DATA.MESE ## Restituisce il numero seriale della data che rappresenta il numero di mesi prima o dopo la data di inizio
|
BESSELJ = BESSEL.J ## Restituisce la funzione di Bessel Jn(x)
|
||||||
EOMONTH = FINE.MESE ## Restituisce il numero seriale dell'ultimo giorno del mese, prima o dopo un determinato numero di mesi
|
BESSELK = BESSEL.K ## Restituisce la funzione di Bessel modificata Kn(x)
|
||||||
HOUR = ORA ## Converte un numero seriale in un'ora
|
BESSELY = BESSEL.Y ## Restituisce la funzione di Bessel Yn(x)
|
||||||
MINUTE = MINUTO ## Converte un numero seriale in un minuto
|
BIN2DEC = BINARIO.DECIMALE ## Converte un numero binario in decimale
|
||||||
MONTH = MESE ## Converte un numero seriale in un mese
|
BIN2HEX = BINARIO.HEX ## Converte un numero binario in esadecimale
|
||||||
NETWORKDAYS = GIORNI.LAVORATIVI.TOT ## Restituisce il numero di tutti i giorni lavorativi compresi fra due date
|
BIN2OCT = BINARIO.OCT ## Converte un numero binario in ottale
|
||||||
NOW = ADESSO ## Restituisce il numero seriale della data e dell'ora corrente
|
COMPLEX = COMPLESSO ## Converte i coefficienti reali e immaginari in numeri complessi
|
||||||
SECOND = SECONDO ## Converte un numero seriale in un secondo
|
CONVERT = CONVERTI ## Converte un numero da un sistema di misura in un altro
|
||||||
TIME = ORARIO ## Restituisce il numero seriale di una determinata ora
|
DEC2BIN = DECIMALE.BINARIO ## Converte un numero decimale in binario
|
||||||
TIMEVALUE = ORARIO.VALORE ## Converte un orario in forma di testo in un numero seriale
|
DEC2HEX = DECIMALE.HEX ## Converte un numero decimale in esadecimale
|
||||||
TODAY = OGGI ## Restituisce il numero seriale relativo alla data odierna
|
DEC2OCT = DECIMALE.OCT ## Converte un numero decimale in ottale
|
||||||
WEEKDAY = GIORNO.SETTIMANA ## Converte un numero seriale in un giorno della settimana
|
DELTA = DELTA ## Verifica se due valori sono uguali
|
||||||
WEEKNUM = NUM.SETTIMANA ## Converte un numero seriale in un numero che rappresenta la posizione numerica di una settimana nell'anno
|
ERF = FUNZ.ERRORE ## Restituisce la funzione di errore
|
||||||
WORKDAY = GIORNO.LAVORATIVO ## Restituisce il numero della data prima o dopo un determinato numero di giorni lavorativi
|
ERFC = FUNZ.ERRORE.COMP ## Restituisce la funzione di errore complementare
|
||||||
YEAR = ANNO ## Converte un numero seriale in un anno
|
GESTEP = SOGLIA ## Verifica se un numero è maggiore del valore di soglia
|
||||||
YEARFRAC = FRAZIONE.ANNO ## Restituisce la frazione dell'anno che rappresenta il numero dei giorni compresi tra una data_ iniziale e una data_finale
|
HEX2BIN = HEX.BINARIO ## Converte un numero esadecimale in binario
|
||||||
|
HEX2DEC = HEX.DECIMALE ## Converte un numero esadecimale in decimale
|
||||||
|
HEX2OCT = HEX.OCT ## Converte un numero esadecimale in ottale
|
||||||
##
|
IMABS = COMP.MODULO ## Restituisce il valore assoluto (modulo) di un numero complesso
|
||||||
## Engineering functions Funzioni ingegneristiche
|
IMAGINARY = COMP.IMMAGINARIO ## Restituisce il coefficiente immaginario di un numero complesso
|
||||||
##
|
IMARGUMENT = COMP.ARGOMENTO ## Restituisce l'argomento theta, un angolo espresso in radianti
|
||||||
BESSELI = BESSEL.I ## Restituisce la funzione di Bessel modificata In(x)
|
IMCONJUGATE = COMP.CONIUGATO ## Restituisce il complesso coniugato del numero complesso
|
||||||
BESSELJ = BESSEL.J ## Restituisce la funzione di Bessel Jn(x)
|
IMCOS = COMP.COS ## Restituisce il coseno di un numero complesso
|
||||||
BESSELK = BESSEL.K ## Restituisce la funzione di Bessel modificata Kn(x)
|
IMDIV = COMP.DIV ## Restituisce il quoziente di due numeri complessi
|
||||||
BESSELY = BESSEL.Y ## Restituisce la funzione di Bessel Yn(x)
|
IMEXP = COMP.EXP ## Restituisce il valore esponenziale di un numero complesso
|
||||||
BIN2DEC = BINARIO.DECIMALE ## Converte un numero binario in decimale
|
IMLN = COMP.LN ## Restituisce il logaritmo naturale di un numero complesso
|
||||||
BIN2HEX = BINARIO.HEX ## Converte un numero binario in esadecimale
|
IMLOG10 = COMP.LOG10 ## Restituisce il logaritmo in base 10 di un numero complesso
|
||||||
BIN2OCT = BINARIO.OCT ## Converte un numero binario in ottale
|
IMLOG2 = COMP.LOG2 ## Restituisce un logaritmo in base 2 di un numero complesso
|
||||||
COMPLEX = COMPLESSO ## Converte i coefficienti reali e immaginari in numeri complessi
|
IMPOWER = COMP.POTENZA ## Restituisce il numero complesso elevato a una potenza intera
|
||||||
CONVERT = CONVERTI ## Converte un numero da un sistema di misura in un altro
|
IMPRODUCT = COMP.PRODOTTO ## Restituisce il prodotto di numeri complessi compresi tra 2 e 29
|
||||||
DEC2BIN = DECIMALE.BINARIO ## Converte un numero decimale in binario
|
IMREAL = COMP.PARTE.REALE ## Restituisce il coefficiente reale di un numero complesso
|
||||||
DEC2HEX = DECIMALE.HEX ## Converte un numero decimale in esadecimale
|
IMSIN = COMP.SEN ## Restituisce il seno di un numero complesso
|
||||||
DEC2OCT = DECIMALE.OCT ## Converte un numero decimale in ottale
|
IMSQRT = COMP.RADQ ## Restituisce la radice quadrata di un numero complesso
|
||||||
DELTA = DELTA ## Verifica se due valori sono uguali
|
IMSUB = COMP.DIFF ## Restituisce la differenza fra due numeri complessi
|
||||||
ERF = FUNZ.ERRORE ## Restituisce la funzione di errore
|
IMSUM = COMP.SOMMA ## Restituisce la somma di numeri complessi
|
||||||
ERFC = FUNZ.ERRORE.COMP ## Restituisce la funzione di errore complementare
|
OCT2BIN = OCT.BINARIO ## Converte un numero ottale in binario
|
||||||
GESTEP = SOGLIA ## Verifica se un numero è maggiore del valore di soglia
|
OCT2DEC = OCT.DECIMALE ## Converte un numero ottale in decimale
|
||||||
HEX2BIN = HEX.BINARIO ## Converte un numero esadecimale in binario
|
OCT2HEX = OCT.HEX ## Converte un numero ottale in esadecimale
|
||||||
HEX2DEC = HEX.DECIMALE ## Converte un numero esadecimale in decimale
|
|
||||||
HEX2OCT = HEX.OCT ## Converte un numero esadecimale in ottale
|
|
||||||
IMABS = COMP.MODULO ## Restituisce il valore assoluto (modulo) di un numero complesso
|
##
|
||||||
IMAGINARY = COMP.IMMAGINARIO ## Restituisce il coefficiente immaginario di un numero complesso
|
## Financial functions Funzioni finanziarie
|
||||||
IMARGUMENT = COMP.ARGOMENTO ## Restituisce l'argomento theta, un angolo espresso in radianti
|
##
|
||||||
IMCONJUGATE = COMP.CONIUGATO ## Restituisce il complesso coniugato del numero complesso
|
ACCRINT = INT.MATURATO.PER ## Restituisce l'interesse maturato di un titolo che paga interessi periodici
|
||||||
IMCOS = COMP.COS ## Restituisce il coseno di un numero complesso
|
ACCRINTM = INT.MATURATO.SCAD ## Restituisce l'interesse maturato di un titolo che paga interessi alla scadenza
|
||||||
IMDIV = COMP.DIV ## Restituisce il quoziente di due numeri complessi
|
AMORDEGRC = AMMORT.DEGR ## Restituisce l'ammortamento per ogni periodo contabile utilizzando un coefficiente di ammortamento
|
||||||
IMEXP = COMP.EXP ## Restituisce il valore esponenziale di un numero complesso
|
AMORLINC = AMMORT.PER ## Restituisce l'ammortamento per ogni periodo contabile
|
||||||
IMLN = COMP.LN ## Restituisce il logaritmo naturale di un numero complesso
|
COUPDAYBS = GIORNI.CED.INIZ.LIQ ## Restituisce il numero dei giorni che vanno dall'inizio del periodo di durata della cedola alla data di liquidazione
|
||||||
IMLOG10 = COMP.LOG10 ## Restituisce il logaritmo in base 10 di un numero complesso
|
COUPDAYS = GIORNI.CED ## Restituisce il numero dei giorni relativi al periodo della cedola che contiene la data di liquidazione
|
||||||
IMLOG2 = COMP.LOG2 ## Restituisce un logaritmo in base 2 di un numero complesso
|
COUPDAYSNC = GIORNI.CED.NUOVA ## Restituisce il numero di giorni che vanno dalla data di liquidazione alla data della cedola successiva
|
||||||
IMPOWER = COMP.POTENZA ## Restituisce il numero complesso elevato a una potenza intera
|
COUPNCD = DATA.CED.SUCC ## Restituisce un numero che rappresenta la data della cedola successiva alla data di liquidazione
|
||||||
IMPRODUCT = COMP.PRODOTTO ## Restituisce il prodotto di numeri complessi compresi tra 2 e 29
|
COUPNUM = NUM.CED ## Restituisce il numero di cedole pagabili fra la data di liquidazione e la data di scadenza
|
||||||
IMREAL = COMP.PARTE.REALE ## Restituisce il coefficiente reale di un numero complesso
|
COUPPCD = DATA.CED.PREC ## Restituisce un numero che rappresenta la data della cedola precedente alla data di liquidazione
|
||||||
IMSIN = COMP.SEN ## Restituisce il seno di un numero complesso
|
CUMIPMT = INT.CUMUL ## Restituisce l'interesse cumulativo pagato fra due periodi
|
||||||
IMSQRT = COMP.RADQ ## Restituisce la radice quadrata di un numero complesso
|
CUMPRINC = CAP.CUM ## Restituisce il capitale cumulativo pagato per estinguere un debito fra due periodi
|
||||||
IMSUB = COMP.DIFF ## Restituisce la differenza fra due numeri complessi
|
DB = DB ## Restituisce l'ammortamento di un bene per un periodo specificato utilizzando il metodo di ammortamento a quote fisse decrescenti
|
||||||
IMSUM = COMP.SOMMA ## Restituisce la somma di numeri complessi
|
DDB = AMMORT ## Restituisce l'ammortamento di un bene per un periodo specificato utilizzando il metodo di ammortamento a doppie quote decrescenti o altri metodi specificati
|
||||||
OCT2BIN = OCT.BINARIO ## Converte un numero ottale in binario
|
DISC = TASSO.SCONTO ## Restituisce il tasso di sconto per un titolo
|
||||||
OCT2DEC = OCT.DECIMALE ## Converte un numero ottale in decimale
|
DOLLARDE = VALUTA.DEC ## Converte un prezzo valuta, espresso come frazione, in prezzo valuta, espresso come numero decimale
|
||||||
OCT2HEX = OCT.HEX ## Converte un numero ottale in esadecimale
|
DOLLARFR = VALUTA.FRAZ ## Converte un prezzo valuta, espresso come numero decimale, in prezzo valuta, espresso come frazione
|
||||||
|
DURATION = DURATA ## Restituisce la durata annuale di un titolo con i pagamenti di interesse periodico
|
||||||
|
EFFECT = EFFETTIVO ## Restituisce l'effettivo tasso di interesse annuo
|
||||||
##
|
FV = VAL.FUT ## Restituisce il valore futuro di un investimento
|
||||||
## Financial functions Funzioni finanziarie
|
FVSCHEDULE = VAL.FUT.CAPITALE ## Restituisce il valore futuro di un capitale iniziale dopo aver applicato una serie di tassi di interesse composti
|
||||||
##
|
INTRATE = TASSO.INT ## Restituisce il tasso di interesse per un titolo interamente investito
|
||||||
ACCRINT = INT.MATURATO.PER ## Restituisce l'interesse maturato di un titolo che paga interessi periodici
|
IPMT = INTERESSI ## Restituisce il valore degli interessi per un investimento relativo a un periodo specifico
|
||||||
ACCRINTM = INT.MATURATO.SCAD ## Restituisce l'interesse maturato di un titolo che paga interessi alla scadenza
|
IRR = TIR.COST ## Restituisce il tasso di rendimento interno per una serie di flussi di cassa
|
||||||
AMORDEGRC = AMMORT.DEGR ## Restituisce l'ammortamento per ogni periodo contabile utilizzando un coefficiente di ammortamento
|
ISPMT = INTERESSE.RATA ## Calcola l'interesse di un investimento pagato durante un periodo specifico
|
||||||
AMORLINC = AMMORT.PER ## Restituisce l'ammortamento per ogni periodo contabile
|
MDURATION = DURATA.M ## Restituisce la durata Macauley modificata per un titolo con un valore presunto di € 100
|
||||||
COUPDAYBS = GIORNI.CED.INIZ.LIQ ## Restituisce il numero dei giorni che vanno dall'inizio del periodo di durata della cedola alla data di liquidazione
|
MIRR = TIR.VAR ## Restituisce il tasso di rendimento interno in cui i flussi di cassa positivi e negativi sono finanziati a tassi differenti
|
||||||
COUPDAYS = GIORNI.CED ## Restituisce il numero dei giorni relativi al periodo della cedola che contiene la data di liquidazione
|
NOMINAL = NOMINALE ## Restituisce il tasso di interesse nominale annuale
|
||||||
COUPDAYSNC = GIORNI.CED.NUOVA ## Restituisce il numero di giorni che vanno dalla data di liquidazione alla data della cedola successiva
|
NPER = NUM.RATE ## Restituisce un numero di periodi relativi a un investimento
|
||||||
COUPNCD = DATA.CED.SUCC ## Restituisce un numero che rappresenta la data della cedola successiva alla data di liquidazione
|
NPV = VAN ## Restituisce il valore attuale netto di un investimento basato su una serie di flussi di cassa periodici e sul tasso di sconto
|
||||||
COUPNUM = NUM.CED ## Restituisce il numero di cedole pagabili fra la data di liquidazione e la data di scadenza
|
ODDFPRICE = PREZZO.PRIMO.IRR ## Restituisce il prezzo di un titolo dal valore nominale di € 100 avente il primo periodo di durata irregolare
|
||||||
COUPPCD = DATA.CED.PREC ## Restituisce un numero che rappresenta la data della cedola precedente alla data di liquidazione
|
ODDFYIELD = REND.PRIMO.IRR ## Restituisce il rendimento di un titolo avente il primo periodo di durata irregolare
|
||||||
CUMIPMT = INT.CUMUL ## Restituisce l'interesse cumulativo pagato fra due periodi
|
ODDLPRICE = PREZZO.ULTIMO.IRR ## Restituisce il prezzo di un titolo dal valore nominale di € 100 avente l'ultimo periodo di durata irregolare
|
||||||
CUMPRINC = CAP.CUM ## Restituisce il capitale cumulativo pagato per estinguere un debito fra due periodi
|
ODDLYIELD = REND.ULTIMO.IRR ## Restituisce il rendimento di un titolo avente l'ultimo periodo di durata irregolare
|
||||||
DB = DB ## Restituisce l'ammortamento di un bene per un periodo specificato utilizzando il metodo di ammortamento a quote fisse decrescenti
|
PMT = RATA ## Restituisce il pagamento periodico di una rendita annua
|
||||||
DDB = AMMORT ## Restituisce l'ammortamento di un bene per un periodo specificato utilizzando il metodo di ammortamento a doppie quote decrescenti o altri metodi specificati
|
PPMT = P.RATA ## Restituisce il pagamento sul capitale di un investimento per un dato periodo
|
||||||
DISC = TASSO.SCONTO ## Restituisce il tasso di sconto per un titolo
|
PRICE = PREZZO ## Restituisce il prezzo di un titolo dal valore nominale di € 100 che paga interessi periodici
|
||||||
DOLLARDE = VALUTA.DEC ## Converte un prezzo valuta, espresso come frazione, in prezzo valuta, espresso come numero decimale
|
PRICEDISC = PREZZO.SCONT ## Restituisce il prezzo di un titolo scontato dal valore nominale di € 100
|
||||||
DOLLARFR = VALUTA.FRAZ ## Converte un prezzo valuta, espresso come numero decimale, in prezzo valuta, espresso come frazione
|
PRICEMAT = PREZZO.SCAD ## Restituisce il prezzo di un titolo dal valore nominale di € 100 che paga gli interessi alla scadenza
|
||||||
DURATION = DURATA ## Restituisce la durata annuale di un titolo con i pagamenti di interesse periodico
|
PV = VA ## Restituisce il valore attuale di un investimento
|
||||||
EFFECT = EFFETTIVO ## Restituisce l'effettivo tasso di interesse annuo
|
RATE = TASSO ## Restituisce il tasso di interesse per un periodo di un'annualità
|
||||||
FV = VAL.FUT ## Restituisce il valore futuro di un investimento
|
RECEIVED = RICEV.SCAD ## Restituisce l'ammontare ricevuto alla scadenza di un titolo interamente investito
|
||||||
FVSCHEDULE = VAL.FUT.CAPITALE ## Restituisce il valore futuro di un capitale iniziale dopo aver applicato una serie di tassi di interesse composti
|
SLN = AMMORT.COST ## Restituisce l'ammortamento a quote costanti di un bene per un singolo periodo
|
||||||
INTRATE = TASSO.INT ## Restituisce il tasso di interesse per un titolo interamente investito
|
SYD = AMMORT.ANNUO ## Restituisce l'ammortamento a somma degli anni di un bene per un periodo specificato
|
||||||
IPMT = INTERESSI ## Restituisce il valore degli interessi per un investimento relativo a un periodo specifico
|
TBILLEQ = BOT.EQUIV ## Restituisce il rendimento equivalente ad un'obbligazione per un Buono ordinario del Tesoro
|
||||||
IRR = TIR.COST ## Restituisce il tasso di rendimento interno per una serie di flussi di cassa
|
TBILLPRICE = BOT.PREZZO ## Restituisce il prezzo di un Buono del Tesoro dal valore nominale di € 100
|
||||||
ISPMT = INTERESSE.RATA ## Calcola l'interesse di un investimento pagato durante un periodo specifico
|
TBILLYIELD = BOT.REND ## Restituisce il rendimento di un Buono del Tesoro
|
||||||
MDURATION = DURATA.M ## Restituisce la durata Macauley modificata per un titolo con un valore presunto di € 100
|
VDB = AMMORT.VAR ## Restituisce l'ammortamento di un bene per un periodo specificato o parziale utilizzando il metodo a doppie quote proporzionali ai valori residui
|
||||||
MIRR = TIR.VAR ## Restituisce il tasso di rendimento interno in cui i flussi di cassa positivi e negativi sono finanziati a tassi differenti
|
XIRR = TIR.X ## Restituisce il tasso di rendimento interno di un impiego di flussi di cassa
|
||||||
NOMINAL = NOMINALE ## Restituisce il tasso di interesse nominale annuale
|
XNPV = VAN.X ## Restituisce il valore attuale netto di un impiego di flussi di cassa non necessariamente periodici
|
||||||
NPER = NUM.RATE ## Restituisce un numero di periodi relativi a un investimento
|
YIELD = REND ## Restituisce il rendimento di un titolo che frutta interessi periodici
|
||||||
NPV = VAN ## Restituisce il valore attuale netto di un investimento basato su una serie di flussi di cassa periodici e sul tasso di sconto
|
YIELDDISC = REND.TITOLI.SCONT ## Restituisce il rendimento annuale di un titolo scontato, ad esempio un Buono del Tesoro
|
||||||
ODDFPRICE = PREZZO.PRIMO.IRR ## Restituisce il prezzo di un titolo dal valore nominale di € 100 avente il primo periodo di durata irregolare
|
YIELDMAT = REND.SCAD ## Restituisce il rendimento annuo di un titolo che paga interessi alla scadenza
|
||||||
ODDFYIELD = REND.PRIMO.IRR ## Restituisce il rendimento di un titolo avente il primo periodo di durata irregolare
|
|
||||||
ODDLPRICE = PREZZO.ULTIMO.IRR ## Restituisce il prezzo di un titolo dal valore nominale di € 100 avente l'ultimo periodo di durata irregolare
|
|
||||||
ODDLYIELD = REND.ULTIMO.IRR ## Restituisce il rendimento di un titolo avente l'ultimo periodo di durata irregolare
|
##
|
||||||
PMT = RATA ## Restituisce il pagamento periodico di una rendita annua
|
## Information functions Funzioni relative alle informazioni
|
||||||
PPMT = P.RATA ## Restituisce il pagamento sul capitale di un investimento per un dato periodo
|
##
|
||||||
PRICE = PREZZO ## Restituisce il prezzo di un titolo dal valore nominale di € 100 che paga interessi periodici
|
CELL = CELLA ## Restituisce le informazioni sulla formattazione, la posizione o i contenuti di una cella
|
||||||
PRICEDISC = PREZZO.SCONT ## Restituisce il prezzo di un titolo scontato dal valore nominale di € 100
|
ERROR.TYPE = ERRORE.TIPO ## Restituisce un numero che corrisponde a un tipo di errore
|
||||||
PRICEMAT = PREZZO.SCAD ## Restituisce il prezzo di un titolo dal valore nominale di € 100 che paga gli interessi alla scadenza
|
INFO = INFO ## Restituisce le informazioni sull'ambiente operativo corrente
|
||||||
PV = VA ## Restituisce il valore attuale di un investimento
|
ISBLANK = VAL.VUOTO ## Restituisce VERO se il valore è vuoto
|
||||||
RATE = TASSO ## Restituisce il tasso di interesse per un periodo di un'annualità
|
ISERR = VAL.ERR ## Restituisce VERO se il valore è un valore di errore qualsiasi tranne #N/D
|
||||||
RECEIVED = RICEV.SCAD ## Restituisce l'ammontare ricevuto alla scadenza di un titolo interamente investito
|
ISERROR = VAL.ERRORE ## Restituisce VERO se il valore è un valore di errore qualsiasi
|
||||||
SLN = AMMORT.COST ## Restituisce l'ammortamento a quote costanti di un bene per un singolo periodo
|
ISEVEN = VAL.PARI ## Restituisce VERO se il numero è pari
|
||||||
SYD = AMMORT.ANNUO ## Restituisce l'ammortamento a somma degli anni di un bene per un periodo specificato
|
ISLOGICAL = VAL.LOGICO ## Restituisce VERO se il valore è un valore logico
|
||||||
TBILLEQ = BOT.EQUIV ## Restituisce il rendimento equivalente ad un'obbligazione per un Buono ordinario del Tesoro
|
ISNA = VAL.NON.DISP ## Restituisce VERO se il valore è un valore di errore #N/D
|
||||||
TBILLPRICE = BOT.PREZZO ## Restituisce il prezzo di un Buono del Tesoro dal valore nominale di € 100
|
ISNONTEXT = VAL.NON.TESTO ## Restituisce VERO se il valore non è in formato testo
|
||||||
TBILLYIELD = BOT.REND ## Restituisce il rendimento di un Buono del Tesoro
|
ISNUMBER = VAL.NUMERO ## Restituisce VERO se il valore è un numero
|
||||||
VDB = AMMORT.VAR ## Restituisce l'ammortamento di un bene per un periodo specificato o parziale utilizzando il metodo a doppie quote proporzionali ai valori residui
|
ISODD = VAL.DISPARI ## Restituisce VERO se il numero è dispari
|
||||||
XIRR = TIR.X ## Restituisce il tasso di rendimento interno di un impiego di flussi di cassa
|
ISREF = VAL.RIF ## Restituisce VERO se il valore è un riferimento
|
||||||
XNPV = VAN.X ## Restituisce il valore attuale netto di un impiego di flussi di cassa non necessariamente periodici
|
ISTEXT = VAL.TESTO ## Restituisce VERO se il valore è in formato testo
|
||||||
YIELD = REND ## Restituisce il rendimento di un titolo che frutta interessi periodici
|
N = NUM ## Restituisce un valore convertito in numero
|
||||||
YIELDDISC = REND.TITOLI.SCONT ## Restituisce il rendimento annuale di un titolo scontato, ad esempio un Buono del Tesoro
|
NA = NON.DISP ## Restituisce il valore di errore #N/D
|
||||||
YIELDMAT = REND.SCAD ## Restituisce il rendimento annuo di un titolo che paga interessi alla scadenza
|
TYPE = TIPO ## Restituisce un numero che indica il tipo di dati relativi a un valore
|
||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Information functions Funzioni relative alle informazioni
|
## Logical functions Funzioni logiche
|
||||||
##
|
##
|
||||||
CELL = CELLA ## Restituisce le informazioni sulla formattazione, la posizione o i contenuti di una cella
|
AND = E ## Restituisce VERO se tutti gli argomenti sono VERO
|
||||||
ERROR.TYPE = ERRORE.TIPO ## Restituisce un numero che corrisponde a un tipo di errore
|
FALSE = FALSO ## Restituisce il valore logico FALSO
|
||||||
INFO = INFO ## Restituisce le informazioni sull'ambiente operativo corrente
|
IF = SE ## Specifica un test logico da eseguire
|
||||||
ISBLANK = VAL.VUOTO ## Restituisce VERO se il valore è vuoto
|
IFERROR = SE.ERRORE ## Restituisce un valore specificato se una formula fornisce un errore come risultato; in caso contrario, restituisce il risultato della formula
|
||||||
ISERR = VAL.ERR ## Restituisce VERO se il valore è un valore di errore qualsiasi tranne #N/D
|
NOT = NON ## Inverte la logica degli argomenti
|
||||||
ISERROR = VAL.ERRORE ## Restituisce VERO se il valore è un valore di errore qualsiasi
|
OR = O ## Restituisce VERO se un argomento qualsiasi è VERO
|
||||||
ISEVEN = VAL.PARI ## Restituisce VERO se il numero è pari
|
TRUE = VERO ## Restituisce il valore logico VERO
|
||||||
ISLOGICAL = VAL.LOGICO ## Restituisce VERO se il valore è un valore logico
|
|
||||||
ISNA = VAL.NON.DISP ## Restituisce VERO se il valore è un valore di errore #N/D
|
|
||||||
ISNONTEXT = VAL.NON.TESTO ## Restituisce VERO se il valore non è in formato testo
|
##
|
||||||
ISNUMBER = VAL.NUMERO ## Restituisce VERO se il valore è un numero
|
## Lookup and reference functions Funzioni di ricerca e di riferimento
|
||||||
ISODD = VAL.DISPARI ## Restituisce VERO se il numero è dispari
|
##
|
||||||
ISREF = VAL.RIF ## Restituisce VERO se il valore è un riferimento
|
ADDRESS = INDIRIZZO ## Restituisce un riferimento come testo in una singola cella di un foglio di lavoro
|
||||||
ISTEXT = VAL.TESTO ## Restituisce VERO se il valore è in formato testo
|
AREAS = AREE ## Restituisce il numero di aree in un riferimento
|
||||||
N = NUM ## Restituisce un valore convertito in numero
|
CHOOSE = SCEGLI ## Sceglie un valore da un elenco di valori
|
||||||
NA = NON.DISP ## Restituisce il valore di errore #N/D
|
COLUMN = RIF.COLONNA ## Restituisce il numero di colonna di un riferimento
|
||||||
TYPE = TIPO ## Restituisce un numero che indica il tipo di dati relativi a un valore
|
COLUMNS = COLONNE ## Restituisce il numero di colonne in un riferimento
|
||||||
|
HLOOKUP = CERCA.ORIZZ ## Effettua una ricerca nella riga superiore di una matrice e restituisce il valore della cella specificata
|
||||||
|
HYPERLINK = COLLEG.IPERTESTUALE ## Crea un collegamento che apre un documento memorizzato in un server di rete, una rete Intranet o Internet
|
||||||
##
|
INDEX = INDICE ## Utilizza un indice per scegliere un valore da un riferimento o da una matrice
|
||||||
## Logical functions Funzioni logiche
|
INDIRECT = INDIRETTO ## Restituisce un riferimento specificato da un valore testo
|
||||||
##
|
LOOKUP = CERCA ## Ricerca i valori in un vettore o in una matrice
|
||||||
AND = E ## Restituisce VERO se tutti gli argomenti sono VERO
|
MATCH = CONFRONTA ## Ricerca i valori in un riferimento o in una matrice
|
||||||
FALSE = FALSO ## Restituisce il valore logico FALSO
|
OFFSET = SCARTO ## Restituisce uno scarto di riferimento da un riferimento dato
|
||||||
IF = SE ## Specifica un test logico da eseguire
|
ROW = RIF.RIGA ## Restituisce il numero di riga di un riferimento
|
||||||
IFERROR = SE.ERRORE ## Restituisce un valore specificato se una formula fornisce un errore come risultato; in caso contrario, restituisce il risultato della formula
|
ROWS = RIGHE ## Restituisce il numero delle righe in un riferimento
|
||||||
NOT = NON ## Inverte la logica degli argomenti
|
RTD = DATITEMPOREALE ## Recupera dati in tempo reale da un programma che supporta l'automazione COM (automazione: Metodo per utilizzare gli oggetti di un'applicazione da un'altra applicazione o da un altro strumento di sviluppo. Precedentemente nota come automazione OLE, l'automazione è uno standard del settore e una caratteristica del modello COM (Component Object Model).)
|
||||||
OR = O ## Restituisce VERO se un argomento qualsiasi è VERO
|
TRANSPOSE = MATR.TRASPOSTA ## Restituisce la trasposizione di una matrice
|
||||||
TRUE = VERO ## Restituisce il valore logico VERO
|
VLOOKUP = CERCA.VERT ## Effettua una ricerca nella prima colonna di una matrice e si sposta attraverso la riga per restituire il valore di una cella
|
||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Lookup and reference functions Funzioni di ricerca e di riferimento
|
## Math and trigonometry functions Funzioni matematiche e trigonometriche
|
||||||
##
|
##
|
||||||
ADDRESS = INDIRIZZO ## Restituisce un riferimento come testo in una singola cella di un foglio di lavoro
|
ABS = ASS ## Restituisce il valore assoluto di un numero.
|
||||||
AREAS = AREE ## Restituisce il numero di aree in un riferimento
|
ACOS = ARCCOS ## Restituisce l'arcocoseno di un numero
|
||||||
CHOOSE = SCEGLI ## Sceglie un valore da un elenco di valori
|
ACOSH = ARCCOSH ## Restituisce l'inverso del coseno iperbolico di un numero
|
||||||
COLUMN = RIF.COLONNA ## Restituisce il numero di colonna di un riferimento
|
ASIN = ARCSEN ## Restituisce l'arcoseno di un numero
|
||||||
COLUMNS = COLONNE ## Restituisce il numero di colonne in un riferimento
|
ASINH = ARCSENH ## Restituisce l'inverso del seno iperbolico di un numero
|
||||||
HLOOKUP = CERCA.ORIZZ ## Effettua una ricerca nella riga superiore di una matrice e restituisce il valore della cella specificata
|
ATAN = ARCTAN ## Restituisce l'arcotangente di un numero
|
||||||
HYPERLINK = COLLEG.IPERTESTUALE ## Crea un collegamento che apre un documento memorizzato in un server di rete, una rete Intranet o Internet
|
ATAN2 = ARCTAN.2 ## Restituisce l'arcotangente delle coordinate x e y specificate
|
||||||
INDEX = INDICE ## Utilizza un indice per scegliere un valore da un riferimento o da una matrice
|
ATANH = ARCTANH ## Restituisce l'inverso della tangente iperbolica di un numero
|
||||||
INDIRECT = INDIRETTO ## Restituisce un riferimento specificato da un valore testo
|
CEILING = ARROTONDA.ECCESSO ## Arrotonda un numero per eccesso all'intero più vicino o al multiplo più vicino a peso
|
||||||
LOOKUP = CERCA ## Ricerca i valori in un vettore o in una matrice
|
COMBIN = COMBINAZIONE ## Restituisce il numero di combinazioni possibili per un numero assegnato di elementi
|
||||||
MATCH = CONFRONTA ## Ricerca i valori in un riferimento o in una matrice
|
COS = COS ## Restituisce il coseno dell'angolo specificato
|
||||||
OFFSET = SCARTO ## Restituisce uno scarto di riferimento da un riferimento dato
|
COSH = COSH ## Restituisce il coseno iperbolico di un numero
|
||||||
ROW = RIF.RIGA ## Restituisce il numero di riga di un riferimento
|
DEGREES = GRADI ## Converte i radianti in gradi
|
||||||
ROWS = RIGHE ## Restituisce il numero delle righe in un riferimento
|
EVEN = PARI ## Arrotonda il valore assoluto di un numero per eccesso al più vicino intero pari
|
||||||
RTD = DATITEMPOREALE ## Recupera dati in tempo reale da un programma che supporta l'automazione COM (automazione: Metodo per utilizzare gli oggetti di un'applicazione da un'altra applicazione o da un altro strumento di sviluppo. Precedentemente nota come automazione OLE, l'automazione è uno standard del settore e una caratteristica del modello COM (Component Object Model).)
|
EXP = ESP ## Restituisce il numero e elevato alla potenza di num
|
||||||
TRANSPOSE = MATR.TRASPOSTA ## Restituisce la trasposizione di una matrice
|
FACT = FATTORIALE ## Restituisce il fattoriale di un numero
|
||||||
VLOOKUP = CERCA.VERT ## Effettua una ricerca nella prima colonna di una matrice e si sposta attraverso la riga per restituire il valore di una cella
|
FACTDOUBLE = FATT.DOPPIO ## Restituisce il fattoriale doppio di un numero
|
||||||
|
FLOOR = ARROTONDA.DIFETTO ## Arrotonda un numero per difetto al multiplo più vicino a zero
|
||||||
|
GCD = MCD ## Restituisce il massimo comune divisore
|
||||||
##
|
INT = INT ## Arrotonda un numero per difetto al numero intero più vicino
|
||||||
## Math and trigonometry functions Funzioni matematiche e trigonometriche
|
LCM = MCM ## Restituisce il minimo comune multiplo
|
||||||
##
|
LN = LN ## Restituisce il logaritmo naturale di un numero
|
||||||
ABS = ASS ## Restituisce il valore assoluto di un numero.
|
LOG = LOG ## Restituisce il logaritmo di un numero in una specificata base
|
||||||
ACOS = ARCCOS ## Restituisce l'arcocoseno di un numero
|
LOG10 = LOG10 ## Restituisce il logaritmo in base 10 di un numero
|
||||||
ACOSH = ARCCOSH ## Restituisce l'inverso del coseno iperbolico di un numero
|
MDETERM = MATR.DETERM ## Restituisce il determinante di una matrice
|
||||||
ASIN = ARCSEN ## Restituisce l'arcoseno di un numero
|
MINVERSE = MATR.INVERSA ## Restituisce l'inverso di una matrice
|
||||||
ASINH = ARCSENH ## Restituisce l'inverso del seno iperbolico di un numero
|
MMULT = MATR.PRODOTTO ## Restituisce il prodotto di due matrici
|
||||||
ATAN = ARCTAN ## Restituisce l'arcotangente di un numero
|
MOD = RESTO ## Restituisce il resto della divisione
|
||||||
ATAN2 = ARCTAN.2 ## Restituisce l'arcotangente delle coordinate x e y specificate
|
MROUND = ARROTONDA.MULTIPLO ## Restituisce un numero arrotondato al multiplo desiderato
|
||||||
ATANH = ARCTANH ## Restituisce l'inverso della tangente iperbolica di un numero
|
MULTINOMIAL = MULTINOMIALE ## Restituisce il multinomiale di un insieme di numeri
|
||||||
CEILING = ARROTONDA.ECCESSO ## Arrotonda un numero per eccesso all'intero più vicino o al multiplo più vicino a peso
|
ODD = DISPARI ## Arrotonda un numero per eccesso al più vicino intero dispari
|
||||||
COMBIN = COMBINAZIONE ## Restituisce il numero di combinazioni possibili per un numero assegnato di elementi
|
PI = PI.GRECO ## Restituisce il valore di pi greco
|
||||||
COS = COS ## Restituisce il coseno dell'angolo specificato
|
POWER = POTENZA ## Restituisce il risultato di un numero elevato a potenza
|
||||||
COSH = COSH ## Restituisce il coseno iperbolico di un numero
|
PRODUCT = PRODOTTO ## Moltiplica i suoi argomenti
|
||||||
DEGREES = GRADI ## Converte i radianti in gradi
|
QUOTIENT = QUOZIENTE ## Restituisce la parte intera di una divisione
|
||||||
EVEN = PARI ## Arrotonda il valore assoluto di un numero per eccesso al più vicino intero pari
|
RADIANS = RADIANTI ## Converte i gradi in radianti
|
||||||
EXP = ESP ## Restituisce il numero e elevato alla potenza di num
|
RAND = CASUALE ## Restituisce un numero casuale compreso tra 0 e 1
|
||||||
FACT = FATTORIALE ## Restituisce il fattoriale di un numero
|
RANDBETWEEN = CASUALE.TRA ## Restituisce un numero casuale compreso tra i numeri specificati
|
||||||
FACTDOUBLE = FATT.DOPPIO ## Restituisce il fattoriale doppio di un numero
|
ROMAN = ROMANO ## Restituisce il numero come numero romano sotto forma di testo
|
||||||
FLOOR = ARROTONDA.DIFETTO ## Arrotonda un numero per difetto al multiplo più vicino a zero
|
ROUND = ARROTONDA ## Arrotonda il numero al numero di cifre specificato
|
||||||
GCD = MCD ## Restituisce il massimo comune divisore
|
ROUNDDOWN = ARROTONDA.PER.DIF ## Arrotonda il valore assoluto di un numero per difetto
|
||||||
INT = INT ## Arrotonda un numero per difetto al numero intero più vicino
|
ROUNDUP = ARROTONDA.PER.ECC ## Arrotonda il valore assoluto di un numero per eccesso
|
||||||
LCM = MCM ## Restituisce il minimo comune multiplo
|
SERIESSUM = SOMMA.SERIE ## Restituisce la somma di una serie di potenze in base alla formula
|
||||||
LN = LN ## Restituisce il logaritmo naturale di un numero
|
SIGN = SEGNO ## Restituisce il segno di un numero
|
||||||
LOG = LOG ## Restituisce il logaritmo di un numero in una specificata base
|
SIN = SEN ## Restituisce il seno di un dato angolo
|
||||||
LOG10 = LOG10 ## Restituisce il logaritmo in base 10 di un numero
|
SINH = SENH ## Restituisce il seno iperbolico di un numero
|
||||||
MDETERM = MATR.DETERM ## Restituisce il determinante di una matrice
|
SQRT = RADQ ## Restituisce una radice quadrata
|
||||||
MINVERSE = MATR.INVERSA ## Restituisce l'inverso di una matrice
|
SQRTPI = RADQ.PI.GRECO ## Restituisce la radice quadrata di un numero (numero * pi greco)
|
||||||
MMULT = MATR.PRODOTTO ## Restituisce il prodotto di due matrici
|
SUBTOTAL = SUBTOTALE ## Restituisce un subtotale in un elenco o in un database
|
||||||
MOD = RESTO ## Restituisce il resto della divisione
|
SUM = SOMMA ## Somma i suoi argomenti
|
||||||
MROUND = ARROTONDA.MULTIPLO ## Restituisce un numero arrotondato al multiplo desiderato
|
SUMIF = SOMMA.SE ## Somma le celle specificate da un dato criterio
|
||||||
MULTINOMIAL = MULTINOMIALE ## Restituisce il multinomiale di un insieme di numeri
|
SUMIFS = SOMMA.PIÙ.SE ## Somma le celle in un intervallo che soddisfano più criteri
|
||||||
ODD = DISPARI ## Arrotonda un numero per eccesso al più vicino intero dispari
|
SUMPRODUCT = MATR.SOMMA.PRODOTTO ## Restituisce la somma dei prodotti dei componenti corrispondenti della matrice
|
||||||
PI = PI.GRECO ## Restituisce il valore di pi greco
|
SUMSQ = SOMMA.Q ## Restituisce la somma dei quadrati degli argomenti
|
||||||
POWER = POTENZA ## Restituisce il risultato di un numero elevato a potenza
|
SUMX2MY2 = SOMMA.DIFF.Q ## Restituisce la somma della differenza dei quadrati dei corrispondenti elementi in due matrici
|
||||||
PRODUCT = PRODOTTO ## Moltiplica i suoi argomenti
|
SUMX2PY2 = SOMMA.SOMMA.Q ## Restituisce la somma della somma dei quadrati dei corrispondenti elementi in due matrici
|
||||||
QUOTIENT = QUOZIENTE ## Restituisce la parte intera di una divisione
|
SUMXMY2 = SOMMA.Q.DIFF ## Restituisce la somma dei quadrati delle differenze dei corrispondenti elementi in due matrici
|
||||||
RADIANS = RADIANTI ## Converte i gradi in radianti
|
TAN = TAN ## Restituisce la tangente di un numero
|
||||||
RAND = CASUALE ## Restituisce un numero casuale compreso tra 0 e 1
|
TANH = TANH ## Restituisce la tangente iperbolica di un numero
|
||||||
RANDBETWEEN = CASUALE.TRA ## Restituisce un numero casuale compreso tra i numeri specificati
|
TRUNC = TRONCA ## Tronca la parte decimale di un numero
|
||||||
ROMAN = ROMANO ## Restituisce il numero come numero romano sotto forma di testo
|
|
||||||
ROUND = ARROTONDA ## Arrotonda il numero al numero di cifre specificato
|
|
||||||
ROUNDDOWN = ARROTONDA.PER.DIF ## Arrotonda il valore assoluto di un numero per difetto
|
##
|
||||||
ROUNDUP = ARROTONDA.PER.ECC ## Arrotonda il valore assoluto di un numero per eccesso
|
## Statistical functions Funzioni statistiche
|
||||||
SERIESSUM = SOMMA.SERIE ## Restituisce la somma di una serie di potenze in base alla formula
|
##
|
||||||
SIGN = SEGNO ## Restituisce il segno di un numero
|
AVEDEV = MEDIA.DEV ## Restituisce la media delle deviazioni assolute delle coordinate rispetto alla loro media
|
||||||
SIN = SEN ## Restituisce il seno di un dato angolo
|
AVERAGE = MEDIA ## Restituisce la media degli argomenti
|
||||||
SINH = SENH ## Restituisce il seno iperbolico di un numero
|
AVERAGEA = MEDIA.VALORI ## Restituisce la media degli argomenti, inclusi i numeri, il testo e i valori logici
|
||||||
SQRT = RADQ ## Restituisce una radice quadrata
|
AVERAGEIF = MEDIA.SE ## Restituisce la media aritmetica di tutte le celle in un intervallo che soddisfano un determinato criterio
|
||||||
SQRTPI = RADQ.PI.GRECO ## Restituisce la radice quadrata di un numero (numero * pi greco)
|
AVERAGEIFS = MEDIA.PIÙ.SE ## Restituisce la media aritmetica di tutte le celle che soddisfano più criteri
|
||||||
SUBTOTAL = SUBTOTALE ## Restituisce un subtotale in un elenco o in un database
|
BETADIST = DISTRIB.BETA ## Restituisce la funzione di distribuzione cumulativa beta
|
||||||
SUM = SOMMA ## Somma i suoi argomenti
|
BETAINV = INV.BETA ## Restituisce l'inverso della funzione di distribuzione cumulativa per una distribuzione beta specificata
|
||||||
SUMIF = SOMMA.SE ## Somma le celle specificate da un dato criterio
|
BINOMDIST = DISTRIB.BINOM ## Restituisce la distribuzione binomiale per il termine individuale
|
||||||
SUMIFS = SOMMA.PIÙ.SE ## Somma le celle in un intervallo che soddisfano più criteri
|
CHIDIST = DISTRIB.CHI ## Restituisce la probabilità a una coda per la distribuzione del chi quadrato
|
||||||
SUMPRODUCT = MATR.SOMMA.PRODOTTO ## Restituisce la somma dei prodotti dei componenti corrispondenti della matrice
|
CHIINV = INV.CHI ## Restituisce l'inverso della probabilità ad una coda per la distribuzione del chi quadrato
|
||||||
SUMSQ = SOMMA.Q ## Restituisce la somma dei quadrati degli argomenti
|
CHITEST = TEST.CHI ## Restituisce il test per l'indipendenza
|
||||||
SUMX2MY2 = SOMMA.DIFF.Q ## Restituisce la somma della differenza dei quadrati dei corrispondenti elementi in due matrici
|
CONFIDENCE = CONFIDENZA ## Restituisce l'intervallo di confidenza per una popolazione
|
||||||
SUMX2PY2 = SOMMA.SOMMA.Q ## Restituisce la somma della somma dei quadrati dei corrispondenti elementi in due matrici
|
CORREL = CORRELAZIONE ## Restituisce il coefficiente di correlazione tra due insiemi di dati
|
||||||
SUMXMY2 = SOMMA.Q.DIFF ## Restituisce la somma dei quadrati delle differenze dei corrispondenti elementi in due matrici
|
COUNT = CONTA.NUMERI ## Conta la quantità di numeri nell'elenco di argomenti
|
||||||
TAN = TAN ## Restituisce la tangente di un numero
|
COUNTA = CONTA.VALORI ## Conta il numero di valori nell'elenco di argomenti
|
||||||
TANH = TANH ## Restituisce la tangente iperbolica di un numero
|
COUNTBLANK = CONTA.VUOTE ## Conta il numero di celle vuote all'interno di un intervallo
|
||||||
TRUNC = TRONCA ## Tronca la parte decimale di un numero
|
COUNTIF = CONTA.SE ## Conta il numero di celle all'interno di un intervallo che soddisfa i criteri specificati
|
||||||
|
COUNTIFS = CONTA.PIÙ.SE ## Conta il numero di celle in un intervallo che soddisfano più criteri.
|
||||||
|
COVAR = COVARIANZA ## Calcola la covarianza, la media dei prodotti delle deviazioni accoppiate
|
||||||
##
|
CRITBINOM = CRIT.BINOM ## Restituisce il più piccolo valore per il quale la distribuzione cumulativa binomiale risulta maggiore o uguale ad un valore di criterio
|
||||||
## Statistical functions Funzioni statistiche
|
DEVSQ = DEV.Q ## Restituisce la somma dei quadrati delle deviazioni
|
||||||
##
|
EXPONDIST = DISTRIB.EXP ## Restituisce la distribuzione esponenziale
|
||||||
AVEDEV = MEDIA.DEV ## Restituisce la media delle deviazioni assolute delle coordinate rispetto alla loro media
|
FDIST = DISTRIB.F ## Restituisce la distribuzione di probabilità F
|
||||||
AVERAGE = MEDIA ## Restituisce la media degli argomenti
|
FINV = INV.F ## Restituisce l'inverso della distribuzione della probabilità F
|
||||||
AVERAGEA = MEDIA.VALORI ## Restituisce la media degli argomenti, inclusi i numeri, il testo e i valori logici
|
FISHER = FISHER ## Restituisce la trasformazione di Fisher
|
||||||
AVERAGEIF = MEDIA.SE ## Restituisce la media aritmetica di tutte le celle in un intervallo che soddisfano un determinato criterio
|
FISHERINV = INV.FISHER ## Restituisce l'inverso della trasformazione di Fisher
|
||||||
AVERAGEIFS = MEDIA.PIÙ.SE ## Restituisce la media aritmetica di tutte le celle che soddisfano più criteri
|
FORECAST = PREVISIONE ## Restituisce i valori lungo una tendenza lineare
|
||||||
BETADIST = DISTRIB.BETA ## Restituisce la funzione di distribuzione cumulativa beta
|
FREQUENCY = FREQUENZA ## Restituisce la distribuzione di frequenza come matrice verticale
|
||||||
BETAINV = INV.BETA ## Restituisce l'inverso della funzione di distribuzione cumulativa per una distribuzione beta specificata
|
FTEST = TEST.F ## Restituisce il risultato di un test F
|
||||||
BINOMDIST = DISTRIB.BINOM ## Restituisce la distribuzione binomiale per il termine individuale
|
GAMMADIST = DISTRIB.GAMMA ## Restituisce la distribuzione gamma
|
||||||
CHIDIST = DISTRIB.CHI ## Restituisce la probabilità a una coda per la distribuzione del chi quadrato
|
GAMMAINV = INV.GAMMA ## Restituisce l'inverso della distribuzione cumulativa gamma
|
||||||
CHIINV = INV.CHI ## Restituisce l'inverso della probabilità ad una coda per la distribuzione del chi quadrato
|
GAMMALN = LN.GAMMA ## Restituisce il logaritmo naturale della funzione gamma, G(x)
|
||||||
CHITEST = TEST.CHI ## Restituisce il test per l'indipendenza
|
GEOMEAN = MEDIA.GEOMETRICA ## Restituisce la media geometrica
|
||||||
CONFIDENCE = CONFIDENZA ## Restituisce l'intervallo di confidenza per una popolazione
|
GROWTH = CRESCITA ## Restituisce i valori lungo una linea di tendenza esponenziale
|
||||||
CORREL = CORRELAZIONE ## Restituisce il coefficiente di correlazione tra due insiemi di dati
|
HARMEAN = MEDIA.ARMONICA ## Restituisce la media armonica
|
||||||
COUNT = CONTA.NUMERI ## Conta la quantità di numeri nell'elenco di argomenti
|
HYPGEOMDIST = DISTRIB.IPERGEOM ## Restituisce la distribuzione ipergeometrica
|
||||||
COUNTA = CONTA.VALORI ## Conta il numero di valori nell'elenco di argomenti
|
INTERCEPT = INTERCETTA ## Restituisce l'intercetta della retta di regressione lineare
|
||||||
COUNTBLANK = CONTA.VUOTE ## Conta il numero di celle vuote all'interno di un intervallo
|
KURT = CURTOSI ## Restituisce la curtosi di un insieme di dati
|
||||||
COUNTIF = CONTA.SE ## Conta il numero di celle all'interno di un intervallo che soddisfa i criteri specificati
|
LARGE = GRANDE ## Restituisce il k-esimo valore più grande in un insieme di dati
|
||||||
COUNTIFS = CONTA.PIÙ.SE ## Conta il numero di celle in un intervallo che soddisfano più criteri.
|
LINEST = REGR.LIN ## Restituisce i parametri di una tendenza lineare
|
||||||
COVAR = COVARIANZA ## Calcola la covarianza, la media dei prodotti delle deviazioni accoppiate
|
LOGEST = REGR.LOG ## Restituisce i parametri di una linea di tendenza esponenziale
|
||||||
CRITBINOM = CRIT.BINOM ## Restituisce il più piccolo valore per il quale la distribuzione cumulativa binomiale risulta maggiore o uguale ad un valore di criterio
|
LOGINV = INV.LOGNORM ## Restituisce l'inverso di una distribuzione lognormale
|
||||||
DEVSQ = DEV.Q ## Restituisce la somma dei quadrati delle deviazioni
|
LOGNORMDIST = DISTRIB.LOGNORM ## Restituisce la distribuzione lognormale cumulativa
|
||||||
EXPONDIST = DISTRIB.EXP ## Restituisce la distribuzione esponenziale
|
MAX = MAX ## Restituisce il valore massimo in un elenco di argomenti
|
||||||
FDIST = DISTRIB.F ## Restituisce la distribuzione di probabilità F
|
MAXA = MAX.VALORI ## Restituisce il valore massimo in un elenco di argomenti, inclusi i numeri, il testo e i valori logici
|
||||||
FINV = INV.F ## Restituisce l'inverso della distribuzione della probabilità F
|
MEDIAN = MEDIANA ## Restituisce la mediana dei numeri specificati
|
||||||
FISHER = FISHER ## Restituisce la trasformazione di Fisher
|
MIN = MIN ## Restituisce il valore minimo in un elenco di argomenti
|
||||||
FISHERINV = INV.FISHER ## Restituisce l'inverso della trasformazione di Fisher
|
MINA = MIN.VALORI ## Restituisce il più piccolo valore in un elenco di argomenti, inclusi i numeri, il testo e i valori logici
|
||||||
FORECAST = PREVISIONE ## Restituisce i valori lungo una tendenza lineare
|
MODE = MODA ## Restituisce il valore più comune in un insieme di dati
|
||||||
FREQUENCY = FREQUENZA ## Restituisce la distribuzione di frequenza come matrice verticale
|
NEGBINOMDIST = DISTRIB.BINOM.NEG ## Restituisce la distribuzione binomiale negativa
|
||||||
FTEST = TEST.F ## Restituisce il risultato di un test F
|
NORMDIST = DISTRIB.NORM ## Restituisce la distribuzione cumulativa normale
|
||||||
GAMMADIST = DISTRIB.GAMMA ## Restituisce la distribuzione gamma
|
NORMINV = INV.NORM ## Restituisce l'inverso della distribuzione cumulativa normale standard
|
||||||
GAMMAINV = INV.GAMMA ## Restituisce l'inverso della distribuzione cumulativa gamma
|
NORMSDIST = DISTRIB.NORM.ST ## Restituisce la distribuzione cumulativa normale standard
|
||||||
GAMMALN = LN.GAMMA ## Restituisce il logaritmo naturale della funzione gamma, G(x)
|
NORMSINV = INV.NORM.ST ## Restituisce l'inverso della distribuzione cumulativa normale
|
||||||
GEOMEAN = MEDIA.GEOMETRICA ## Restituisce la media geometrica
|
PEARSON = PEARSON ## Restituisce il coefficiente del momento di correlazione di Pearson
|
||||||
GROWTH = CRESCITA ## Restituisce i valori lungo una linea di tendenza esponenziale
|
PERCENTILE = PERCENTILE ## Restituisce il k-esimo dato percentile di valori in un intervallo
|
||||||
HARMEAN = MEDIA.ARMONICA ## Restituisce la media armonica
|
PERCENTRANK = PERCENT.RANGO ## Restituisce il rango di un valore in un insieme di dati come percentuale
|
||||||
HYPGEOMDIST = DISTRIB.IPERGEOM ## Restituisce la distribuzione ipergeometrica
|
PERMUT = PERMUTAZIONE ## Restituisce il numero delle permutazioni per un determinato numero di oggetti
|
||||||
INTERCEPT = INTERCETTA ## Restituisce l'intercetta della retta di regressione lineare
|
POISSON = POISSON ## Restituisce la distribuzione di Poisson
|
||||||
KURT = CURTOSI ## Restituisce la curtosi di un insieme di dati
|
PROB = PROBABILITÀ ## Calcola la probabilità che dei valori in un intervallo siano compresi tra due limiti
|
||||||
LARGE = GRANDE ## Restituisce il k-esimo valore più grande in un insieme di dati
|
QUARTILE = QUARTILE ## Restituisce il quartile di un insieme di dati
|
||||||
LINEST = REGR.LIN ## Restituisce i parametri di una tendenza lineare
|
RANK = RANGO ## Restituisce il rango di un numero in un elenco di numeri
|
||||||
LOGEST = REGR.LOG ## Restituisce i parametri di una linea di tendenza esponenziale
|
RSQ = RQ ## Restituisce la radice quadrata del coefficiente di momento di correlazione di Pearson
|
||||||
LOGINV = INV.LOGNORM ## Restituisce l'inverso di una distribuzione lognormale
|
SKEW = ASIMMETRIA ## Restituisce il grado di asimmetria di una distribuzione
|
||||||
LOGNORMDIST = DISTRIB.LOGNORM ## Restituisce la distribuzione lognormale cumulativa
|
SLOPE = PENDENZA ## Restituisce la pendenza di una retta di regressione lineare
|
||||||
MAX = MAX ## Restituisce il valore massimo in un elenco di argomenti
|
SMALL = PICCOLO ## Restituisce il k-esimo valore più piccolo in un insieme di dati
|
||||||
MAXA = MAX.VALORI ## Restituisce il valore massimo in un elenco di argomenti, inclusi i numeri, il testo e i valori logici
|
STANDARDIZE = NORMALIZZA ## Restituisce un valore normalizzato
|
||||||
MEDIAN = MEDIANA ## Restituisce la mediana dei numeri specificati
|
STDEV = DEV.ST ## Restituisce una stima della deviazione standard sulla base di un campione
|
||||||
MIN = MIN ## Restituisce il valore minimo in un elenco di argomenti
|
STDEVA = DEV.ST.VALORI ## Restituisce una stima della deviazione standard sulla base di un campione, inclusi i numeri, il testo e i valori logici
|
||||||
MINA = MIN.VALORI ## Restituisce il più piccolo valore in un elenco di argomenti, inclusi i numeri, il testo e i valori logici
|
STDEVP = DEV.ST.POP ## Calcola la deviazione standard sulla base di un'intera popolazione
|
||||||
MODE = MODA ## Restituisce il valore più comune in un insieme di dati
|
STDEVPA = DEV.ST.POP.VALORI ## Calcola la deviazione standard sulla base sull'intera popolazione, inclusi i numeri, il testo e i valori logici
|
||||||
NEGBINOMDIST = DISTRIB.BINOM.NEG ## Restituisce la distribuzione binomiale negativa
|
STEYX = ERR.STD.YX ## Restituisce l'errore standard del valore previsto per y per ogni valore x nella regressione
|
||||||
NORMDIST = DISTRIB.NORM ## Restituisce la distribuzione cumulativa normale
|
TDIST = DISTRIB.T ## Restituisce la distribuzione t di Student
|
||||||
NORMINV = INV.NORM ## Restituisce l'inverso della distribuzione cumulativa normale standard
|
TINV = INV.T ## Restituisce l'inversa della distribuzione t di Student
|
||||||
NORMSDIST = DISTRIB.NORM.ST ## Restituisce la distribuzione cumulativa normale standard
|
TREND = TENDENZA ## Restituisce i valori lungo una linea di tendenza lineare
|
||||||
NORMSINV = INV.NORM.ST ## Restituisce l'inverso della distribuzione cumulativa normale
|
TRIMMEAN = MEDIA.TRONCATA ## Restituisce la media della parte interna di un insieme di dati
|
||||||
PEARSON = PEARSON ## Restituisce il coefficiente del momento di correlazione di Pearson
|
TTEST = TEST.T ## Restituisce la probabilità associata ad un test t di Student
|
||||||
PERCENTILE = PERCENTILE ## Restituisce il k-esimo dato percentile di valori in un intervallo
|
VAR = VAR ## Stima la varianza sulla base di un campione
|
||||||
PERCENTRANK = PERCENT.RANGO ## Restituisce il rango di un valore in un insieme di dati come percentuale
|
VARA = VAR.VALORI ## Stima la varianza sulla base di un campione, inclusi i numeri, il testo e i valori logici
|
||||||
PERMUT = PERMUTAZIONE ## Restituisce il numero delle permutazioni per un determinato numero di oggetti
|
VARP = VAR.POP ## Calcola la varianza sulla base dell'intera popolazione
|
||||||
POISSON = POISSON ## Restituisce la distribuzione di Poisson
|
VARPA = VAR.POP.VALORI ## Calcola la deviazione standard sulla base sull'intera popolazione, inclusi i numeri, il testo e i valori logici
|
||||||
PROB = PROBABILITÀ ## Calcola la probabilità che dei valori in un intervallo siano compresi tra due limiti
|
WEIBULL = WEIBULL ## Restituisce la distribuzione di Weibull
|
||||||
QUARTILE = QUARTILE ## Restituisce il quartile di un insieme di dati
|
ZTEST = TEST.Z ## Restituisce il valore di probabilità a una coda per un test z
|
||||||
RANK = RANGO ## Restituisce il rango di un numero in un elenco di numeri
|
|
||||||
RSQ = RQ ## Restituisce la radice quadrata del coefficiente di momento di correlazione di Pearson
|
|
||||||
SKEW = ASIMMETRIA ## Restituisce il grado di asimmetria di una distribuzione
|
##
|
||||||
SLOPE = PENDENZA ## Restituisce la pendenza di una retta di regressione lineare
|
## Text functions Funzioni di testo
|
||||||
SMALL = PICCOLO ## Restituisce il k-esimo valore più piccolo in un insieme di dati
|
##
|
||||||
STANDARDIZE = NORMALIZZA ## Restituisce un valore normalizzato
|
ASC = ASC ## Modifica le lettere inglesi o il katakana a doppio byte all'interno di una stringa di caratteri in caratteri a singolo byte
|
||||||
STDEV = DEV.ST ## Restituisce una stima della deviazione standard sulla base di un campione
|
BAHTTEXT = BAHTTESTO ## Converte un numero in testo, utilizzando il formato valuta ß (baht)
|
||||||
STDEVA = DEV.ST.VALORI ## Restituisce una stima della deviazione standard sulla base di un campione, inclusi i numeri, il testo e i valori logici
|
CHAR = CODICE.CARATT ## Restituisce il carattere specificato dal numero di codice
|
||||||
STDEVP = DEV.ST.POP ## Calcola la deviazione standard sulla base di un'intera popolazione
|
CLEAN = LIBERA ## Elimina dal testo tutti i caratteri che non è possibile stampare
|
||||||
STDEVPA = DEV.ST.POP.VALORI ## Calcola la deviazione standard sulla base sull'intera popolazione, inclusi i numeri, il testo e i valori logici
|
CODE = CODICE ## Restituisce il codice numerico del primo carattere di una stringa di testo
|
||||||
STEYX = ERR.STD.YX ## Restituisce l'errore standard del valore previsto per y per ogni valore x nella regressione
|
CONCATENATE = CONCATENA ## Unisce diversi elementi di testo in un unico elemento di testo
|
||||||
TDIST = DISTRIB.T ## Restituisce la distribuzione t di Student
|
DOLLAR = VALUTA ## Converte un numero in testo, utilizzando il formato valuta € (euro)
|
||||||
TINV = INV.T ## Restituisce l'inversa della distribuzione t di Student
|
EXACT = IDENTICO ## Verifica se due valori di testo sono uguali
|
||||||
TREND = TENDENZA ## Restituisce i valori lungo una linea di tendenza lineare
|
FIND = TROVA ## Rileva un valore di testo all'interno di un altro (distinzione tra maiuscole e minuscole)
|
||||||
TRIMMEAN = MEDIA.TRONCATA ## Restituisce la media della parte interna di un insieme di dati
|
FINDB = TROVA.B ## Rileva un valore di testo all'interno di un altro (distinzione tra maiuscole e minuscole)
|
||||||
TTEST = TEST.T ## Restituisce la probabilità associata ad un test t di Student
|
FIXED = FISSO ## Formatta un numero come testo con un numero fisso di decimali
|
||||||
VAR = VAR ## Stima la varianza sulla base di un campione
|
JIS = ORDINAMENTO.JIS ## Modifica le lettere inglesi o i caratteri katakana a byte singolo all'interno di una stringa di caratteri in caratteri a byte doppio.
|
||||||
VARA = VAR.VALORI ## Stima la varianza sulla base di un campione, inclusi i numeri, il testo e i valori logici
|
LEFT = SINISTRA ## Restituisce il carattere più a sinistra di un valore di testo
|
||||||
VARP = VAR.POP ## Calcola la varianza sulla base dell'intera popolazione
|
LEFTB = SINISTRA.B ## Restituisce il carattere più a sinistra di un valore di testo
|
||||||
VARPA = VAR.POP.VALORI ## Calcola la deviazione standard sulla base sull'intera popolazione, inclusi i numeri, il testo e i valori logici
|
LEN = LUNGHEZZA ## Restituisce il numero di caratteri di una stringa di testo
|
||||||
WEIBULL = WEIBULL ## Restituisce la distribuzione di Weibull
|
LENB = LUNB ## Restituisce il numero di caratteri di una stringa di testo
|
||||||
ZTEST = TEST.Z ## Restituisce il valore di probabilità a una coda per un test z
|
LOWER = MINUSC ## Converte il testo in lettere minuscole
|
||||||
|
MID = MEDIA ## Restituisce un numero specifico di caratteri di una stringa di testo a partire dalla posizione specificata
|
||||||
|
MIDB = MEDIA.B ## Restituisce un numero specifico di caratteri di una stringa di testo a partire dalla posizione specificata
|
||||||
##
|
PHONETIC = FURIGANA ## Estrae i caratteri fonetici (furigana) da una stringa di testo.
|
||||||
## Text functions Funzioni di testo
|
PROPER = MAIUSC.INIZ ## Converte in maiuscolo la prima lettera di ogni parola di un valore di testo
|
||||||
##
|
REPLACE = RIMPIAZZA ## Sostituisce i caratteri all'interno di un testo
|
||||||
ASC = ASC ## Modifica le lettere inglesi o il katakana a doppio byte all'interno di una stringa di caratteri in caratteri a singolo byte
|
REPLACEB = SOSTITUISCI.B ## Sostituisce i caratteri all'interno di un testo
|
||||||
BAHTTEXT = BAHTTESTO ## Converte un numero in testo, utilizzando il formato valuta ß (baht)
|
REPT = RIPETI ## Ripete un testo per un dato numero di volte
|
||||||
CHAR = CODICE.CARATT ## Restituisce il carattere specificato dal numero di codice
|
RIGHT = DESTRA ## Restituisce il carattere più a destra di un valore di testo
|
||||||
CLEAN = LIBERA ## Elimina dal testo tutti i caratteri che non è possibile stampare
|
RIGHTB = DESTRA.B ## Restituisce il carattere più a destra di un valore di testo
|
||||||
CODE = CODICE ## Restituisce il codice numerico del primo carattere di una stringa di testo
|
SEARCH = RICERCA ## Rileva un valore di testo all'interno di un altro (non è sensibile alle maiuscole e minuscole)
|
||||||
CONCATENATE = CONCATENA ## Unisce diversi elementi di testo in un unico elemento di testo
|
SEARCHB = CERCA.B ## Rileva un valore di testo all'interno di un altro (non è sensibile alle maiuscole e minuscole)
|
||||||
DOLLAR = VALUTA ## Converte un numero in testo, utilizzando il formato valuta € (euro)
|
SUBSTITUTE = SOSTITUISCI ## Sostituisce il nuovo testo al testo contenuto in una stringa
|
||||||
EXACT = IDENTICO ## Verifica se due valori di testo sono uguali
|
T = T ## Converte gli argomenti in testo
|
||||||
FIND = TROVA ## Rileva un valore di testo all'interno di un altro (distinzione tra maiuscole e minuscole)
|
TEXT = TESTO ## Formatta un numero e lo converte in testo
|
||||||
FINDB = TROVA.B ## Rileva un valore di testo all'interno di un altro (distinzione tra maiuscole e minuscole)
|
TRIM = ANNULLA.SPAZI ## Elimina gli spazi dal testo
|
||||||
FIXED = FISSO ## Formatta un numero come testo con un numero fisso di decimali
|
UPPER = MAIUSC ## Converte il testo in lettere maiuscole
|
||||||
JIS = ORDINAMENTO.JIS ## Modifica le lettere inglesi o i caratteri katakana a byte singolo all'interno di una stringa di caratteri in caratteri a byte doppio.
|
VALUE = VALORE ## Converte un argomento di testo in numero
|
||||||
LEFT = SINISTRA ## Restituisce il carattere più a sinistra di un valore di testo
|
|
||||||
LEFTB = SINISTRA.B ## Restituisce il carattere più a sinistra di un valore di testo
|
|
||||||
LEN = LUNGHEZZA ## Restituisce il numero di caratteri di una stringa di testo
|
|
||||||
LENB = LUNB ## Restituisce il numero di caratteri di una stringa di testo
|
|
||||||
LOWER = MINUSC ## Converte il testo in lettere minuscole
|
|
||||||
MID = MEDIA ## Restituisce un numero specifico di caratteri di una stringa di testo a partire dalla posizione specificata
|
|
||||||
MIDB = MEDIA.B ## Restituisce un numero specifico di caratteri di una stringa di testo a partire dalla posizione specificata
|
|
||||||
PHONETIC = FURIGANA ## Estrae i caratteri fonetici (furigana) da una stringa di testo.
|
|
||||||
PROPER = MAIUSC.INIZ ## Converte in maiuscolo la prima lettera di ogni parola di un valore di testo
|
|
||||||
REPLACE = RIMPIAZZA ## Sostituisce i caratteri all'interno di un testo
|
|
||||||
REPLACEB = SOSTITUISCI.B ## Sostituisce i caratteri all'interno di un testo
|
|
||||||
REPT = RIPETI ## Ripete un testo per un dato numero di volte
|
|
||||||
RIGHT = DESTRA ## Restituisce il carattere più a destra di un valore di testo
|
|
||||||
RIGHTB = DESTRA.B ## Restituisce il carattere più a destra di un valore di testo
|
|
||||||
SEARCH = RICERCA ## Rileva un valore di testo all'interno di un altro (non è sensibile alle maiuscole e minuscole)
|
|
||||||
SEARCHB = CERCA.B ## Rileva un valore di testo all'interno di un altro (non è sensibile alle maiuscole e minuscole)
|
|
||||||
SUBSTITUTE = SOSTITUISCI ## Sostituisce il nuovo testo al testo contenuto in una stringa
|
|
||||||
T = T ## Converte gli argomenti in testo
|
|
||||||
TEXT = TESTO ## Formatta un numero e lo converte in testo
|
|
||||||
TRIM = ANNULLA.SPAZI ## Elimina gli spazi dal testo
|
|
||||||
UPPER = MAIUSC ## Converte il testo in lettere maiuscole
|
|
||||||
VALUE = VALORE ## Converte un argomento di testo in numero
|
|
||||||
24
PhpOffice/PhpSpreadsheet/Calculation/locale/nl/config
Normal file
24
PhpOffice/PhpSpreadsheet/Calculation/locale/nl/config
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
##
|
||||||
|
## PhpSpreadsheet
|
||||||
|
##
|
||||||
|
|
||||||
|
ArgumentSeparator = ;
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## (For future use)
|
||||||
|
##
|
||||||
|
currencySymbol = €
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## Excel Error Codes (For future use)
|
||||||
|
|
||||||
|
##
|
||||||
|
NULL = #LEEG!
|
||||||
|
DIV0 = #DEEL/0!
|
||||||
|
VALUE = #WAARDE!
|
||||||
|
REF = #VERW!
|
||||||
|
NAME = #NAAM?
|
||||||
|
NUM = #GETAL!
|
||||||
|
NA = #N/B
|
||||||
|
|
@ -1,438 +1,416 @@
|
||||||
##
|
##
|
||||||
## PHPExcel
|
## PhpSpreadsheet
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Data in this file derived from https://www.excel-function-translation.com/
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
##
|
||||||
## modify it under the terms of the GNU Lesser General Public
|
|
||||||
## License as published by the Free Software Foundation; either
|
|
||||||
## version 2.1 of the License, or (at your option) any later version.
|
##
|
||||||
##
|
## Add-in and Automation functions Automatiseringsfuncties en functies in invoegtoepassingen
|
||||||
## This library is distributed in the hope that it will be useful,
|
##
|
||||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
GETPIVOTDATA = DRAAITABEL.OPHALEN ## Geeft gegevens uit een draaitabelrapport als resultaat
|
||||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
## Lesser General Public License for more details.
|
|
||||||
##
|
##
|
||||||
## You should have received a copy of the GNU Lesser General Public
|
## Cube functions Kubusfuncties
|
||||||
## License along with this library; if not, write to the Free Software
|
##
|
||||||
## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
CUBEKPIMEMBER = KUBUSKPILID ## Retourneert de naam, eigenschap en waarde van een KPI (prestatie-indicator) en geeft de naam en de eigenschap in de cel weer. Een KPI is een meetbare waarde, zoals de maandelijkse brutowinst of de omzet per kwartaal per werknemer, die wordt gebruikt om de prestaties van een organisatie te bewaken
|
||||||
##
|
CUBEMEMBER = KUBUSLID ## Retourneert een lid of tupel in een kubushiërarchie. Wordt gebruikt om te controleren of het lid of de tupel in de kubus aanwezig is
|
||||||
## @category PHPExcel
|
CUBEMEMBERPROPERTY = KUBUSLIDEIGENSCHAP ## Retourneert de waarde van een lideigenschap in de kubus. Wordt gebruikt om te controleren of de lidnaam in de kubus bestaat en retourneert de opgegeven eigenschap voor dit lid
|
||||||
## @package PHPExcel_Calculation
|
CUBERANKEDMEMBER = KUBUSGERANGCHIKTLID ## Retourneert het zoveelste, gerangschikte lid in een set. Wordt gebruikt om een of meer elementen in een set te retourneren, zoals de tien beste verkopers of de tien beste studenten
|
||||||
## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
CUBESET = KUBUSSET ## Definieert een berekende set leden of tupels door een ingestelde expressie naar de kubus op de server te sturen, alwaar de set wordt gemaakt en vervolgens wordt geretourneerd naar Microsoft Office Excel
|
||||||
## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
CUBESETCOUNT = KUBUSSETAANTAL ## Retourneert het aantal onderdelen in een set
|
||||||
## @version ##VERSION##, ##DATE##
|
CUBEVALUE = KUBUSWAARDE ## Retourneert een samengestelde waarde van een kubus
|
||||||
##
|
|
||||||
## Data in this file derived from http://www.piuha.fi/excel-function-name-translation/
|
|
||||||
##
|
##
|
||||||
##
|
## Database functions Databasefuncties
|
||||||
|
##
|
||||||
|
DAVERAGE = DBGEMIDDELDE ## Berekent de gemiddelde waarde in geselecteerde databasegegevens
|
||||||
##
|
DCOUNT = DBAANTAL ## Telt de cellen met getallen in een database
|
||||||
## Add-in and Automation functions Automatiseringsfuncties en functies in invoegtoepassingen
|
DCOUNTA = DBAANTALC ## Telt de niet-lege cellen in een database
|
||||||
##
|
DGET = DBLEZEN ## Retourneert één record dat voldoet aan de opgegeven criteria uit een database
|
||||||
GETPIVOTDATA = DRAAITABEL.OPHALEN ## Geeft gegevens uit een draaitabelrapport als resultaat
|
DMAX = DBMAX ## Retourneert de maximumwaarde in de geselecteerde databasegegevens
|
||||||
|
DMIN = DBMIN ## Retourneert de minimumwaarde in de geselecteerde databasegegevens
|
||||||
|
DPRODUCT = DBPRODUCT ## Vermenigvuldigt de waarden in een bepaald veld van de records die voldoen aan de criteria in een database
|
||||||
##
|
DSTDEV = DBSTDEV ## Maakt een schatting van de standaarddeviatie op basis van een steekproef uit geselecteerde databasegegevens
|
||||||
## Cube functions Kubusfuncties
|
DSTDEVP = DBSTDEVP ## Berekent de standaarddeviatie op basis van de volledige populatie van geselecteerde databasegegevens
|
||||||
##
|
DSUM = DBSOM ## Telt de getallen uit een kolom records in de database op die voldoen aan de criteria
|
||||||
CUBEKPIMEMBER = KUBUSKPILID ## Retourneert de naam, eigenschap en waarde van een KPI (prestatie-indicator) en geeft de naam en de eigenschap in de cel weer. Een KPI is een meetbare waarde, zoals de maandelijkse brutowinst of de omzet per kwartaal per werknemer, die wordt gebruikt om de prestaties van een organisatie te bewaken
|
DVAR = DBVAR ## Maakt een schatting van de variantie op basis van een steekproef uit geselecteerde databasegegevens
|
||||||
CUBEMEMBER = KUBUSLID ## Retourneert een lid of tupel in een kubushiërarchie. Wordt gebruikt om te controleren of het lid of de tupel in de kubus aanwezig is
|
DVARP = DBVARP ## Berekent de variantie op basis van de volledige populatie van geselecteerde databasegegevens
|
||||||
CUBEMEMBERPROPERTY = KUBUSLIDEIGENSCHAP ## Retourneert de waarde van een lideigenschap in de kubus. Wordt gebruikt om te controleren of de lidnaam in de kubus bestaat en retourneert de opgegeven eigenschap voor dit lid
|
|
||||||
CUBERANKEDMEMBER = KUBUSGERANGCHIKTLID ## Retourneert het zoveelste, gerangschikte lid in een set. Wordt gebruikt om een of meer elementen in een set te retourneren, zoals de tien beste verkopers of de tien beste studenten
|
|
||||||
CUBESET = KUBUSSET ## Definieert een berekende set leden of tupels door een ingestelde expressie naar de kubus op de server te sturen, alwaar de set wordt gemaakt en vervolgens wordt geretourneerd naar Microsoft Office Excel
|
##
|
||||||
CUBESETCOUNT = KUBUSSETAANTAL ## Retourneert het aantal onderdelen in een set
|
## Date and time functions Datum- en tijdfuncties
|
||||||
CUBEVALUE = KUBUSWAARDE ## Retourneert een samengestelde waarde van een kubus
|
##
|
||||||
|
DATE = DATUM ## Geeft als resultaat het seriële getal van een opgegeven datum
|
||||||
|
DATEVALUE = DATUMWAARDE ## Converteert een datum in de vorm van tekst naar een serieel getal
|
||||||
##
|
DAY = DAG ## Converteert een serieel getal naar een dag van de maand
|
||||||
## Database functions Databasefuncties
|
DAYS360 = DAGEN360 ## Berekent het aantal dagen tussen twee datums op basis van een jaar met 360 dagen
|
||||||
##
|
EDATE = ZELFDE.DAG ## Geeft als resultaat het seriële getal van een datum die het opgegeven aantal maanden voor of na de begindatum ligt
|
||||||
DAVERAGE = DBGEMIDDELDE ## Berekent de gemiddelde waarde in geselecteerde databasegegevens
|
EOMONTH = LAATSTE.DAG ## Geeft als resultaat het seriële getal van de laatste dag van de maand voor of na het opgegeven aantal maanden
|
||||||
DCOUNT = DBAANTAL ## Telt de cellen met getallen in een database
|
HOUR = UUR ## Converteert een serieel getal naar uren
|
||||||
DCOUNTA = DBAANTALC ## Telt de niet-lege cellen in een database
|
MINUTE = MINUUT ## Converteert een serieel naar getal minuten
|
||||||
DGET = DBLEZEN ## Retourneert één record dat voldoet aan de opgegeven criteria uit een database
|
MONTH = MAAND ## Converteert een serieel getal naar een maand
|
||||||
DMAX = DBMAX ## Retourneert de maximumwaarde in de geselecteerde databasegegevens
|
NETWORKDAYS = NETTO.WERKDAGEN ## Geeft als resultaat het aantal hele werkdagen tussen twee datums
|
||||||
DMIN = DBMIN ## Retourneert de minimumwaarde in de geselecteerde databasegegevens
|
NOW = NU ## Geeft als resultaat het seriële getal van de huidige datum en tijd
|
||||||
DPRODUCT = DBPRODUCT ## Vermenigvuldigt de waarden in een bepaald veld van de records die voldoen aan de criteria in een database
|
SECOND = SECONDE ## Converteert een serieel getal naar seconden
|
||||||
DSTDEV = DBSTDEV ## Maakt een schatting van de standaarddeviatie op basis van een steekproef uit geselecteerde databasegegevens
|
TIME = TIJD ## Geeft als resultaat het seriële getal van een bepaald tijdstip
|
||||||
DSTDEVP = DBSTDEVP ## Berekent de standaarddeviatie op basis van de volledige populatie van geselecteerde databasegegevens
|
TIMEVALUE = TIJDWAARDE ## Converteert de tijd in de vorm van tekst naar een serieel getal
|
||||||
DSUM = DBSOM ## Telt de getallen uit een kolom records in de database op die voldoen aan de criteria
|
TODAY = VANDAAG ## Geeft als resultaat het seriële getal van de huidige datum
|
||||||
DVAR = DBVAR ## Maakt een schatting van de variantie op basis van een steekproef uit geselecteerde databasegegevens
|
WEEKDAY = WEEKDAG ## Converteert een serieel getal naar een weekdag
|
||||||
DVARP = DBVARP ## Berekent de variantie op basis van de volledige populatie van geselecteerde databasegegevens
|
WEEKNUM = WEEKNUMMER ## Converteert een serieel getal naar een weeknummer
|
||||||
|
WORKDAY = WERKDAG ## Geeft als resultaat het seriële getal van de datum voor of na een bepaald aantal werkdagen
|
||||||
|
YEAR = JAAR ## Converteert een serieel getal naar een jaar
|
||||||
##
|
YEARFRAC = JAAR.DEEL ## Geeft als resultaat het gedeelte van het jaar, uitgedrukt in het aantal hele dagen tussen begindatum en einddatum
|
||||||
## Date and time functions Datum- en tijdfuncties
|
|
||||||
##
|
|
||||||
DATE = DATUM ## Geeft als resultaat het seriële getal van een opgegeven datum
|
##
|
||||||
DATEVALUE = DATUMWAARDE ## Converteert een datum in de vorm van tekst naar een serieel getal
|
## Engineering functions Technische functies
|
||||||
DAY = DAG ## Converteert een serieel getal naar een dag van de maand
|
##
|
||||||
DAYS360 = DAGEN360 ## Berekent het aantal dagen tussen twee datums op basis van een jaar met 360 dagen
|
BESSELI = BESSEL.Y ## Geeft als resultaat de gewijzigde Bessel-functie In(x)
|
||||||
EDATE = ZELFDE.DAG ## Geeft als resultaat het seriële getal van een datum die het opgegeven aantal maanden voor of na de begindatum ligt
|
BESSELJ = BESSEL.J ## Geeft als resultaat de Bessel-functie Jn(x)
|
||||||
EOMONTH = LAATSTE.DAG ## Geeft als resultaat het seriële getal van de laatste dag van de maand voor of na het opgegeven aantal maanden
|
BESSELK = BESSEL.K ## Geeft als resultaat de gewijzigde Bessel-functie Kn(x)
|
||||||
HOUR = UUR ## Converteert een serieel getal naar uren
|
BESSELY = BESSEL.Y ## Geeft als resultaat de gewijzigde Bessel-functie Yn(x)
|
||||||
MINUTE = MINUUT ## Converteert een serieel naar getal minuten
|
BIN2DEC = BIN.N.DEC ## Converteert een binair getal naar een decimaal getal
|
||||||
MONTH = MAAND ## Converteert een serieel getal naar een maand
|
BIN2HEX = BIN.N.HEX ## Converteert een binair getal naar een hexadecimaal getal
|
||||||
NETWORKDAYS = NETTO.WERKDAGEN ## Geeft als resultaat het aantal hele werkdagen tussen twee datums
|
BIN2OCT = BIN.N.OCT ## Converteert een binair getal naar een octaal getal
|
||||||
NOW = NU ## Geeft als resultaat het seriële getal van de huidige datum en tijd
|
COMPLEX = COMPLEX ## Converteert reële en imaginaire coëfficiënten naar een complex getal
|
||||||
SECOND = SECONDE ## Converteert een serieel getal naar seconden
|
CONVERT = CONVERTEREN ## Converteert een getal in de ene maateenheid naar een getal in een andere maateenheid
|
||||||
TIME = TIJD ## Geeft als resultaat het seriële getal van een bepaald tijdstip
|
DEC2BIN = DEC.N.BIN ## Converteert een decimaal getal naar een binair getal
|
||||||
TIMEVALUE = TIJDWAARDE ## Converteert de tijd in de vorm van tekst naar een serieel getal
|
DEC2HEX = DEC.N.HEX ## Converteert een decimaal getal naar een hexadecimaal getal
|
||||||
TODAY = VANDAAG ## Geeft als resultaat het seriële getal van de huidige datum
|
DEC2OCT = DEC.N.OCT ## Converteert een decimaal getal naar een octaal getal
|
||||||
WEEKDAY = WEEKDAG ## Converteert een serieel getal naar een weekdag
|
DELTA = DELTA ## Test of twee waarden gelijk zijn
|
||||||
WEEKNUM = WEEKNUMMER ## Converteert een serieel getal naar een weeknummer
|
ERF = FOUTFUNCTIE ## Geeft als resultaat de foutfunctie
|
||||||
WORKDAY = WERKDAG ## Geeft als resultaat het seriële getal van de datum voor of na een bepaald aantal werkdagen
|
ERFC = FOUT.COMPLEMENT ## Geeft als resultaat de complementaire foutfunctie
|
||||||
YEAR = JAAR ## Converteert een serieel getal naar een jaar
|
GESTEP = GROTER.DAN ## Test of een getal groter is dan de drempelwaarde
|
||||||
YEARFRAC = JAAR.DEEL ## Geeft als resultaat het gedeelte van het jaar, uitgedrukt in het aantal hele dagen tussen begindatum en einddatum
|
HEX2BIN = HEX.N.BIN ## Converteert een hexadecimaal getal naar een binair getal
|
||||||
|
HEX2DEC = HEX.N.DEC ## Converteert een hexadecimaal getal naar een decimaal getal
|
||||||
|
HEX2OCT = HEX.N.OCT ## Converteert een hexadecimaal getal naar een octaal getal
|
||||||
##
|
IMABS = C.ABS ## Geeft als resultaat de absolute waarde (modulus) van een complex getal
|
||||||
## Engineering functions Technische functies
|
IMAGINARY = C.IM.DEEL ## Geeft als resultaat de imaginaire coëfficiënt van een complex getal
|
||||||
##
|
IMARGUMENT = C.ARGUMENT ## Geeft als resultaat het argument thèta, een hoek uitgedrukt in radialen
|
||||||
BESSELI = BESSEL.Y ## Geeft als resultaat de gewijzigde Bessel-functie In(x)
|
IMCONJUGATE = C.TOEGEVOEGD ## Geeft als resultaat het complexe toegevoegde getal van een complex getal
|
||||||
BESSELJ = BESSEL.J ## Geeft als resultaat de Bessel-functie Jn(x)
|
IMCOS = C.COS ## Geeft als resultaat de cosinus van een complex getal
|
||||||
BESSELK = BESSEL.K ## Geeft als resultaat de gewijzigde Bessel-functie Kn(x)
|
IMDIV = C.QUOTIENT ## Geeft als resultaat het quotiënt van twee complexe getallen
|
||||||
BESSELY = BESSEL.Y ## Geeft als resultaat de gewijzigde Bessel-functie Yn(x)
|
IMEXP = C.EXP ## Geeft als resultaat de exponent van een complex getal
|
||||||
BIN2DEC = BIN.N.DEC ## Converteert een binair getal naar een decimaal getal
|
IMLN = C.LN ## Geeft als resultaat de natuurlijke logaritme van een complex getal
|
||||||
BIN2HEX = BIN.N.HEX ## Converteert een binair getal naar een hexadecimaal getal
|
IMLOG10 = C.LOG10 ## Geeft als resultaat de logaritme met grondtal 10 van een complex getal
|
||||||
BIN2OCT = BIN.N.OCT ## Converteert een binair getal naar een octaal getal
|
IMLOG2 = C.LOG2 ## Geeft als resultaat de logaritme met grondtal 2 van een complex getal
|
||||||
COMPLEX = COMPLEX ## Converteert reële en imaginaire coëfficiënten naar een complex getal
|
IMPOWER = C.MACHT ## Geeft als resultaat een complex getal dat is verheven tot de macht van een geheel getal
|
||||||
CONVERT = CONVERTEREN ## Converteert een getal in de ene maateenheid naar een getal in een andere maateenheid
|
IMPRODUCT = C.PRODUCT ## Geeft als resultaat het product van complexe getallen
|
||||||
DEC2BIN = DEC.N.BIN ## Converteert een decimaal getal naar een binair getal
|
IMREAL = C.REEEL.DEEL ## Geeft als resultaat de reële coëfficiënt van een complex getal
|
||||||
DEC2HEX = DEC.N.HEX ## Converteert een decimaal getal naar een hexadecimaal getal
|
IMSIN = C.SIN ## Geeft als resultaat de sinus van een complex getal
|
||||||
DEC2OCT = DEC.N.OCT ## Converteert een decimaal getal naar een octaal getal
|
IMSQRT = C.WORTEL ## Geeft als resultaat de vierkantswortel van een complex getal
|
||||||
DELTA = DELTA ## Test of twee waarden gelijk zijn
|
IMSUB = C.VERSCHIL ## Geeft als resultaat het verschil tussen twee complexe getallen
|
||||||
ERF = FOUTFUNCTIE ## Geeft als resultaat de foutfunctie
|
IMSUM = C.SOM ## Geeft als resultaat de som van complexe getallen
|
||||||
ERFC = FOUT.COMPLEMENT ## Geeft als resultaat de complementaire foutfunctie
|
OCT2BIN = OCT.N.BIN ## Converteert een octaal getal naar een binair getal
|
||||||
GESTEP = GROTER.DAN ## Test of een getal groter is dan de drempelwaarde
|
OCT2DEC = OCT.N.DEC ## Converteert een octaal getal naar een decimaal getal
|
||||||
HEX2BIN = HEX.N.BIN ## Converteert een hexadecimaal getal naar een binair getal
|
OCT2HEX = OCT.N.HEX ## Converteert een octaal getal naar een hexadecimaal getal
|
||||||
HEX2DEC = HEX.N.DEC ## Converteert een hexadecimaal getal naar een decimaal getal
|
|
||||||
HEX2OCT = HEX.N.OCT ## Converteert een hexadecimaal getal naar een octaal getal
|
|
||||||
IMABS = C.ABS ## Geeft als resultaat de absolute waarde (modulus) van een complex getal
|
##
|
||||||
IMAGINARY = C.IM.DEEL ## Geeft als resultaat de imaginaire coëfficiënt van een complex getal
|
## Financial functions Financiële functies
|
||||||
IMARGUMENT = C.ARGUMENT ## Geeft als resultaat het argument thèta, een hoek uitgedrukt in radialen
|
##
|
||||||
IMCONJUGATE = C.TOEGEVOEGD ## Geeft als resultaat het complexe toegevoegde getal van een complex getal
|
ACCRINT = SAMENG.RENTE ## Berekent de opgelopen rente voor een waardepapier waarvan de rente periodiek wordt uitgekeerd
|
||||||
IMCOS = C.COS ## Geeft als resultaat de cosinus van een complex getal
|
ACCRINTM = SAMENG.RENTE.V ## Berekent de opgelopen rente voor een waardepapier waarvan de rente op de vervaldatum wordt uitgekeerd
|
||||||
IMDIV = C.QUOTIENT ## Geeft als resultaat het quotiënt van twee complexe getallen
|
AMORDEGRC = AMORDEGRC ## Geeft als resultaat de afschrijving voor elke boekingsperiode door een afschrijvingscoëfficiënt toe te passen
|
||||||
IMEXP = C.EXP ## Geeft als resultaat de exponent van een complex getal
|
AMORLINC = AMORLINC ## Berekent de afschrijving voor elke boekingsperiode
|
||||||
IMLN = C.LN ## Geeft als resultaat de natuurlijke logaritme van een complex getal
|
COUPDAYBS = COUP.DAGEN.BB ## Berekent het aantal dagen vanaf het begin van de coupontermijn tot de stortingsdatum
|
||||||
IMLOG10 = C.LOG10 ## Geeft als resultaat de logaritme met grondtal 10 van een complex getal
|
COUPDAYS = COUP.DAGEN ## Geeft als resultaat het aantal dagen in de coupontermijn waarin de stortingsdatum valt
|
||||||
IMLOG2 = C.LOG2 ## Geeft als resultaat de logaritme met grondtal 2 van een complex getal
|
COUPDAYSNC = COUP.DAGEN.VV ## Geeft als resultaat het aantal dagen vanaf de stortingsdatum tot de volgende couponvervaldatum
|
||||||
IMPOWER = C.MACHT ## Geeft als resultaat een complex getal dat is verheven tot de macht van een geheel getal
|
COUPNCD = COUP.DATUM.NB ## Geeft als resultaat de volgende coupondatum na de stortingsdatum
|
||||||
IMPRODUCT = C.PRODUCT ## Geeft als resultaat het product van complexe getallen
|
COUPNUM = COUP.AANTAL ## Geeft als resultaat het aantal coupons dat nog moet worden uitbetaald tussen de stortingsdatum en de vervaldatum
|
||||||
IMREAL = C.REEEL.DEEL ## Geeft als resultaat de reële coëfficiënt van een complex getal
|
COUPPCD = COUP.DATUM.VB ## Geeft als resultaat de vorige couponvervaldatum vóór de stortingsdatum
|
||||||
IMSIN = C.SIN ## Geeft als resultaat de sinus van een complex getal
|
CUMIPMT = CUM.RENTE ## Geeft als resultaat de cumulatieve rente die tussen twee termijnen is uitgekeerd
|
||||||
IMSQRT = C.WORTEL ## Geeft als resultaat de vierkantswortel van een complex getal
|
CUMPRINC = CUM.HOOFDSOM ## Geeft als resultaat de cumulatieve hoofdsom van een lening die tussen twee termijnen is terugbetaald
|
||||||
IMSUB = C.VERSCHIL ## Geeft als resultaat het verschil tussen twee complexe getallen
|
DB = DB ## Geeft als resultaat de afschrijving van activa voor een bepaalde periode met behulp van de 'fixed declining balance'-methode
|
||||||
IMSUM = C.SOM ## Geeft als resultaat de som van complexe getallen
|
DDB = DDB ## Geeft als resultaat de afschrijving van activa over een bepaalde termijn met behulp van de 'double declining balance'-methode of een andere methode die u opgeeft
|
||||||
OCT2BIN = OCT.N.BIN ## Converteert een octaal getal naar een binair getal
|
DISC = DISCONTO ## Geeft als resultaat het discontopercentage voor een waardepapier
|
||||||
OCT2DEC = OCT.N.DEC ## Converteert een octaal getal naar een decimaal getal
|
DOLLARDE = EURO.DE ## Converteert een prijs in euro's, uitgedrukt in een breuk, naar een prijs in euro's, uitgedrukt in een decimaal getal
|
||||||
OCT2HEX = OCT.N.HEX ## Converteert een octaal getal naar een hexadecimaal getal
|
DOLLARFR = EURO.BR ## Converteert een prijs in euro's, uitgedrukt in een decimaal getal, naar een prijs in euro's, uitgedrukt in een breuk
|
||||||
|
DURATION = DUUR ## Geeft als resultaat de gewogen gemiddelde looptijd voor een waardepapier met periodieke rentebetalingen
|
||||||
|
EFFECT = EFFECT.RENTE ## Geeft als resultaat het effectieve jaarlijkse rentepercentage
|
||||||
##
|
FV = TW ## Geeft als resultaat de toekomstige waarde van een investering
|
||||||
## Financial functions Financiële functies
|
FVSCHEDULE = TOEK.WAARDE2 ## Geeft als resultaat de toekomstige waarde van een bepaalde hoofdsom na het toepassen van een reeks samengestelde rentepercentages
|
||||||
##
|
INTRATE = RENTEPERCENTAGE ## Geeft als resultaat het rentepercentage voor een volgestort waardepapier
|
||||||
ACCRINT = SAMENG.RENTE ## Berekent de opgelopen rente voor een waardepapier waarvan de rente periodiek wordt uitgekeerd
|
IPMT = IBET ## Geeft als resultaat de te betalen rente voor een investering over een bepaalde termijn
|
||||||
ACCRINTM = SAMENG.RENTE.V ## Berekent de opgelopen rente voor een waardepapier waarvan de rente op de vervaldatum wordt uitgekeerd
|
IRR = IR ## Geeft als resultaat de interne rentabiliteit voor een reeks cashflows
|
||||||
AMORDEGRC = AMORDEGRC ## Geeft als resultaat de afschrijving voor elke boekingsperiode door een afschrijvingscoëfficiënt toe te passen
|
ISPMT = ISBET ## Geeft als resultaat de rente die is betaald tijdens een bepaalde termijn van een investering
|
||||||
AMORLINC = AMORLINC ## Berekent de afschrijving voor elke boekingsperiode
|
MDURATION = AANG.DUUR ## Geeft als resultaat de aangepaste Macauley-looptijd voor een waardepapier, aangenomen dat de nominale waarde € 100 bedraagt
|
||||||
COUPDAYBS = COUP.DAGEN.BB ## Berekent het aantal dagen vanaf het begin van de coupontermijn tot de stortingsdatum
|
MIRR = GIR ## Geeft als resultaat de interne rentabiliteit voor een serie cashflows, waarbij voor betalingen een ander rentepercentage geldt dan voor inkomsten
|
||||||
COUPDAYS = COUP.DAGEN ## Geeft als resultaat het aantal dagen in de coupontermijn waarin de stortingsdatum valt
|
NOMINAL = NOMINALE.RENTE ## Geeft als resultaat het nominale jaarlijkse rentepercentage
|
||||||
COUPDAYSNC = COUP.DAGEN.VV ## Geeft als resultaat het aantal dagen vanaf de stortingsdatum tot de volgende couponvervaldatum
|
NPER = NPER ## Geeft als resultaat het aantal termijnen van een investering
|
||||||
COUPNCD = COUP.DATUM.NB ## Geeft als resultaat de volgende coupondatum na de stortingsdatum
|
NPV = NHW ## Geeft als resultaat de netto huidige waarde van een investering op basis van een reeks periodieke cashflows en een discontopercentage
|
||||||
COUPNUM = COUP.AANTAL ## Geeft als resultaat het aantal coupons dat nog moet worden uitbetaald tussen de stortingsdatum en de vervaldatum
|
ODDFPRICE = AFW.ET.PRIJS ## Geeft als resultaat de prijs per € 100 nominale waarde voor een waardepapier met een afwijkende eerste termijn
|
||||||
COUPPCD = COUP.DATUM.VB ## Geeft als resultaat de vorige couponvervaldatum vóór de stortingsdatum
|
ODDFYIELD = AFW.ET.REND ## Geeft als resultaat het rendement voor een waardepapier met een afwijkende eerste termijn
|
||||||
CUMIPMT = CUM.RENTE ## Geeft als resultaat de cumulatieve rente die tussen twee termijnen is uitgekeerd
|
ODDLPRICE = AFW.LT.PRIJS ## Geeft als resultaat de prijs per € 100 nominale waarde voor een waardepapier met een afwijkende laatste termijn
|
||||||
CUMPRINC = CUM.HOOFDSOM ## Geeft als resultaat de cumulatieve hoofdsom van een lening die tussen twee termijnen is terugbetaald
|
ODDLYIELD = AFW.LT.REND ## Geeft als resultaat het rendement voor een waardepapier met een afwijkende laatste termijn
|
||||||
DB = DB ## Geeft als resultaat de afschrijving van activa voor een bepaalde periode met behulp van de 'fixed declining balance'-methode
|
PMT = BET ## Geeft als resultaat de periodieke betaling voor een annuïteit
|
||||||
DDB = DDB ## Geeft als resultaat de afschrijving van activa over een bepaalde termijn met behulp van de 'double declining balance'-methode of een andere methode die u opgeeft
|
PPMT = PBET ## Geeft als resultaat de afbetaling op de hoofdsom voor een bepaalde termijn
|
||||||
DISC = DISCONTO ## Geeft als resultaat het discontopercentage voor een waardepapier
|
PRICE = PRIJS.NOM ## Geeft als resultaat de prijs per € 100 nominale waarde voor een waardepapier waarvan de rente periodiek wordt uitgekeerd
|
||||||
DOLLARDE = EURO.DE ## Converteert een prijs in euro's, uitgedrukt in een breuk, naar een prijs in euro's, uitgedrukt in een decimaal getal
|
PRICEDISC = PRIJS.DISCONTO ## Geeft als resultaat de prijs per € 100 nominale waarde voor een verdisconteerd waardepapier
|
||||||
DOLLARFR = EURO.BR ## Converteert een prijs in euro's, uitgedrukt in een decimaal getal, naar een prijs in euro's, uitgedrukt in een breuk
|
PRICEMAT = PRIJS.VERVALDAG ## Geeft als resultaat de prijs per € 100 nominale waarde voor een waardepapier waarvan de rente wordt uitgekeerd op de vervaldatum
|
||||||
DURATION = DUUR ## Geeft als resultaat de gewogen gemiddelde looptijd voor een waardepapier met periodieke rentebetalingen
|
PV = HW ## Geeft als resultaat de huidige waarde van een investering
|
||||||
EFFECT = EFFECT.RENTE ## Geeft als resultaat het effectieve jaarlijkse rentepercentage
|
RATE = RENTE ## Geeft als resultaat het periodieke rentepercentage voor een annuïteit
|
||||||
FV = TW ## Geeft als resultaat de toekomstige waarde van een investering
|
RECEIVED = OPBRENGST ## Geeft als resultaat het bedrag dat op de vervaldatum wordt uitgekeerd voor een volgestort waardepapier
|
||||||
FVSCHEDULE = TOEK.WAARDE2 ## Geeft als resultaat de toekomstige waarde van een bepaalde hoofdsom na het toepassen van een reeks samengestelde rentepercentages
|
SLN = LIN.AFSCHR ## Geeft als resultaat de lineaire afschrijving van activa over één termijn
|
||||||
INTRATE = RENTEPERCENTAGE ## Geeft als resultaat het rentepercentage voor een volgestort waardepapier
|
SYD = SYD ## Geeft als resultaat de afschrijving van activa over een bepaalde termijn met behulp van de 'Sum-Of-Years-Digits'-methode
|
||||||
IPMT = IBET ## Geeft als resultaat de te betalen rente voor een investering over een bepaalde termijn
|
TBILLEQ = SCHATK.OBL ## Geeft als resultaat het rendement op schatkistpapier, dat op dezelfde manier wordt berekend als het rendement op obligaties
|
||||||
IRR = IR ## Geeft als resultaat de interne rentabiliteit voor een reeks cashflows
|
TBILLPRICE = SCHATK.PRIJS ## Bepaalt de prijs per € 100 nominale waarde voor schatkistpapier
|
||||||
ISPMT = ISBET ## Geeft als resultaat de rente die is betaald tijdens een bepaalde termijn van een investering
|
TBILLYIELD = SCHATK.REND ## Berekent het rendement voor schatkistpapier
|
||||||
MDURATION = AANG.DUUR ## Geeft als resultaat de aangepaste Macauley-looptijd voor een waardepapier, aangenomen dat de nominale waarde € 100 bedraagt
|
VDB = VDB ## Geeft als resultaat de afschrijving van activa over een gehele of gedeeltelijke termijn met behulp van de 'declining balance'-methode
|
||||||
MIRR = GIR ## Geeft als resultaat de interne rentabiliteit voor een serie cashflows, waarbij voor betalingen een ander rentepercentage geldt dan voor inkomsten
|
XIRR = IR.SCHEMA ## Berekent de interne rentabiliteit voor een betalingsschema van cashflows
|
||||||
NOMINAL = NOMINALE.RENTE ## Geeft als resultaat het nominale jaarlijkse rentepercentage
|
XNPV = NHW2 ## Berekent de huidige nettowaarde voor een betalingsschema van cashflows
|
||||||
NPER = NPER ## Geeft als resultaat het aantal termijnen van een investering
|
YIELD = RENDEMENT ## Geeft als resultaat het rendement voor een waardepapier waarvan de rente periodiek wordt uitgekeerd
|
||||||
NPV = NHW ## Geeft als resultaat de netto huidige waarde van een investering op basis van een reeks periodieke cashflows en een discontopercentage
|
YIELDDISC = REND.DISCONTO ## Geeft als resultaat het jaarlijkse rendement voor een verdisconteerd waardepapier, bijvoorbeeld schatkistpapier
|
||||||
ODDFPRICE = AFW.ET.PRIJS ## Geeft als resultaat de prijs per € 100 nominale waarde voor een waardepapier met een afwijkende eerste termijn
|
YIELDMAT = REND.VERVAL ## Geeft als resultaat het jaarlijkse rendement voor een waardepapier waarvan de rente wordt uitgekeerd op de vervaldatum
|
||||||
ODDFYIELD = AFW.ET.REND ## Geeft als resultaat het rendement voor een waardepapier met een afwijkende eerste termijn
|
|
||||||
ODDLPRICE = AFW.LT.PRIJS ## Geeft als resultaat de prijs per € 100 nominale waarde voor een waardepapier met een afwijkende laatste termijn
|
|
||||||
ODDLYIELD = AFW.LT.REND ## Geeft als resultaat het rendement voor een waardepapier met een afwijkende laatste termijn
|
##
|
||||||
PMT = BET ## Geeft als resultaat de periodieke betaling voor een annuïteit
|
## Information functions Informatiefuncties
|
||||||
PPMT = PBET ## Geeft als resultaat de afbetaling op de hoofdsom voor een bepaalde termijn
|
##
|
||||||
PRICE = PRIJS.NOM ## Geeft als resultaat de prijs per € 100 nominale waarde voor een waardepapier waarvan de rente periodiek wordt uitgekeerd
|
CELL = CEL ## Geeft als resultaat informatie over de opmaak, locatie of inhoud van een cel
|
||||||
PRICEDISC = PRIJS.DISCONTO ## Geeft als resultaat de prijs per € 100 nominale waarde voor een verdisconteerd waardepapier
|
ERROR.TYPE = TYPE.FOUT ## Geeft als resultaat een getal dat overeenkomt met een van de foutwaarden van Microsoft Excel
|
||||||
PRICEMAT = PRIJS.VERVALDAG ## Geeft als resultaat de prijs per € 100 nominale waarde voor een waardepapier waarvan de rente wordt uitgekeerd op de vervaldatum
|
INFO = INFO ## Geeft als resultaat informatie over de huidige besturingsomgeving
|
||||||
PV = HW ## Geeft als resultaat de huidige waarde van een investering
|
ISBLANK = ISLEEG ## Geeft als resultaat WAAR als de waarde leeg is
|
||||||
RATE = RENTE ## Geeft als resultaat het periodieke rentepercentage voor een annuïteit
|
ISERR = ISFOUT2 ## Geeft als resultaat WAAR als de waarde een foutwaarde is, met uitzondering van #N/B
|
||||||
RECEIVED = OPBRENGST ## Geeft als resultaat het bedrag dat op de vervaldatum wordt uitgekeerd voor een volgestort waardepapier
|
ISERROR = ISFOUT ## Geeft als resultaat WAAR als de waarde een foutwaarde is
|
||||||
SLN = LIN.AFSCHR ## Geeft als resultaat de lineaire afschrijving van activa over één termijn
|
ISEVEN = IS.EVEN ## Geeft als resultaat WAAR als het getal even is
|
||||||
SYD = SYD ## Geeft als resultaat de afschrijving van activa over een bepaalde termijn met behulp van de 'Sum-Of-Years-Digits'-methode
|
ISLOGICAL = ISLOGISCH ## Geeft als resultaat WAAR als de waarde een logische waarde is
|
||||||
TBILLEQ = SCHATK.OBL ## Geeft als resultaat het rendement op schatkistpapier, dat op dezelfde manier wordt berekend als het rendement op obligaties
|
ISNA = ISNB ## Geeft als resultaat WAAR als de waarde de foutwaarde #N/B is
|
||||||
TBILLPRICE = SCHATK.PRIJS ## Bepaalt de prijs per € 100 nominale waarde voor schatkistpapier
|
ISNONTEXT = ISGEENTEKST ## Geeft als resultaat WAAR als de waarde geen tekst is
|
||||||
TBILLYIELD = SCHATK.REND ## Berekent het rendement voor schatkistpapier
|
ISNUMBER = ISGETAL ## Geeft als resultaat WAAR als de waarde een getal is
|
||||||
VDB = VDB ## Geeft als resultaat de afschrijving van activa over een gehele of gedeeltelijke termijn met behulp van de 'declining balance'-methode
|
ISODD = IS.ONEVEN ## Geeft als resultaat WAAR als het getal oneven is
|
||||||
XIRR = IR.SCHEMA ## Berekent de interne rentabiliteit voor een betalingsschema van cashflows
|
ISREF = ISVERWIJZING ## Geeft als resultaat WAAR als de waarde een verwijzing is
|
||||||
XNPV = NHW2 ## Berekent de huidige nettowaarde voor een betalingsschema van cashflows
|
ISTEXT = ISTEKST ## Geeft als resultaat WAAR als de waarde tekst is
|
||||||
YIELD = RENDEMENT ## Geeft als resultaat het rendement voor een waardepapier waarvan de rente periodiek wordt uitgekeerd
|
N = N ## Geeft als resultaat een waarde die is geconverteerd naar een getal
|
||||||
YIELDDISC = REND.DISCONTO ## Geeft als resultaat het jaarlijkse rendement voor een verdisconteerd waardepapier, bijvoorbeeld schatkistpapier
|
NA = NB ## Geeft als resultaat de foutwaarde #N/B
|
||||||
YIELDMAT = REND.VERVAL ## Geeft als resultaat het jaarlijkse rendement voor een waardepapier waarvan de rente wordt uitgekeerd op de vervaldatum
|
TYPE = TYPE ## Geeft als resultaat een getal dat het gegevenstype van een waarde aangeeft
|
||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Information functions Informatiefuncties
|
## Logical functions Logische functies
|
||||||
##
|
##
|
||||||
CELL = CEL ## Geeft als resultaat informatie over de opmaak, locatie of inhoud van een cel
|
AND = EN ## Geeft als resultaat WAAR als alle argumenten WAAR zijn
|
||||||
ERROR.TYPE = TYPE.FOUT ## Geeft als resultaat een getal dat overeenkomt met een van de foutwaarden van Microsoft Excel
|
FALSE = ONWAAR ## Geeft als resultaat de logische waarde ONWAAR
|
||||||
INFO = INFO ## Geeft als resultaat informatie over de huidige besturingsomgeving
|
IF = ALS ## Geeft een logische test aan
|
||||||
ISBLANK = ISLEEG ## Geeft als resultaat WAAR als de waarde leeg is
|
IFERROR = ALS.FOUT ## Retourneert een waarde die u opgeeft als een formule een fout oplevert, anders wordt het resultaat van de formule geretourneerd
|
||||||
ISERR = ISFOUT2 ## Geeft als resultaat WAAR als de waarde een foutwaarde is, met uitzondering van #N/B
|
NOT = NIET ## Keert de logische waarde van het argument om
|
||||||
ISERROR = ISFOUT ## Geeft als resultaat WAAR als de waarde een foutwaarde is
|
OR = OF ## Geeft als resultaat WAAR als minimaal een van de argumenten WAAR is
|
||||||
ISEVEN = IS.EVEN ## Geeft als resultaat WAAR als het getal even is
|
TRUE = WAAR ## Geeft als resultaat de logische waarde WAAR
|
||||||
ISLOGICAL = ISLOGISCH ## Geeft als resultaat WAAR als de waarde een logische waarde is
|
|
||||||
ISNA = ISNB ## Geeft als resultaat WAAR als de waarde de foutwaarde #N/B is
|
|
||||||
ISNONTEXT = ISGEENTEKST ## Geeft als resultaat WAAR als de waarde geen tekst is
|
##
|
||||||
ISNUMBER = ISGETAL ## Geeft als resultaat WAAR als de waarde een getal is
|
## Lookup and reference functions Zoek- en verwijzingsfuncties
|
||||||
ISODD = IS.ONEVEN ## Geeft als resultaat WAAR als het getal oneven is
|
##
|
||||||
ISREF = ISVERWIJZING ## Geeft als resultaat WAAR als de waarde een verwijzing is
|
ADDRESS = ADRES ## Geeft als resultaat een verwijzing, in de vorm van tekst, naar één bepaalde cel in een werkblad
|
||||||
ISTEXT = ISTEKST ## Geeft als resultaat WAAR als de waarde tekst is
|
AREAS = BEREIKEN ## Geeft als resultaat het aantal bereiken in een verwijzing
|
||||||
N = N ## Geeft als resultaat een waarde die is geconverteerd naar een getal
|
CHOOSE = KIEZEN ## Kiest een waarde uit een lijst met waarden
|
||||||
NA = NB ## Geeft als resultaat de foutwaarde #N/B
|
COLUMN = KOLOM ## Geeft als resultaat het kolomnummer van een verwijzing
|
||||||
TYPE = TYPE ## Geeft als resultaat een getal dat het gegevenstype van een waarde aangeeft
|
COLUMNS = KOLOMMEN ## Geeft als resultaat het aantal kolommen in een verwijzing
|
||||||
|
HLOOKUP = HORIZ.ZOEKEN ## Zoekt in de bovenste rij van een matrix naar een bepaalde waarde en geeft als resultaat de gevonden waarde in de opgegeven cel
|
||||||
|
HYPERLINK = HYPERLINK ## Maakt een snelkoppeling of een sprong waarmee een document wordt geopend dat is opgeslagen op een netwerkserver, een intranet of op internet
|
||||||
##
|
INDEX = INDEX ## Kiest met een index een waarde uit een verwijzing of een matrix
|
||||||
## Logical functions Logische functies
|
INDIRECT = INDIRECT ## Geeft als resultaat een verwijzing die wordt aangegeven met een tekstwaarde
|
||||||
##
|
LOOKUP = ZOEKEN ## Zoekt naar bepaalde waarden in een vector of een matrix
|
||||||
AND = EN ## Geeft als resultaat WAAR als alle argumenten WAAR zijn
|
MATCH = VERGELIJKEN ## Zoekt naar bepaalde waarden in een verwijzing of een matrix
|
||||||
FALSE = ONWAAR ## Geeft als resultaat de logische waarde ONWAAR
|
OFFSET = VERSCHUIVING ## Geeft als resultaat een nieuwe verwijzing die is verschoven ten opzichte van een bepaalde verwijzing
|
||||||
IF = ALS ## Geeft een logische test aan
|
ROW = RIJ ## Geeft als resultaat het rijnummer van een verwijzing
|
||||||
IFERROR = ALS.FOUT ## Retourneert een waarde die u opgeeft als een formule een fout oplevert, anders wordt het resultaat van de formule geretourneerd
|
ROWS = RIJEN ## Geeft als resultaat het aantal rijen in een verwijzing
|
||||||
NOT = NIET ## Keert de logische waarde van het argument om
|
RTD = RTG ## Haalt realtimegegevens op uit een programma dat COM-automatisering (automatisering: een methode waarmee de ene toepassing objecten van een andere toepassing of ontwikkelprogramma kan besturen. Automatisering werd vroeger OLE-automatisering genoemd. Automatisering is een industrienorm die deel uitmaakt van het Component Object Model (COM).) ondersteunt
|
||||||
OR = OF ## Geeft als resultaat WAAR als minimaal een van de argumenten WAAR is
|
TRANSPOSE = TRANSPONEREN ## Geeft als resultaat de getransponeerde van een matrix
|
||||||
TRUE = WAAR ## Geeft als resultaat de logische waarde WAAR
|
VLOOKUP = VERT.ZOEKEN ## Zoekt in de meest linkse kolom van een matrix naar een bepaalde waarde en geeft als resultaat de waarde in de opgegeven cel
|
||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Lookup and reference functions Zoek- en verwijzingsfuncties
|
## Math and trigonometry functions Wiskundige en trigonometrische functies
|
||||||
##
|
##
|
||||||
ADDRESS = ADRES ## Geeft als resultaat een verwijzing, in de vorm van tekst, naar één bepaalde cel in een werkblad
|
ABS = ABS ## Geeft als resultaat de absolute waarde van een getal
|
||||||
AREAS = BEREIKEN ## Geeft als resultaat het aantal bereiken in een verwijzing
|
ACOS = BOOGCOS ## Geeft als resultaat de boogcosinus van een getal
|
||||||
CHOOSE = KIEZEN ## Kiest een waarde uit een lijst met waarden
|
ACOSH = BOOGCOSH ## Geeft als resultaat de inverse cosinus hyperbolicus van een getal
|
||||||
COLUMN = KOLOM ## Geeft als resultaat het kolomnummer van een verwijzing
|
ASIN = BOOGSIN ## Geeft als resultaat de boogsinus van een getal
|
||||||
COLUMNS = KOLOMMEN ## Geeft als resultaat het aantal kolommen in een verwijzing
|
ASINH = BOOGSINH ## Geeft als resultaat de inverse sinus hyperbolicus van een getal
|
||||||
HLOOKUP = HORIZ.ZOEKEN ## Zoekt in de bovenste rij van een matrix naar een bepaalde waarde en geeft als resultaat de gevonden waarde in de opgegeven cel
|
ATAN = BOOGTAN ## Geeft als resultaat de boogtangens van een getal
|
||||||
HYPERLINK = HYPERLINK ## Maakt een snelkoppeling of een sprong waarmee een document wordt geopend dat is opgeslagen op een netwerkserver, een intranet of op internet
|
ATAN2 = BOOGTAN2 ## Geeft als resultaat de boogtangens van de x- en y-coördinaten
|
||||||
INDEX = INDEX ## Kiest met een index een waarde uit een verwijzing of een matrix
|
ATANH = BOOGTANH ## Geeft als resultaat de inverse tangens hyperbolicus van een getal
|
||||||
INDIRECT = INDIRECT ## Geeft als resultaat een verwijzing die wordt aangegeven met een tekstwaarde
|
CEILING = AFRONDEN.BOVEN ## Rondt de absolute waarde van een getal naar boven af op het dichtstbijzijnde gehele getal of het dichtstbijzijnde significante veelvoud
|
||||||
LOOKUP = ZOEKEN ## Zoekt naar bepaalde waarden in een vector of een matrix
|
COMBIN = COMBINATIES ## Geeft als resultaat het aantal combinaties voor een bepaald aantal objecten
|
||||||
MATCH = VERGELIJKEN ## Zoekt naar bepaalde waarden in een verwijzing of een matrix
|
COS = COS ## Geeft als resultaat de cosinus van een getal
|
||||||
OFFSET = VERSCHUIVING ## Geeft als resultaat een nieuwe verwijzing die is verschoven ten opzichte van een bepaalde verwijzing
|
COSH = COSH ## Geeft als resultaat de cosinus hyperbolicus van een getal
|
||||||
ROW = RIJ ## Geeft als resultaat het rijnummer van een verwijzing
|
DEGREES = GRADEN ## Converteert radialen naar graden
|
||||||
ROWS = RIJEN ## Geeft als resultaat het aantal rijen in een verwijzing
|
EVEN = EVEN ## Rondt het getal af op het dichtstbijzijnde gehele even getal
|
||||||
RTD = RTG ## Haalt realtimegegevens op uit een programma dat COM-automatisering (automatisering: een methode waarmee de ene toepassing objecten van een andere toepassing of ontwikkelprogramma kan besturen. Automatisering werd vroeger OLE-automatisering genoemd. Automatisering is een industrienorm die deel uitmaakt van het Component Object Model (COM).) ondersteunt
|
EXP = EXP ## Verheft e tot de macht van een bepaald getal
|
||||||
TRANSPOSE = TRANSPONEREN ## Geeft als resultaat de getransponeerde van een matrix
|
FACT = FACULTEIT ## Geeft als resultaat de faculteit van een getal
|
||||||
VLOOKUP = VERT.ZOEKEN ## Zoekt in de meest linkse kolom van een matrix naar een bepaalde waarde en geeft als resultaat de waarde in de opgegeven cel
|
FACTDOUBLE = DUBBELE.FACULTEIT ## Geeft als resultaat de dubbele faculteit van een getal
|
||||||
|
FLOOR = AFRONDEN.BENEDEN ## Rondt de absolute waarde van een getal naar beneden af
|
||||||
|
GCD = GGD ## Geeft als resultaat de grootste gemene deler
|
||||||
##
|
INT = INTEGER ## Rondt een getal naar beneden af op het dichtstbijzijnde gehele getal
|
||||||
## Math and trigonometry functions Wiskundige en trigonometrische functies
|
LCM = KGV ## Geeft als resultaat het kleinste gemene veelvoud
|
||||||
##
|
LN = LN ## Geeft als resultaat de natuurlijke logaritme van een getal
|
||||||
ABS = ABS ## Geeft als resultaat de absolute waarde van een getal
|
LOG = LOG ## Geeft als resultaat de logaritme met het opgegeven grondtal van een getal
|
||||||
ACOS = BOOGCOS ## Geeft als resultaat de boogcosinus van een getal
|
LOG10 = LOG10 ## Geeft als resultaat de logaritme met grondtal 10 van een getal
|
||||||
ACOSH = BOOGCOSH ## Geeft als resultaat de inverse cosinus hyperbolicus van een getal
|
MDETERM = DETERMINANTMAT ## Geeft als resultaat de determinant van een matrix
|
||||||
ASIN = BOOGSIN ## Geeft als resultaat de boogsinus van een getal
|
MINVERSE = INVERSEMAT ## Geeft als resultaat de inverse van een matrix
|
||||||
ASINH = BOOGSINH ## Geeft als resultaat de inverse sinus hyperbolicus van een getal
|
MMULT = PRODUCTMAT ## Geeft als resultaat het product van twee matrices
|
||||||
ATAN = BOOGTAN ## Geeft als resultaat de boogtangens van een getal
|
MOD = REST ## Geeft als resultaat het restgetal van een deling
|
||||||
ATAN2 = BOOGTAN2 ## Geeft als resultaat de boogtangens van de x- en y-coördinaten
|
MROUND = AFRONDEN.N.VEELVOUD ## Geeft als resultaat een getal afgerond op het gewenste veelvoud
|
||||||
ATANH = BOOGTANH ## Geeft als resultaat de inverse tangens hyperbolicus van een getal
|
MULTINOMIAL = MULTINOMIAAL ## Geeft als resultaat de multinomiaalcoëfficiënt van een reeks getallen
|
||||||
CEILING = AFRONDEN.BOVEN ## Rondt de absolute waarde van een getal naar boven af op het dichtstbijzijnde gehele getal of het dichtstbijzijnde significante veelvoud
|
ODD = ONEVEN ## Rondt de absolute waarde van het getal naar boven af op het dichtstbijzijnde gehele oneven getal
|
||||||
COMBIN = COMBINATIES ## Geeft als resultaat het aantal combinaties voor een bepaald aantal objecten
|
PI = PI ## Geeft als resultaat de waarde van pi
|
||||||
COS = COS ## Geeft als resultaat de cosinus van een getal
|
POWER = MACHT ## Verheft een getal tot een macht
|
||||||
COSH = COSH ## Geeft als resultaat de cosinus hyperbolicus van een getal
|
PRODUCT = PRODUCT ## Vermenigvuldigt de argumenten met elkaar
|
||||||
DEGREES = GRADEN ## Converteert radialen naar graden
|
QUOTIENT = QUOTIENT ## Geeft als resultaat de uitkomst van een deling als geheel getal
|
||||||
EVEN = EVEN ## Rondt het getal af op het dichtstbijzijnde gehele even getal
|
RADIANS = RADIALEN ## Converteert graden naar radialen
|
||||||
EXP = EXP ## Verheft e tot de macht van een bepaald getal
|
RAND = ASELECT ## Geeft als resultaat een willekeurig getal tussen 0 en 1
|
||||||
FACT = FACULTEIT ## Geeft als resultaat de faculteit van een getal
|
RANDBETWEEN = ASELECTTUSSEN ## Geeft een willekeurig getal tussen de getallen die u hebt opgegeven
|
||||||
FACTDOUBLE = DUBBELE.FACULTEIT ## Geeft als resultaat de dubbele faculteit van een getal
|
ROMAN = ROMEINS ## Converteert een Arabisch getal naar een Romeins getal en geeft het resultaat weer in de vorm van tekst
|
||||||
FLOOR = AFRONDEN.BENEDEN ## Rondt de absolute waarde van een getal naar beneden af
|
ROUND = AFRONDEN ## Rondt een getal af op het opgegeven aantal decimalen
|
||||||
GCD = GGD ## Geeft als resultaat de grootste gemene deler
|
ROUNDDOWN = AFRONDEN.NAAR.BENEDEN ## Rondt de absolute waarde van een getal naar beneden af
|
||||||
INT = INTEGER ## Rondt een getal naar beneden af op het dichtstbijzijnde gehele getal
|
ROUNDUP = AFRONDEN.NAAR.BOVEN ## Rondt de absolute waarde van een getal naar boven af
|
||||||
LCM = KGV ## Geeft als resultaat het kleinste gemene veelvoud
|
SERIESSUM = SOM.MACHTREEKS ## Geeft als resultaat de som van een machtreeks die is gebaseerd op de formule
|
||||||
LN = LN ## Geeft als resultaat de natuurlijke logaritme van een getal
|
SIGN = POS.NEG ## Geeft als resultaat het teken van een getal
|
||||||
LOG = LOG ## Geeft als resultaat de logaritme met het opgegeven grondtal van een getal
|
SIN = SIN ## Geeft als resultaat de sinus van de opgegeven hoek
|
||||||
LOG10 = LOG10 ## Geeft als resultaat de logaritme met grondtal 10 van een getal
|
SINH = SINH ## Geeft als resultaat de sinus hyperbolicus van een getal
|
||||||
MDETERM = DETERMINANTMAT ## Geeft als resultaat de determinant van een matrix
|
SQRT = WORTEL ## Geeft als resultaat de positieve vierkantswortel van een getal
|
||||||
MINVERSE = INVERSEMAT ## Geeft als resultaat de inverse van een matrix
|
SQRTPI = WORTEL.PI ## Geeft als resultaat de vierkantswortel van (getal * pi)
|
||||||
MMULT = PRODUCTMAT ## Geeft als resultaat het product van twee matrices
|
SUBTOTAL = SUBTOTAAL ## Geeft als resultaat een subtotaal voor een bereik
|
||||||
MOD = REST ## Geeft als resultaat het restgetal van een deling
|
SUM = SOM ## Telt de argumenten op
|
||||||
MROUND = AFRONDEN.N.VEELVOUD ## Geeft als resultaat een getal afgerond op het gewenste veelvoud
|
SUMIF = SOM.ALS ## Telt de getallen bij elkaar op die voldoen aan een bepaald criterium
|
||||||
MULTINOMIAL = MULTINOMIAAL ## Geeft als resultaat de multinomiaalcoëfficiënt van een reeks getallen
|
SUMIFS = SOMMEN.ALS ## Telt de cellen in een bereik op die aan meerdere criteria voldoen
|
||||||
ODD = ONEVEN ## Rondt de absolute waarde van het getal naar boven af op het dichtstbijzijnde gehele oneven getal
|
SUMPRODUCT = SOMPRODUCT ## Geeft als resultaat de som van de producten van de corresponderende matrixelementen
|
||||||
PI = PI ## Geeft als resultaat de waarde van pi
|
SUMSQ = KWADRATENSOM ## Geeft als resultaat de som van de kwadraten van de argumenten
|
||||||
POWER = MACHT ## Verheft een getal tot een macht
|
SUMX2MY2 = SOM.X2MINY2 ## Geeft als resultaat de som van het verschil tussen de kwadraten van corresponderende waarden in twee matrices
|
||||||
PRODUCT = PRODUCT ## Vermenigvuldigt de argumenten met elkaar
|
SUMX2PY2 = SOM.X2PLUSY2 ## Geeft als resultaat de som van de kwadratensom van corresponderende waarden in twee matrices
|
||||||
QUOTIENT = QUOTIENT ## Geeft als resultaat de uitkomst van een deling als geheel getal
|
SUMXMY2 = SOM.XMINY.2 ## Geeft als resultaat de som van de kwadraten van de verschillen tussen de corresponderende waarden in twee matrices
|
||||||
RADIANS = RADIALEN ## Converteert graden naar radialen
|
TAN = TAN ## Geeft als resultaat de tangens van een getal
|
||||||
RAND = ASELECT ## Geeft als resultaat een willekeurig getal tussen 0 en 1
|
TANH = TANH ## Geeft als resultaat de tangens hyperbolicus van een getal
|
||||||
RANDBETWEEN = ASELECTTUSSEN ## Geeft een willekeurig getal tussen de getallen die u hebt opgegeven
|
TRUNC = GEHEEL ## Kapt een getal af tot een geheel getal
|
||||||
ROMAN = ROMEINS ## Converteert een Arabisch getal naar een Romeins getal en geeft het resultaat weer in de vorm van tekst
|
|
||||||
ROUND = AFRONDEN ## Rondt een getal af op het opgegeven aantal decimalen
|
|
||||||
ROUNDDOWN = AFRONDEN.NAAR.BENEDEN ## Rondt de absolute waarde van een getal naar beneden af
|
##
|
||||||
ROUNDUP = AFRONDEN.NAAR.BOVEN ## Rondt de absolute waarde van een getal naar boven af
|
## Statistical functions Statistische functies
|
||||||
SERIESSUM = SOM.MACHTREEKS ## Geeft als resultaat de som van een machtreeks die is gebaseerd op de formule
|
##
|
||||||
SIGN = POS.NEG ## Geeft als resultaat het teken van een getal
|
AVEDEV = GEM.DEVIATIE ## Geeft als resultaat het gemiddelde van de absolute deviaties van gegevenspunten ten opzichte van hun gemiddelde waarde
|
||||||
SIN = SIN ## Geeft als resultaat de sinus van de opgegeven hoek
|
AVERAGE = GEMIDDELDE ## Geeft als resultaat het gemiddelde van de argumenten
|
||||||
SINH = SINH ## Geeft als resultaat de sinus hyperbolicus van een getal
|
AVERAGEA = GEMIDDELDEA ## Geeft als resultaat het gemiddelde van de argumenten, inclusief getallen, tekst en logische waarden
|
||||||
SQRT = WORTEL ## Geeft als resultaat de positieve vierkantswortel van een getal
|
AVERAGEIF = GEMIDDELDE.ALS ## Geeft het gemiddelde (rekenkundig gemiddelde) als resultaat van alle cellen in een bereik die voldoen aan de opgegeven criteria
|
||||||
SQRTPI = WORTEL.PI ## Geeft als resultaat de vierkantswortel van (getal * pi)
|
AVERAGEIFS = GEMIDDELDEN.ALS ## Geeft het gemiddelde (rekenkundig gemiddelde) als resultaat van alle cellen die aan meerdere criteria voldoen
|
||||||
SUBTOTAL = SUBTOTAAL ## Geeft als resultaat een subtotaal voor een bereik
|
BETADIST = BETA.VERD ## Geeft als resultaat de cumulatieve bèta-verdelingsfunctie
|
||||||
SUM = SOM ## Telt de argumenten op
|
BETAINV = BETA.INV ## Geeft als resultaat de inverse van de cumulatieve verdelingsfunctie voor een gegeven bèta-verdeling
|
||||||
SUMIF = SOM.ALS ## Telt de getallen bij elkaar op die voldoen aan een bepaald criterium
|
BINOMDIST = BINOMIALE.VERD ## Geeft als resultaat de binomiale verdeling
|
||||||
SUMIFS = SOMMEN.ALS ## Telt de cellen in een bereik op die aan meerdere criteria voldoen
|
CHIDIST = CHI.KWADRAAT ## Geeft als resultaat de eenzijdige kans van de chi-kwadraatverdeling
|
||||||
SUMPRODUCT = SOMPRODUCT ## Geeft als resultaat de som van de producten van de corresponderende matrixelementen
|
CHIINV = CHI.KWADRAAT.INV ## Geeft als resultaat de inverse van een eenzijdige kans van de chi-kwadraatverdeling
|
||||||
SUMSQ = KWADRATENSOM ## Geeft als resultaat de som van de kwadraten van de argumenten
|
CHITEST = CHI.TOETS ## Geeft als resultaat de onafhankelijkheidstoets
|
||||||
SUMX2MY2 = SOM.X2MINY2 ## Geeft als resultaat de som van het verschil tussen de kwadraten van corresponderende waarden in twee matrices
|
CONFIDENCE = BETROUWBAARHEID ## Geeft als resultaat het betrouwbaarheidsinterval van een gemiddelde waarde voor de elementen van een populatie
|
||||||
SUMX2PY2 = SOM.X2PLUSY2 ## Geeft als resultaat de som van de kwadratensom van corresponderende waarden in twee matrices
|
CORREL = CORRELATIE ## Geeft als resultaat de correlatiecoëfficiënt van twee gegevensverzamelingen
|
||||||
SUMXMY2 = SOM.XMINY.2 ## Geeft als resultaat de som van de kwadraten van de verschillen tussen de corresponderende waarden in twee matrices
|
COUNT = AANTAL ## Telt het aantal getallen in de argumentenlijst
|
||||||
TAN = TAN ## Geeft als resultaat de tangens van een getal
|
COUNTA = AANTALARG ## Telt het aantal waarden in de argumentenlijst
|
||||||
TANH = TANH ## Geeft als resultaat de tangens hyperbolicus van een getal
|
COUNTBLANK = AANTAL.LEGE.CELLEN ## Telt het aantal lege cellen in een bereik
|
||||||
TRUNC = GEHEEL ## Kapt een getal af tot een geheel getal
|
COUNTIF = AANTAL.ALS ## Telt in een bereik het aantal cellen die voldoen aan een bepaald criterium
|
||||||
|
COUNTIFS = AANTALLEN.ALS ## Telt in een bereik het aantal cellen die voldoen aan meerdere criteria
|
||||||
|
COVAR = COVARIANTIE ## Geeft als resultaat de covariantie, het gemiddelde van de producten van de gepaarde deviaties
|
||||||
##
|
CRITBINOM = CRIT.BINOM ## Geeft als resultaat de kleinste waarde waarvoor de binomiale verdeling kleiner is dan of gelijk is aan het criterium
|
||||||
## Statistical functions Statistische functies
|
DEVSQ = DEV.KWAD ## Geeft als resultaat de som van de deviaties in het kwadraat
|
||||||
##
|
EXPONDIST = EXPON.VERD ## Geeft als resultaat de exponentiële verdeling
|
||||||
AVEDEV = GEM.DEVIATIE ## Geeft als resultaat het gemiddelde van de absolute deviaties van gegevenspunten ten opzichte van hun gemiddelde waarde
|
FDIST = F.VERDELING ## Geeft als resultaat de F-verdeling
|
||||||
AVERAGE = GEMIDDELDE ## Geeft als resultaat het gemiddelde van de argumenten
|
FINV = F.INVERSE ## Geeft als resultaat de inverse van de F-verdeling
|
||||||
AVERAGEA = GEMIDDELDEA ## Geeft als resultaat het gemiddelde van de argumenten, inclusief getallen, tekst en logische waarden
|
FISHER = FISHER ## Geeft als resultaat de Fisher-transformatie
|
||||||
AVERAGEIF = GEMIDDELDE.ALS ## Geeft het gemiddelde (rekenkundig gemiddelde) als resultaat van alle cellen in een bereik die voldoen aan de opgegeven criteria
|
FISHERINV = FISHER.INV ## Geeft als resultaat de inverse van de Fisher-transformatie
|
||||||
AVERAGEIFS = GEMIDDELDEN.ALS ## Geeft het gemiddelde (rekenkundig gemiddelde) als resultaat van alle cellen die aan meerdere criteria voldoen
|
FORECAST = VOORSPELLEN ## Geeft als resultaat een waarde op basis van een lineaire trend
|
||||||
BETADIST = BETA.VERD ## Geeft als resultaat de cumulatieve bèta-verdelingsfunctie
|
FREQUENCY = FREQUENTIE ## Geeft als resultaat een frequentieverdeling in de vorm van een verticale matrix
|
||||||
BETAINV = BETA.INV ## Geeft als resultaat de inverse van de cumulatieve verdelingsfunctie voor een gegeven bèta-verdeling
|
FTEST = F.TOETS ## Geeft als resultaat een F-toets
|
||||||
BINOMDIST = BINOMIALE.VERD ## Geeft als resultaat de binomiale verdeling
|
GAMMADIST = GAMMA.VERD ## Geeft als resultaat de gamma-verdeling
|
||||||
CHIDIST = CHI.KWADRAAT ## Geeft als resultaat de eenzijdige kans van de chi-kwadraatverdeling
|
GAMMAINV = GAMMA.INV ## Geeft als resultaat de inverse van de cumulatieve gamma-verdeling
|
||||||
CHIINV = CHI.KWADRAAT.INV ## Geeft als resultaat de inverse van een eenzijdige kans van de chi-kwadraatverdeling
|
GAMMALN = GAMMA.LN ## Geeft als resultaat de natuurlijke logaritme van de gamma-functie, G(x)
|
||||||
CHITEST = CHI.TOETS ## Geeft als resultaat de onafhankelijkheidstoets
|
GEOMEAN = MEETK.GEM ## Geeft als resultaat het meetkundige gemiddelde
|
||||||
CONFIDENCE = BETROUWBAARHEID ## Geeft als resultaat het betrouwbaarheidsinterval van een gemiddelde waarde voor de elementen van een populatie
|
GROWTH = GROEI ## Geeft als resultaat de waarden voor een exponentiële trend
|
||||||
CORREL = CORRELATIE ## Geeft als resultaat de correlatiecoëfficiënt van twee gegevensverzamelingen
|
HARMEAN = HARM.GEM ## Geeft als resultaat het harmonische gemiddelde
|
||||||
COUNT = AANTAL ## Telt het aantal getallen in de argumentenlijst
|
HYPGEOMDIST = HYPERGEO.VERD ## Geeft als resultaat de hypergeometrische verdeling
|
||||||
COUNTA = AANTALARG ## Telt het aantal waarden in de argumentenlijst
|
INTERCEPT = SNIJPUNT ## Geeft als resultaat het snijpunt van de lineaire regressielijn met de y-as
|
||||||
COUNTBLANK = AANTAL.LEGE.CELLEN ## Telt het aantal lege cellen in een bereik
|
KURT = KURTOSIS ## Geeft als resultaat de kurtosis van een gegevensverzameling
|
||||||
COUNTIF = AANTAL.ALS ## Telt in een bereik het aantal cellen die voldoen aan een bepaald criterium
|
LARGE = GROOTSTE ## Geeft als resultaat de op k-1 na grootste waarde in een gegevensverzameling
|
||||||
COUNTIFS = AANTALLEN.ALS ## Telt in een bereik het aantal cellen die voldoen aan meerdere criteria
|
LINEST = LIJNSCH ## Geeft als resultaat de parameters van een lineaire trend
|
||||||
COVAR = COVARIANTIE ## Geeft als resultaat de covariantie, het gemiddelde van de producten van de gepaarde deviaties
|
LOGEST = LOGSCH ## Geeft als resultaat de parameters van een exponentiële trend
|
||||||
CRITBINOM = CRIT.BINOM ## Geeft als resultaat de kleinste waarde waarvoor de binomiale verdeling kleiner is dan of gelijk is aan het criterium
|
LOGINV = LOG.NORM.INV ## Geeft als resultaat de inverse van de logaritmische normale verdeling
|
||||||
DEVSQ = DEV.KWAD ## Geeft als resultaat de som van de deviaties in het kwadraat
|
LOGNORMDIST = LOG.NORM.VERD ## Geeft als resultaat de cumulatieve logaritmische normale verdeling
|
||||||
EXPONDIST = EXPON.VERD ## Geeft als resultaat de exponentiële verdeling
|
MAX = MAX ## Geeft als resultaat de maximumwaarde in een lijst met argumenten
|
||||||
FDIST = F.VERDELING ## Geeft als resultaat de F-verdeling
|
MAXA = MAXA ## Geeft als resultaat de maximumwaarde in een lijst met argumenten, inclusief getallen, tekst en logische waarden
|
||||||
FINV = F.INVERSE ## Geeft als resultaat de inverse van de F-verdeling
|
MEDIAN = MEDIAAN ## Geeft als resultaat de mediaan van de opgegeven getallen
|
||||||
FISHER = FISHER ## Geeft als resultaat de Fisher-transformatie
|
MIN = MIN ## Geeft als resultaat de minimumwaarde in een lijst met argumenten
|
||||||
FISHERINV = FISHER.INV ## Geeft als resultaat de inverse van de Fisher-transformatie
|
MINA = MINA ## Geeft als resultaat de minimumwaarde in een lijst met argumenten, inclusief getallen, tekst en logische waarden
|
||||||
FORECAST = VOORSPELLEN ## Geeft als resultaat een waarde op basis van een lineaire trend
|
MODE = MODUS ## Geeft als resultaat de meest voorkomende waarde in een gegevensverzameling
|
||||||
FREQUENCY = FREQUENTIE ## Geeft als resultaat een frequentieverdeling in de vorm van een verticale matrix
|
NEGBINOMDIST = NEG.BINOM.VERD ## Geeft als resultaat de negatieve binomiaalverdeling
|
||||||
FTEST = F.TOETS ## Geeft als resultaat een F-toets
|
NORMDIST = NORM.VERD ## Geeft als resultaat de cumulatieve normale verdeling
|
||||||
GAMMADIST = GAMMA.VERD ## Geeft als resultaat de gamma-verdeling
|
NORMINV = NORM.INV ## Geeft als resultaat de inverse van de cumulatieve standaardnormale verdeling
|
||||||
GAMMAINV = GAMMA.INV ## Geeft als resultaat de inverse van de cumulatieve gamma-verdeling
|
NORMSDIST = STAND.NORM.VERD ## Geeft als resultaat de cumulatieve standaardnormale verdeling
|
||||||
GAMMALN = GAMMA.LN ## Geeft als resultaat de natuurlijke logaritme van de gamma-functie, G(x)
|
NORMSINV = STAND.NORM.INV ## Geeft als resultaat de inverse van de cumulatieve normale verdeling
|
||||||
GEOMEAN = MEETK.GEM ## Geeft als resultaat het meetkundige gemiddelde
|
PEARSON = PEARSON ## Geeft als resultaat de correlatiecoëfficiënt van Pearson
|
||||||
GROWTH = GROEI ## Geeft als resultaat de waarden voor een exponentiële trend
|
PERCENTILE = PERCENTIEL ## Geeft als resultaat het k-de percentiel van waarden in een bereik
|
||||||
HARMEAN = HARM.GEM ## Geeft als resultaat het harmonische gemiddelde
|
PERCENTRANK = PERCENT.RANG ## Geeft als resultaat de positie, in procenten uitgedrukt, van een waarde in de rangorde van een gegevensverzameling
|
||||||
HYPGEOMDIST = HYPERGEO.VERD ## Geeft als resultaat de hypergeometrische verdeling
|
PERMUT = PERMUTATIES ## Geeft als resultaat het aantal permutaties voor een gegeven aantal objecten
|
||||||
INTERCEPT = SNIJPUNT ## Geeft als resultaat het snijpunt van de lineaire regressielijn met de y-as
|
POISSON = POISSON ## Geeft als resultaat de Poisson-verdeling
|
||||||
KURT = KURTOSIS ## Geeft als resultaat de kurtosis van een gegevensverzameling
|
PROB = KANS ## Geeft als resultaat de kans dat waarden zich tussen twee grenzen bevinden
|
||||||
LARGE = GROOTSTE ## Geeft als resultaat de op k-1 na grootste waarde in een gegevensverzameling
|
QUARTILE = KWARTIEL ## Geeft als resultaat het kwartiel van een gegevensverzameling
|
||||||
LINEST = LIJNSCH ## Geeft als resultaat de parameters van een lineaire trend
|
RANK = RANG ## Geeft als resultaat het rangnummer van een getal in een lijst getallen
|
||||||
LOGEST = LOGSCH ## Geeft als resultaat de parameters van een exponentiële trend
|
RSQ = R.KWADRAAT ## Geeft als resultaat het kwadraat van de Pearson-correlatiecoëfficiënt
|
||||||
LOGINV = LOG.NORM.INV ## Geeft als resultaat de inverse van de logaritmische normale verdeling
|
SKEW = SCHEEFHEID ## Geeft als resultaat de mate van asymmetrie van een verdeling
|
||||||
LOGNORMDIST = LOG.NORM.VERD ## Geeft als resultaat de cumulatieve logaritmische normale verdeling
|
SLOPE = RICHTING ## Geeft als resultaat de richtingscoëfficiënt van een lineaire regressielijn
|
||||||
MAX = MAX ## Geeft als resultaat de maximumwaarde in een lijst met argumenten
|
SMALL = KLEINSTE ## Geeft als resultaat de op k-1 na kleinste waarde in een gegevensverzameling
|
||||||
MAXA = MAXA ## Geeft als resultaat de maximumwaarde in een lijst met argumenten, inclusief getallen, tekst en logische waarden
|
STANDARDIZE = NORMALISEREN ## Geeft als resultaat een genormaliseerde waarde
|
||||||
MEDIAN = MEDIAAN ## Geeft als resultaat de mediaan van de opgegeven getallen
|
STDEV = STDEV ## Maakt een schatting van de standaarddeviatie op basis van een steekproef
|
||||||
MIN = MIN ## Geeft als resultaat de minimumwaarde in een lijst met argumenten
|
STDEVA = STDEVA ## Maakt een schatting van de standaarddeviatie op basis van een steekproef, inclusief getallen, tekst en logische waarden
|
||||||
MINA = MINA ## Geeft als resultaat de minimumwaarde in een lijst met argumenten, inclusief getallen, tekst en logische waarden
|
STDEVP = STDEVP ## Berekent de standaarddeviatie op basis van de volledige populatie
|
||||||
MODE = MODUS ## Geeft als resultaat de meest voorkomende waarde in een gegevensverzameling
|
STDEVPA = STDEVPA ## Berekent de standaarddeviatie op basis van de volledige populatie, inclusief getallen, tekst en logische waarden
|
||||||
NEGBINOMDIST = NEG.BINOM.VERD ## Geeft als resultaat de negatieve binomiaalverdeling
|
STEYX = STAND.FOUT.YX ## Geeft als resultaat de standaardfout in de voorspelde y-waarde voor elke x in een regressie
|
||||||
NORMDIST = NORM.VERD ## Geeft als resultaat de cumulatieve normale verdeling
|
TDIST = T.VERD ## Geeft als resultaat de Student T-verdeling
|
||||||
NORMINV = NORM.INV ## Geeft als resultaat de inverse van de cumulatieve standaardnormale verdeling
|
TINV = T.INV ## Geeft als resultaat de inverse van de Student T-verdeling
|
||||||
NORMSDIST = STAND.NORM.VERD ## Geeft als resultaat de cumulatieve standaardnormale verdeling
|
TREND = TREND ## Geeft als resultaat de waarden voor een lineaire trend
|
||||||
NORMSINV = STAND.NORM.INV ## Geeft als resultaat de inverse van de cumulatieve normale verdeling
|
TRIMMEAN = GETRIMD.GEM ## Geeft als resultaat het gemiddelde van waarden in een gegevensverzameling
|
||||||
PEARSON = PEARSON ## Geeft als resultaat de correlatiecoëfficiënt van Pearson
|
TTEST = T.TOETS ## Geeft als resultaat de kans met behulp van de Student T-toets
|
||||||
PERCENTILE = PERCENTIEL ## Geeft als resultaat het k-de percentiel van waarden in een bereik
|
VAR = VAR ## Maakt een schatting van de variantie op basis van een steekproef
|
||||||
PERCENTRANK = PERCENT.RANG ## Geeft als resultaat de positie, in procenten uitgedrukt, van een waarde in de rangorde van een gegevensverzameling
|
VARA = VARA ## Maakt een schatting van de variantie op basis van een steekproef, inclusief getallen, tekst en logische waarden
|
||||||
PERMUT = PERMUTATIES ## Geeft als resultaat het aantal permutaties voor een gegeven aantal objecten
|
VARP = VARP ## Berekent de variantie op basis van de volledige populatie
|
||||||
POISSON = POISSON ## Geeft als resultaat de Poisson-verdeling
|
VARPA = VARPA ## Berekent de standaarddeviatie op basis van de volledige populatie, inclusief getallen, tekst en logische waarden
|
||||||
PROB = KANS ## Geeft als resultaat de kans dat waarden zich tussen twee grenzen bevinden
|
WEIBULL = WEIBULL ## Geeft als resultaat de Weibull-verdeling
|
||||||
QUARTILE = KWARTIEL ## Geeft als resultaat het kwartiel van een gegevensverzameling
|
ZTEST = Z.TOETS ## Geeft als resultaat de eenzijdige kanswaarde van een Z-toets
|
||||||
RANK = RANG ## Geeft als resultaat het rangnummer van een getal in een lijst getallen
|
|
||||||
RSQ = R.KWADRAAT ## Geeft als resultaat het kwadraat van de Pearson-correlatiecoëfficiënt
|
|
||||||
SKEW = SCHEEFHEID ## Geeft als resultaat de mate van asymmetrie van een verdeling
|
##
|
||||||
SLOPE = RICHTING ## Geeft als resultaat de richtingscoëfficiënt van een lineaire regressielijn
|
## Text functions Tekstfuncties
|
||||||
SMALL = KLEINSTE ## Geeft als resultaat de op k-1 na kleinste waarde in een gegevensverzameling
|
##
|
||||||
STANDARDIZE = NORMALISEREN ## Geeft als resultaat een genormaliseerde waarde
|
ASC = ASC ## Wijzigt Nederlandse letters of katakanatekens over de volle breedte (dubbel-bytetekens) binnen een tekenreeks in tekens over de halve breedte (enkel-bytetekens)
|
||||||
STDEV = STDEV ## Maakt een schatting van de standaarddeviatie op basis van een steekproef
|
BAHTTEXT = BAHT.TEKST ## Converteert een getal naar tekst met de valutanotatie ß (baht)
|
||||||
STDEVA = STDEVA ## Maakt een schatting van de standaarddeviatie op basis van een steekproef, inclusief getallen, tekst en logische waarden
|
CHAR = TEKEN ## Geeft als resultaat het teken dat hoort bij de opgegeven code
|
||||||
STDEVP = STDEVP ## Berekent de standaarddeviatie op basis van de volledige populatie
|
CLEAN = WISSEN.CONTROL ## Verwijdert alle niet-afdrukbare tekens uit een tekst
|
||||||
STDEVPA = STDEVPA ## Berekent de standaarddeviatie op basis van de volledige populatie, inclusief getallen, tekst en logische waarden
|
CODE = CODE ## Geeft als resultaat de numerieke code voor het eerste teken in een tekenreeks
|
||||||
STEYX = STAND.FOUT.YX ## Geeft als resultaat de standaardfout in de voorspelde y-waarde voor elke x in een regressie
|
CONCATENATE = TEKST.SAMENVOEGEN ## Voegt verschillende tekstfragmenten samen tot één tekstfragment
|
||||||
TDIST = T.VERD ## Geeft als resultaat de Student T-verdeling
|
DOLLAR = EURO ## Converteert een getal naar tekst met de valutanotatie € (euro)
|
||||||
TINV = T.INV ## Geeft als resultaat de inverse van de Student T-verdeling
|
EXACT = GELIJK ## Controleert of twee tekenreeksen identiek zijn
|
||||||
TREND = TREND ## Geeft als resultaat de waarden voor een lineaire trend
|
FIND = VIND.ALLES ## Zoekt een bepaalde tekenreeks in een tekst (waarbij onderscheid wordt gemaakt tussen hoofdletters en kleine letters)
|
||||||
TRIMMEAN = GETRIMD.GEM ## Geeft als resultaat het gemiddelde van waarden in een gegevensverzameling
|
FINDB = VIND.ALLES.B ## Zoekt een bepaalde tekenreeks in een tekst (waarbij onderscheid wordt gemaakt tussen hoofdletters en kleine letters)
|
||||||
TTEST = T.TOETS ## Geeft als resultaat de kans met behulp van de Student T-toets
|
FIXED = VAST ## Maakt een getal als tekst met een vast aantal decimalen op
|
||||||
VAR = VAR ## Maakt een schatting van de variantie op basis van een steekproef
|
JIS = JIS ## Wijzigt Nederlandse letters of katakanatekens over de halve breedte (enkel-bytetekens) binnen een tekenreeks in tekens over de volle breedte (dubbel-bytetekens)
|
||||||
VARA = VARA ## Maakt een schatting van de variantie op basis van een steekproef, inclusief getallen, tekst en logische waarden
|
LEFT = LINKS ## Geeft als resultaat de meest linkse tekens in een tekenreeks
|
||||||
VARP = VARP ## Berekent de variantie op basis van de volledige populatie
|
LEFTB = LINKSB ## Geeft als resultaat de meest linkse tekens in een tekenreeks
|
||||||
VARPA = VARPA ## Berekent de standaarddeviatie op basis van de volledige populatie, inclusief getallen, tekst en logische waarden
|
LEN = LENGTE ## Geeft als resultaat het aantal tekens in een tekenreeks
|
||||||
WEIBULL = WEIBULL ## Geeft als resultaat de Weibull-verdeling
|
LENB = LENGTEB ## Geeft als resultaat het aantal tekens in een tekenreeks
|
||||||
ZTEST = Z.TOETS ## Geeft als resultaat de eenzijdige kanswaarde van een Z-toets
|
LOWER = KLEINE.LETTERS ## Zet tekst om in kleine letters
|
||||||
|
MID = MIDDEN ## Geeft als resultaat een bepaald aantal tekens van een tekenreeks vanaf de positie die u opgeeft
|
||||||
|
MIDB = DEELB ## Geeft als resultaat een bepaald aantal tekens van een tekenreeks vanaf de positie die u opgeeft
|
||||||
##
|
PHONETIC = FONETISCH ## Haalt de fonetische tekens (furigana) uit een tekenreeks op
|
||||||
## Text functions Tekstfuncties
|
PROPER = BEGINLETTERS ## Zet de eerste letter van elk woord in een tekst om in een hoofdletter
|
||||||
##
|
REPLACE = VERVANG ## Vervangt tekens binnen een tekst
|
||||||
ASC = ASC ## Wijzigt Nederlandse letters of katakanatekens over de volle breedte (dubbel-bytetekens) binnen een tekenreeks in tekens over de halve breedte (enkel-bytetekens)
|
REPLACEB = VERVANGENB ## Vervangt tekens binnen een tekst
|
||||||
BAHTTEXT = BAHT.TEKST ## Converteert een getal naar tekst met de valutanotatie ß (baht)
|
REPT = HERHALING ## Herhaalt een tekst een aantal malen
|
||||||
CHAR = TEKEN ## Geeft als resultaat het teken dat hoort bij de opgegeven code
|
RIGHT = RECHTS ## Geeft als resultaat de meest rechtse tekens in een tekenreeks
|
||||||
CLEAN = WISSEN.CONTROL ## Verwijdert alle niet-afdrukbare tekens uit een tekst
|
RIGHTB = RECHTSB ## Geeft als resultaat de meest rechtse tekens in een tekenreeks
|
||||||
CODE = CODE ## Geeft als resultaat de numerieke code voor het eerste teken in een tekenreeks
|
SEARCH = VIND.SPEC ## Zoekt een bepaalde tekenreeks in een tekst (waarbij geen onderscheid wordt gemaakt tussen hoofdletters en kleine letters)
|
||||||
CONCATENATE = TEKST.SAMENVOEGEN ## Voegt verschillende tekstfragmenten samen tot één tekstfragment
|
SEARCHB = VIND.SPEC.B ## Zoekt een bepaalde tekenreeks in een tekst (waarbij geen onderscheid wordt gemaakt tussen hoofdletters en kleine letters)
|
||||||
DOLLAR = EURO ## Converteert een getal naar tekst met de valutanotatie € (euro)
|
SUBSTITUTE = SUBSTITUEREN ## Vervangt oude tekst door nieuwe tekst in een tekenreeks
|
||||||
EXACT = GELIJK ## Controleert of twee tekenreeksen identiek zijn
|
T = T ## Converteert de argumenten naar tekst
|
||||||
FIND = VIND.ALLES ## Zoekt een bepaalde tekenreeks in een tekst (waarbij onderscheid wordt gemaakt tussen hoofdletters en kleine letters)
|
TEXT = TEKST ## Maakt een getal op en converteert het getal naar tekst
|
||||||
FINDB = VIND.ALLES.B ## Zoekt een bepaalde tekenreeks in een tekst (waarbij onderscheid wordt gemaakt tussen hoofdletters en kleine letters)
|
TRIM = SPATIES.WISSEN ## Verwijdert de spaties uit een tekst
|
||||||
FIXED = VAST ## Maakt een getal als tekst met een vast aantal decimalen op
|
UPPER = HOOFDLETTERS ## Zet tekst om in hoofdletters
|
||||||
JIS = JIS ## Wijzigt Nederlandse letters of katakanatekens over de halve breedte (enkel-bytetekens) binnen een tekenreeks in tekens over de volle breedte (dubbel-bytetekens)
|
VALUE = WAARDE ## Converteert tekst naar een getal
|
||||||
LEFT = LINKS ## Geeft als resultaat de meest linkse tekens in een tekenreeks
|
|
||||||
LEFTB = LINKSB ## Geeft als resultaat de meest linkse tekens in een tekenreeks
|
|
||||||
LEN = LENGTE ## Geeft als resultaat het aantal tekens in een tekenreeks
|
|
||||||
LENB = LENGTEB ## Geeft als resultaat het aantal tekens in een tekenreeks
|
|
||||||
LOWER = KLEINE.LETTERS ## Zet tekst om in kleine letters
|
|
||||||
MID = MIDDEN ## Geeft als resultaat een bepaald aantal tekens van een tekenreeks vanaf de positie die u opgeeft
|
|
||||||
MIDB = DEELB ## Geeft als resultaat een bepaald aantal tekens van een tekenreeks vanaf de positie die u opgeeft
|
|
||||||
PHONETIC = FONETISCH ## Haalt de fonetische tekens (furigana) uit een tekenreeks op
|
|
||||||
PROPER = BEGINLETTERS ## Zet de eerste letter van elk woord in een tekst om in een hoofdletter
|
|
||||||
REPLACE = VERVANG ## Vervangt tekens binnen een tekst
|
|
||||||
REPLACEB = VERVANGENB ## Vervangt tekens binnen een tekst
|
|
||||||
REPT = HERHALING ## Herhaalt een tekst een aantal malen
|
|
||||||
RIGHT = RECHTS ## Geeft als resultaat de meest rechtse tekens in een tekenreeks
|
|
||||||
RIGHTB = RECHTSB ## Geeft als resultaat de meest rechtse tekens in een tekenreeks
|
|
||||||
SEARCH = VIND.SPEC ## Zoekt een bepaalde tekenreeks in een tekst (waarbij geen onderscheid wordt gemaakt tussen hoofdletters en kleine letters)
|
|
||||||
SEARCHB = VIND.SPEC.B ## Zoekt een bepaalde tekenreeks in een tekst (waarbij geen onderscheid wordt gemaakt tussen hoofdletters en kleine letters)
|
|
||||||
SUBSTITUTE = SUBSTITUEREN ## Vervangt oude tekst door nieuwe tekst in een tekenreeks
|
|
||||||
T = T ## Converteert de argumenten naar tekst
|
|
||||||
TEXT = TEKST ## Maakt een getal op en converteert het getal naar tekst
|
|
||||||
TRIM = SPATIES.WISSEN ## Verwijdert de spaties uit een tekst
|
|
||||||
UPPER = HOOFDLETTERS ## Zet tekst om in hoofdletters
|
|
||||||
VALUE = WAARDE ## Converteert tekst naar een getal
|
|
||||||
24
PhpOffice/PhpSpreadsheet/Calculation/locale/no/config
Normal file
24
PhpOffice/PhpSpreadsheet/Calculation/locale/no/config
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
##
|
||||||
|
## PhpSpreadsheet
|
||||||
|
##
|
||||||
|
|
||||||
|
ArgumentSeparator = ;
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## (For future use)
|
||||||
|
##
|
||||||
|
currencySymbol = kr
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## Excel Error Codes (For future use)
|
||||||
|
|
||||||
|
##
|
||||||
|
NULL = #NULL!
|
||||||
|
DIV0 = #DIV/0!
|
||||||
|
VALUE = #VERDI!
|
||||||
|
REF = #REF!
|
||||||
|
NAME = #NAVN?
|
||||||
|
NUM = #NUM!
|
||||||
|
NA = #I/T
|
||||||
|
|
@ -1,438 +1,416 @@
|
||||||
##
|
##
|
||||||
## PHPExcel
|
## PhpSpreadsheet
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Data in this file derived from https://www.excel-function-translation.com/
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
##
|
||||||
## modify it under the terms of the GNU Lesser General Public
|
|
||||||
## License as published by the Free Software Foundation; either
|
|
||||||
## version 2.1 of the License, or (at your option) any later version.
|
##
|
||||||
##
|
## Add-in and Automation functions Funksjonene Tillegg og Automatisering
|
||||||
## This library is distributed in the hope that it will be useful,
|
##
|
||||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
GETPIVOTDATA = HENTPIVOTDATA ## Returnerer data som er lagret i en pivottabellrapport
|
||||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
## Lesser General Public License for more details.
|
|
||||||
##
|
##
|
||||||
## You should have received a copy of the GNU Lesser General Public
|
## Cube functions Kubefunksjoner
|
||||||
## License along with this library; if not, write to the Free Software
|
##
|
||||||
## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
CUBEKPIMEMBER = KUBEKPIMEDLEM ## Returnerer navnet, egenskapen og målet for en viktig ytelsesindikator (KPI), og viser navnet og egenskapen i cellen. En KPI er en målbar enhet, for eksempel månedlig bruttoinntjening eller kvartalsvis inntjening per ansatt, og brukes til å overvåke ytelsen i en organisasjon.
|
||||||
##
|
CUBEMEMBER = KUBEMEDLEM ## Returnerer et medlem eller en tuppel i et kubehierarki. Brukes til å validere at medlemmet eller tuppelen finnes i kuben.
|
||||||
## @category PHPExcel
|
CUBEMEMBERPROPERTY = KUBEMEDLEMEGENSKAP ## Returnerer verdien til en medlemsegenskap i kuben. Brukes til å validere at et medlemsnavn finnes i kuben, og til å returnere den angitte egenskapen for dette medlemmet.
|
||||||
## @package PHPExcel_Calculation
|
CUBERANKEDMEMBER = KUBERANGERTMEDLEM ## Returnerer det n-te, eller rangerte, medlemmet i et sett. Brukes til å returnere ett eller flere elementer i et sett, for eksempel de 10 beste studentene.
|
||||||
## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
CUBESET = KUBESETT ## Definerer et beregnet sett av medlemmer eller tuppeler ved å sende et settuttrykk til kuben på serveren, noe som oppretter settet og deretter returnerer dette settet til Microsoft Office Excel.
|
||||||
## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
CUBESETCOUNT = KUBESETTANTALL ## Returnerer antallet elementer i et sett.
|
||||||
## @version ##VERSION##, ##DATE##
|
CUBEVALUE = KUBEVERDI ## Returnerer en aggregert verdi fra en kube.
|
||||||
##
|
|
||||||
## Data in this file derived from http://www.piuha.fi/excel-function-name-translation/
|
|
||||||
##
|
##
|
||||||
##
|
## Database functions Databasefunksjoner
|
||||||
|
##
|
||||||
|
DAVERAGE = DGJENNOMSNITT ## Returnerer gjennomsnittet av merkede databaseposter
|
||||||
##
|
DCOUNT = DANTALL ## Teller celler som inneholder tall i en database
|
||||||
## Add-in and Automation functions Funksjonene Tillegg og Automatisering
|
DCOUNTA = DANTALLA ## Teller celler som ikke er tomme i en database
|
||||||
##
|
DGET = DHENT ## Trekker ut fra en database en post som oppfyller angitte vilkår
|
||||||
GETPIVOTDATA = HENTPIVOTDATA ## Returnerer data som er lagret i en pivottabellrapport
|
DMAX = DMAKS ## Returnerer maksimumsverdien fra merkede databaseposter
|
||||||
|
DMIN = DMIN ## Returnerer minimumsverdien fra merkede databaseposter
|
||||||
|
DPRODUCT = DPRODUKT ## Multipliserer verdiene i et bestemt felt med poster som oppfyller vilkårene i en database
|
||||||
##
|
DSTDEV = DSTDAV ## Estimerer standardavviket basert på et utvalg av merkede databaseposter
|
||||||
## Cube functions Kubefunksjoner
|
DSTDEVP = DSTAVP ## Beregner standardavviket basert på at merkede databaseposter utgjør hele populasjonen
|
||||||
##
|
DSUM = DSUMMER ## Legger til tallene i feltkolonnen med poster, i databasen som oppfyller vilkårene
|
||||||
CUBEKPIMEMBER = KUBEKPIMEDLEM ## Returnerer navnet, egenskapen og målet for en viktig ytelsesindikator (KPI), og viser navnet og egenskapen i cellen. En KPI er en målbar enhet, for eksempel månedlig bruttoinntjening eller kvartalsvis inntjening per ansatt, og brukes til å overvåke ytelsen i en organisasjon.
|
DVAR = DVARIANS ## Estimerer variansen basert på et utvalg av merkede databaseposter
|
||||||
CUBEMEMBER = KUBEMEDLEM ## Returnerer et medlem eller en tuppel i et kubehierarki. Brukes til å validere at medlemmet eller tuppelen finnes i kuben.
|
DVARP = DVARIANSP ## Beregner variansen basert på at merkede databaseposter utgjør hele populasjonen
|
||||||
CUBEMEMBERPROPERTY = KUBEMEDLEMEGENSKAP ## Returnerer verdien til en medlemsegenskap i kuben. Brukes til å validere at et medlemsnavn finnes i kuben, og til å returnere den angitte egenskapen for dette medlemmet.
|
|
||||||
CUBERANKEDMEMBER = KUBERANGERTMEDLEM ## Returnerer det n-te, eller rangerte, medlemmet i et sett. Brukes til å returnere ett eller flere elementer i et sett, for eksempel de 10 beste studentene.
|
|
||||||
CUBESET = KUBESETT ## Definerer et beregnet sett av medlemmer eller tuppeler ved å sende et settuttrykk til kuben på serveren, noe som oppretter settet og deretter returnerer dette settet til Microsoft Office Excel.
|
##
|
||||||
CUBESETCOUNT = KUBESETTANTALL ## Returnerer antallet elementer i et sett.
|
## Date and time functions Dato- og tidsfunksjoner
|
||||||
CUBEVALUE = KUBEVERDI ## Returnerer en aggregert verdi fra en kube.
|
##
|
||||||
|
DATE = DATO ## Returnerer serienummeret som svarer til en bestemt dato
|
||||||
|
DATEVALUE = DATOVERDI ## Konverterer en dato med tekstformat til et serienummer
|
||||||
##
|
DAY = DAG ## Konverterer et serienummer til en dag i måneden
|
||||||
## Database functions Databasefunksjoner
|
DAYS360 = DAGER360 ## Beregner antall dager mellom to datoer basert på et år med 360 dager
|
||||||
##
|
EDATE = DAG.ETTER ## Returnerer serienummeret som svarer til datoen som er det indikerte antall måneder før eller etter startdatoen
|
||||||
DAVERAGE = DGJENNOMSNITT ## Returnerer gjennomsnittet av merkede databaseposter
|
EOMONTH = MÅNEDSSLUTT ## Returnerer serienummeret som svarer til siste dag i måneden, før eller etter et angitt antall måneder
|
||||||
DCOUNT = DANTALL ## Teller celler som inneholder tall i en database
|
HOUR = TIME ## Konverterer et serienummer til en time
|
||||||
DCOUNTA = DANTALLA ## Teller celler som ikke er tomme i en database
|
MINUTE = MINUTT ## Konverterer et serienummer til et minutt
|
||||||
DGET = DHENT ## Trekker ut fra en database en post som oppfyller angitte vilkår
|
MONTH = MÅNED ## Konverterer et serienummer til en måned
|
||||||
DMAX = DMAKS ## Returnerer maksimumsverdien fra merkede databaseposter
|
NETWORKDAYS = NETT.ARBEIDSDAGER ## Returnerer antall hele arbeidsdager mellom to datoer
|
||||||
DMIN = DMIN ## Returnerer minimumsverdien fra merkede databaseposter
|
NOW = NÅ ## Returnerer serienummeret som svarer til gjeldende dato og klokkeslett
|
||||||
DPRODUCT = DPRODUKT ## Multipliserer verdiene i et bestemt felt med poster som oppfyller vilkårene i en database
|
SECOND = SEKUND ## Konverterer et serienummer til et sekund
|
||||||
DSTDEV = DSTDAV ## Estimerer standardavviket basert på et utvalg av merkede databaseposter
|
TIME = TID ## Returnerer serienummeret som svarer til et bestemt klokkeslett
|
||||||
DSTDEVP = DSTAVP ## Beregner standardavviket basert på at merkede databaseposter utgjør hele populasjonen
|
TIMEVALUE = TIDSVERDI ## Konverterer et klokkeslett i tekstformat til et serienummer
|
||||||
DSUM = DSUMMER ## Legger til tallene i feltkolonnen med poster, i databasen som oppfyller vilkårene
|
TODAY = IDAG ## Returnerer serienummeret som svarer til dagens dato
|
||||||
DVAR = DVARIANS ## Estimerer variansen basert på et utvalg av merkede databaseposter
|
WEEKDAY = UKEDAG ## Konverterer et serienummer til en ukedag
|
||||||
DVARP = DVARIANSP ## Beregner variansen basert på at merkede databaseposter utgjør hele populasjonen
|
WEEKNUM = UKENR ## Konverterer et serienummer til et tall som representerer hvilket nummer uken har i et år
|
||||||
|
WORKDAY = ARBEIDSDAG ## Returnerer serienummeret som svarer til datoen før eller etter et angitt antall arbeidsdager
|
||||||
|
YEAR = ÅR ## Konverterer et serienummer til et år
|
||||||
##
|
YEARFRAC = ÅRDEL ## Returnerer brøkdelen for året, som svarer til antall hele dager mellom startdato og sluttdato
|
||||||
## Date and time functions Dato- og tidsfunksjoner
|
|
||||||
##
|
|
||||||
DATE = DATO ## Returnerer serienummeret som svarer til en bestemt dato
|
##
|
||||||
DATEVALUE = DATOVERDI ## Konverterer en dato med tekstformat til et serienummer
|
## Engineering functions Tekniske funksjoner
|
||||||
DAY = DAG ## Konverterer et serienummer til en dag i måneden
|
##
|
||||||
DAYS360 = DAGER360 ## Beregner antall dager mellom to datoer basert på et år med 360 dager
|
BESSELI = BESSELI ## Returnerer den endrede Bessel-funksjonen In(x)
|
||||||
EDATE = DAG.ETTER ## Returnerer serienummeret som svarer til datoen som er det indikerte antall måneder før eller etter startdatoen
|
BESSELJ = BESSELJ ## Returnerer Bessel-funksjonen Jn(x)
|
||||||
EOMONTH = MÅNEDSSLUTT ## Returnerer serienummeret som svarer til siste dag i måneden, før eller etter et angitt antall måneder
|
BESSELK = BESSELK ## Returnerer den endrede Bessel-funksjonen Kn(x)
|
||||||
HOUR = TIME ## Konverterer et serienummer til en time
|
BESSELY = BESSELY ## Returnerer Bessel-funksjonen Yn(x)
|
||||||
MINUTE = MINUTT ## Konverterer et serienummer til et minutt
|
BIN2DEC = BINTILDES ## Konverterer et binært tall til et desimaltall
|
||||||
MONTH = MÅNED ## Konverterer et serienummer til en måned
|
BIN2HEX = BINTILHEKS ## Konverterer et binært tall til et heksadesimaltall
|
||||||
NETWORKDAYS = NETT.ARBEIDSDAGER ## Returnerer antall hele arbeidsdager mellom to datoer
|
BIN2OCT = BINTILOKT ## Konverterer et binært tall til et oktaltall
|
||||||
NOW = NÅ ## Returnerer serienummeret som svarer til gjeldende dato og klokkeslett
|
COMPLEX = KOMPLEKS ## Konverterer reelle og imaginære koeffisienter til et komplekst tall
|
||||||
SECOND = SEKUND ## Konverterer et serienummer til et sekund
|
CONVERT = KONVERTER ## Konverterer et tall fra ett målsystem til et annet
|
||||||
TIME = TID ## Returnerer serienummeret som svarer til et bestemt klokkeslett
|
DEC2BIN = DESTILBIN ## Konverterer et desimaltall til et binærtall
|
||||||
TIMEVALUE = TIDSVERDI ## Konverterer et klokkeslett i tekstformat til et serienummer
|
DEC2HEX = DESTILHEKS ## Konverterer et heltall i 10-tallsystemet til et heksadesimalt tall
|
||||||
TODAY = IDAG ## Returnerer serienummeret som svarer til dagens dato
|
DEC2OCT = DESTILOKT ## Konverterer et heltall i 10-tallsystemet til et oktaltall
|
||||||
WEEKDAY = UKEDAG ## Konverterer et serienummer til en ukedag
|
DELTA = DELTA ## Undersøker om to verdier er like
|
||||||
WEEKNUM = UKENR ## Konverterer et serienummer til et tall som representerer hvilket nummer uken har i et år
|
ERF = FEILF ## Returnerer feilfunksjonen
|
||||||
WORKDAY = ARBEIDSDAG ## Returnerer serienummeret som svarer til datoen før eller etter et angitt antall arbeidsdager
|
ERFC = FEILFK ## Returnerer den komplementære feilfunksjonen
|
||||||
YEAR = ÅR ## Konverterer et serienummer til et år
|
GESTEP = GRENSEVERDI ## Tester om et tall er større enn en terskelverdi
|
||||||
YEARFRAC = ÅRDEL ## Returnerer brøkdelen for året, som svarer til antall hele dager mellom startdato og sluttdato
|
HEX2BIN = HEKSTILBIN ## Konverterer et heksadesimaltall til et binært tall
|
||||||
|
HEX2DEC = HEKSTILDES ## Konverterer et heksadesimalt tall til et heltall i 10-tallsystemet
|
||||||
|
HEX2OCT = HEKSTILOKT ## Konverterer et heksadesimalt tall til et oktaltall
|
||||||
##
|
IMABS = IMABS ## Returnerer absoluttverdien (koeffisienten) til et komplekst tall
|
||||||
## Engineering functions Tekniske funksjoner
|
IMAGINARY = IMAGINÆR ## Returnerer den imaginære koeffisienten til et komplekst tall
|
||||||
##
|
IMARGUMENT = IMARGUMENT ## Returnerer argumentet theta, som er en vinkel uttrykt i radianer
|
||||||
BESSELI = BESSELI ## Returnerer den endrede Bessel-funksjonen In(x)
|
IMCONJUGATE = IMKONJUGERT ## Returnerer den komplekse konjugaten til et komplekst tall
|
||||||
BESSELJ = BESSELJ ## Returnerer Bessel-funksjonen Jn(x)
|
IMCOS = IMCOS ## Returnerer cosinus til et komplekst tall
|
||||||
BESSELK = BESSELK ## Returnerer den endrede Bessel-funksjonen Kn(x)
|
IMDIV = IMDIV ## Returnerer kvotienten til to komplekse tall
|
||||||
BESSELY = BESSELY ## Returnerer Bessel-funksjonen Yn(x)
|
IMEXP = IMEKSP ## Returnerer eksponenten til et komplekst tall
|
||||||
BIN2DEC = BINTILDES ## Konverterer et binært tall til et desimaltall
|
IMLN = IMLN ## Returnerer den naturlige logaritmen for et komplekst tall
|
||||||
BIN2HEX = BINTILHEKS ## Konverterer et binært tall til et heksadesimaltall
|
IMLOG10 = IMLOG10 ## Returnerer logaritmen med grunntall 10 for et komplekst tall
|
||||||
BIN2OCT = BINTILOKT ## Konverterer et binært tall til et oktaltall
|
IMLOG2 = IMLOG2 ## Returnerer logaritmen med grunntall 2 for et komplekst tall
|
||||||
COMPLEX = KOMPLEKS ## Konverterer reelle og imaginære koeffisienter til et komplekst tall
|
IMPOWER = IMOPPHØY ## Returnerer et komplekst tall opphøyd til en heltallspotens
|
||||||
CONVERT = KONVERTER ## Konverterer et tall fra ett målsystem til et annet
|
IMPRODUCT = IMPRODUKT ## Returnerer produktet av komplekse tall
|
||||||
DEC2BIN = DESTILBIN ## Konverterer et desimaltall til et binærtall
|
IMREAL = IMREELL ## Returnerer den reelle koeffisienten til et komplekst tall
|
||||||
DEC2HEX = DESTILHEKS ## Konverterer et heltall i 10-tallsystemet til et heksadesimalt tall
|
IMSIN = IMSIN ## Returnerer sinus til et komplekst tall
|
||||||
DEC2OCT = DESTILOKT ## Konverterer et heltall i 10-tallsystemet til et oktaltall
|
IMSQRT = IMROT ## Returnerer kvadratroten av et komplekst tall
|
||||||
DELTA = DELTA ## Undersøker om to verdier er like
|
IMSUB = IMSUB ## Returnerer differansen mellom to komplekse tall
|
||||||
ERF = FEILF ## Returnerer feilfunksjonen
|
IMSUM = IMSUMMER ## Returnerer summen av komplekse tall
|
||||||
ERFC = FEILFK ## Returnerer den komplementære feilfunksjonen
|
OCT2BIN = OKTTILBIN ## Konverterer et oktaltall til et binært tall
|
||||||
GESTEP = GRENSEVERDI ## Tester om et tall er større enn en terskelverdi
|
OCT2DEC = OKTTILDES ## Konverterer et oktaltall til et desimaltall
|
||||||
HEX2BIN = HEKSTILBIN ## Konverterer et heksadesimaltall til et binært tall
|
OCT2HEX = OKTTILHEKS ## Konverterer et oktaltall til et heksadesimaltall
|
||||||
HEX2DEC = HEKSTILDES ## Konverterer et heksadesimalt tall til et heltall i 10-tallsystemet
|
|
||||||
HEX2OCT = HEKSTILOKT ## Konverterer et heksadesimalt tall til et oktaltall
|
|
||||||
IMABS = IMABS ## Returnerer absoluttverdien (koeffisienten) til et komplekst tall
|
##
|
||||||
IMAGINARY = IMAGINÆR ## Returnerer den imaginære koeffisienten til et komplekst tall
|
## Financial functions Økonomiske funksjoner
|
||||||
IMARGUMENT = IMARGUMENT ## Returnerer argumentet theta, som er en vinkel uttrykt i radianer
|
##
|
||||||
IMCONJUGATE = IMKONJUGERT ## Returnerer den komplekse konjugaten til et komplekst tall
|
ACCRINT = PÅLØPT.PERIODISK.RENTE ## Returnerer påløpte renter for et verdipapir som betaler periodisk rente
|
||||||
IMCOS = IMCOS ## Returnerer cosinus til et komplekst tall
|
ACCRINTM = PÅLØPT.FORFALLSRENTE ## Returnerer den påløpte renten for et verdipapir som betaler rente ved forfall
|
||||||
IMDIV = IMDIV ## Returnerer kvotienten til to komplekse tall
|
AMORDEGRC = AMORDEGRC ## Returnerer avskrivningen for hver regnskapsperiode ved hjelp av en avskrivingskoeffisient
|
||||||
IMEXP = IMEKSP ## Returnerer eksponenten til et komplekst tall
|
AMORLINC = AMORLINC ## Returnerer avskrivingen for hver regnskapsperiode
|
||||||
IMLN = IMLN ## Returnerer den naturlige logaritmen for et komplekst tall
|
COUPDAYBS = OBLIG.DAGER.FF ## Returnerer antall dager fra begynnelsen av den rentebærende perioden til innløsningsdatoen
|
||||||
IMLOG10 = IMLOG10 ## Returnerer logaritmen med grunntall 10 for et komplekst tall
|
COUPDAYS = OBLIG.DAGER ## Returnerer antall dager i den rentebærende perioden som inneholder innløsningsdatoen
|
||||||
IMLOG2 = IMLOG2 ## Returnerer logaritmen med grunntall 2 for et komplekst tall
|
COUPDAYSNC = OBLIG.DAGER.NF ## Returnerer antall dager fra betalingsdato til neste renteinnbetalingsdato
|
||||||
IMPOWER = IMOPPHØY ## Returnerer et komplekst tall opphøyd til en heltallspotens
|
COUPNCD = OBLIG.DAGER.EF ## Returnerer obligasjonsdatoen som kommer etter oppgjørsdatoen
|
||||||
IMPRODUCT = IMPRODUKT ## Returnerer produktet av komplekse tall
|
COUPNUM = OBLIG.ANTALL ## Returnerer antall obligasjoner som skal betales mellom oppgjørsdatoen og forfallsdatoen
|
||||||
IMREAL = IMREELL ## Returnerer den reelle koeffisienten til et komplekst tall
|
COUPPCD = OBLIG.DAG.FORRIGE ## Returnerer obligasjonsdatoen som kommer før oppgjørsdatoen
|
||||||
IMSIN = IMSIN ## Returnerer sinus til et komplekst tall
|
CUMIPMT = SAMLET.RENTE ## Returnerer den kumulative renten som er betalt mellom to perioder
|
||||||
IMSQRT = IMROT ## Returnerer kvadratroten av et komplekst tall
|
CUMPRINC = SAMLET.HOVEDSTOL ## Returnerer den kumulative hovedstolen som er betalt for et lån mellom to perioder
|
||||||
IMSUB = IMSUB ## Returnerer differansen mellom to komplekse tall
|
DB = DAVSKR ## Returnerer avskrivningen for et aktivum i en angitt periode, foretatt med fast degressiv avskrivning
|
||||||
IMSUM = IMSUMMER ## Returnerer summen av komplekse tall
|
DDB = DEGRAVS ## Returnerer avskrivningen for et aktivum for en gitt periode, ved hjelp av dobbel degressiv avskrivning eller en metode som du selv angir
|
||||||
OCT2BIN = OKTTILBIN ## Konverterer et oktaltall til et binært tall
|
DISC = DISKONTERT ## Returnerer diskonteringsraten for et verdipapir
|
||||||
OCT2DEC = OKTTILDES ## Konverterer et oktaltall til et desimaltall
|
DOLLARDE = DOLLARDE ## Konverterer en valutapris uttrykt som en brøk, til en valutapris uttrykt som et desimaltall
|
||||||
OCT2HEX = OKTTILHEKS ## Konverterer et oktaltall til et heksadesimaltall
|
DOLLARFR = DOLLARBR ## Konverterer en valutapris uttrykt som et desimaltall, til en valutapris uttrykt som en brøk
|
||||||
|
DURATION = VARIGHET ## Returnerer årlig varighet for et verdipapir med renter som betales periodisk
|
||||||
|
EFFECT = EFFEKTIV.RENTE ## Returnerer den effektive årlige rentesatsen
|
||||||
##
|
FV = SLUTTVERDI ## Returnerer fremtidig verdi for en investering
|
||||||
## Financial functions Økonomiske funksjoner
|
FVSCHEDULE = SVPLAN ## Returnerer den fremtidige verdien av en inngående hovedstol etter å ha anvendt en serie med sammensatte rentesatser
|
||||||
##
|
INTRATE = RENTESATS ## Returnerer rentefoten av et fullfinansiert verdipapir
|
||||||
ACCRINT = PÅLØPT.PERIODISK.RENTE ## Returnerer påløpte renter for et verdipapir som betaler periodisk rente
|
IPMT = RAVDRAG ## Returnerer betalte renter på en investering for en gitt periode
|
||||||
ACCRINTM = PÅLØPT.FORFALLSRENTE ## Returnerer den påløpte renten for et verdipapir som betaler rente ved forfall
|
IRR = IR ## Returnerer internrenten for en serie kontantstrømmer
|
||||||
AMORDEGRC = AMORDEGRC ## Returnerer avskrivningen for hver regnskapsperiode ved hjelp av en avskrivingskoeffisient
|
ISPMT = ER.AVDRAG ## Beregner renten som er betalt for en investering i løpet av en bestemt periode
|
||||||
AMORLINC = AMORLINC ## Returnerer avskrivingen for hver regnskapsperiode
|
MDURATION = MVARIGHET ## Returnerer Macauleys modifiserte varighet for et verdipapir med en antatt pålydende verdi på kr 100,00
|
||||||
COUPDAYBS = OBLIG.DAGER.FF ## Returnerer antall dager fra begynnelsen av den rentebærende perioden til innløsningsdatoen
|
MIRR = MODIR ## Returnerer internrenten der positive og negative kontantstrømmer finansieres med forskjellige satser
|
||||||
COUPDAYS = OBLIG.DAGER ## Returnerer antall dager i den rentebærende perioden som inneholder innløsningsdatoen
|
NOMINAL = NOMINELL ## Returnerer årlig nominell rentesats
|
||||||
COUPDAYSNC = OBLIG.DAGER.NF ## Returnerer antall dager fra betalingsdato til neste renteinnbetalingsdato
|
NPER = PERIODER ## Returnerer antall perioder for en investering
|
||||||
COUPNCD = OBLIG.DAGER.EF ## Returnerer obligasjonsdatoen som kommer etter oppgjørsdatoen
|
NPV = NNV ## Returnerer netto nåverdi for en investering, basert på en serie periodiske kontantstrømmer og en rentesats
|
||||||
COUPNUM = OBLIG.ANTALL ## Returnerer antall obligasjoner som skal betales mellom oppgjørsdatoen og forfallsdatoen
|
ODDFPRICE = AVVIKFP.PRIS ## Returnerer pris pålydende kr 100 for et verdipapir med en odde første periode
|
||||||
COUPPCD = OBLIG.DAG.FORRIGE ## Returnerer obligasjonsdatoen som kommer før oppgjørsdatoen
|
ODDFYIELD = AVVIKFP.AVKASTNING ## Returnerer avkastingen for et verdipapir med en odde første periode
|
||||||
CUMIPMT = SAMLET.RENTE ## Returnerer den kumulative renten som er betalt mellom to perioder
|
ODDLPRICE = AVVIKSP.PRIS ## Returnerer pris pålydende kr 100 for et verdipapir med en odde siste periode
|
||||||
CUMPRINC = SAMLET.HOVEDSTOL ## Returnerer den kumulative hovedstolen som er betalt for et lån mellom to perioder
|
ODDLYIELD = AVVIKSP.AVKASTNING ## Returnerer avkastingen for et verdipapir med en odde siste periode
|
||||||
DB = DAVSKR ## Returnerer avskrivningen for et aktivum i en angitt periode, foretatt med fast degressiv avskrivning
|
PMT = AVDRAG ## Returnerer periodisk betaling for en annuitet
|
||||||
DDB = DEGRAVS ## Returnerer avskrivningen for et aktivum for en gitt periode, ved hjelp av dobbel degressiv avskrivning eller en metode som du selv angir
|
PPMT = AMORT ## Returnerer betalingen på hovedstolen for en investering i en gitt periode
|
||||||
DISC = DISKONTERT ## Returnerer diskonteringsraten for et verdipapir
|
PRICE = PRIS ## Returnerer prisen per pålydende kr 100 for et verdipapir som gir periodisk avkastning
|
||||||
DOLLARDE = DOLLARDE ## Konverterer en valutapris uttrykt som en brøk, til en valutapris uttrykt som et desimaltall
|
PRICEDISC = PRIS.DISKONTERT ## Returnerer prisen per pålydende kr 100 for et diskontert verdipapir
|
||||||
DOLLARFR = DOLLARBR ## Konverterer en valutapris uttrykt som et desimaltall, til en valutapris uttrykt som en brøk
|
PRICEMAT = PRIS.FORFALL ## Returnerer prisen per pålydende kr 100 av et verdipapir som betaler rente ved forfall
|
||||||
DURATION = VARIGHET ## Returnerer årlig varighet for et verdipapir med renter som betales periodisk
|
PV = NÅVERDI ## Returnerer nåverdien av en investering
|
||||||
EFFECT = EFFEKTIV.RENTE ## Returnerer den effektive årlige rentesatsen
|
RATE = RENTE ## Returnerer rentesatsen per periode for en annuitet
|
||||||
FV = SLUTTVERDI ## Returnerer fremtidig verdi for en investering
|
RECEIVED = MOTTATT.AVKAST ## Returnerer summen som mottas ved forfallsdato for et fullinvestert verdipapir
|
||||||
FVSCHEDULE = SVPLAN ## Returnerer den fremtidige verdien av en inngående hovedstol etter å ha anvendt en serie med sammensatte rentesatser
|
SLN = LINAVS ## Returnerer den lineære avskrivningen for et aktivum i én periode
|
||||||
INTRATE = RENTESATS ## Returnerer rentefoten av et fullfinansiert verdipapir
|
SYD = ÅRSAVS ## Returnerer årsavskrivningen for et aktivum i en angitt periode
|
||||||
IPMT = RAVDRAG ## Returnerer betalte renter på en investering for en gitt periode
|
TBILLEQ = TBILLEKV ## Returnerer den obligasjonsekvivalente avkastningen for en statsobligasjon
|
||||||
IRR = IR ## Returnerer internrenten for en serie kontantstrømmer
|
TBILLPRICE = TBILLPRIS ## Returnerer prisen per pålydende kr 100 for en statsobligasjon
|
||||||
ISPMT = ER.AVDRAG ## Beregner renten som er betalt for en investering i løpet av en bestemt periode
|
TBILLYIELD = TBILLAVKASTNING ## Returnerer avkastningen til en statsobligasjon
|
||||||
MDURATION = MVARIGHET ## Returnerer Macauleys modifiserte varighet for et verdipapir med en antatt pålydende verdi på kr 100,00
|
VDB = VERDIAVS ## Returnerer avskrivningen for et aktivum i en angitt periode eller delperiode, ved hjelp av degressiv avskrivning
|
||||||
MIRR = MODIR ## Returnerer internrenten der positive og negative kontantstrømmer finansieres med forskjellige satser
|
XIRR = XIR ## Returnerer internrenten for en serie kontantstrømmer som ikke nødvendigvis er periodiske
|
||||||
NOMINAL = NOMINELL ## Returnerer årlig nominell rentesats
|
XNPV = XNNV ## Returnerer netto nåverdi for en serie kontantstrømmer som ikke nødvendigvis er periodiske
|
||||||
NPER = PERIODER ## Returnerer antall perioder for en investering
|
YIELD = AVKAST ## Returnerer avkastningen på et verdipapir som betaler periodisk rente
|
||||||
NPV = NNV ## Returnerer netto nåverdi for en investering, basert på en serie periodiske kontantstrømmer og en rentesats
|
YIELDDISC = AVKAST.DISKONTERT ## Returnerer årlig avkastning for et diskontert verdipapir, for eksempel en statskasseveksel
|
||||||
ODDFPRICE = AVVIKFP.PRIS ## Returnerer pris pålydende kr 100 for et verdipapir med en odde første periode
|
YIELDMAT = AVKAST.FORFALL ## Returnerer den årlige avkastningen for et verdipapir som betaler rente ved forfallsdato
|
||||||
ODDFYIELD = AVVIKFP.AVKASTNING ## Returnerer avkastingen for et verdipapir med en odde første periode
|
|
||||||
ODDLPRICE = AVVIKSP.PRIS ## Returnerer pris pålydende kr 100 for et verdipapir med en odde siste periode
|
|
||||||
ODDLYIELD = AVVIKSP.AVKASTNING ## Returnerer avkastingen for et verdipapir med en odde siste periode
|
##
|
||||||
PMT = AVDRAG ## Returnerer periodisk betaling for en annuitet
|
## Information functions Informasjonsfunksjoner
|
||||||
PPMT = AMORT ## Returnerer betalingen på hovedstolen for en investering i en gitt periode
|
##
|
||||||
PRICE = PRIS ## Returnerer prisen per pålydende kr 100 for et verdipapir som gir periodisk avkastning
|
CELL = CELLE ## Returnerer informasjon om formatering, plassering eller innholdet til en celle
|
||||||
PRICEDISC = PRIS.DISKONTERT ## Returnerer prisen per pålydende kr 100 for et diskontert verdipapir
|
ERROR.TYPE = FEIL.TYPE ## Returnerer et tall som svarer til en feiltype
|
||||||
PRICEMAT = PRIS.FORFALL ## Returnerer prisen per pålydende kr 100 av et verdipapir som betaler rente ved forfall
|
INFO = INFO ## Returnerer informasjon om gjeldende operativmiljø
|
||||||
PV = NÅVERDI ## Returnerer nåverdien av en investering
|
ISBLANK = ERTOM ## Returnerer SANN hvis verdien er tom
|
||||||
RATE = RENTE ## Returnerer rentesatsen per periode for en annuitet
|
ISERR = ERFEIL ## Returnerer SANN hvis verdien er en hvilken som helst annen feilverdi enn #I/T
|
||||||
RECEIVED = MOTTATT.AVKAST ## Returnerer summen som mottas ved forfallsdato for et fullinvestert verdipapir
|
ISERROR = ERFEIL ## Returnerer SANN hvis verdien er en hvilken som helst feilverdi
|
||||||
SLN = LINAVS ## Returnerer den lineære avskrivningen for et aktivum i én periode
|
ISEVEN = ERPARTALL ## Returnerer SANN hvis tallet er et partall
|
||||||
SYD = ÅRSAVS ## Returnerer årsavskrivningen for et aktivum i en angitt periode
|
ISLOGICAL = ERLOGISK ## Returnerer SANN hvis verdien er en logisk verdi
|
||||||
TBILLEQ = TBILLEKV ## Returnerer den obligasjonsekvivalente avkastningen for en statsobligasjon
|
ISNA = ERIT ## Returnerer SANN hvis verdien er feilverdien #I/T
|
||||||
TBILLPRICE = TBILLPRIS ## Returnerer prisen per pålydende kr 100 for en statsobligasjon
|
ISNONTEXT = ERIKKETEKST ## Returnerer SANN hvis verdien ikke er tekst
|
||||||
TBILLYIELD = TBILLAVKASTNING ## Returnerer avkastningen til en statsobligasjon
|
ISNUMBER = ERTALL ## Returnerer SANN hvis verdien er et tall
|
||||||
VDB = VERDIAVS ## Returnerer avskrivningen for et aktivum i en angitt periode eller delperiode, ved hjelp av degressiv avskrivning
|
ISODD = ERODDETALL ## Returnerer SANN hvis tallet er et oddetall
|
||||||
XIRR = XIR ## Returnerer internrenten for en serie kontantstrømmer som ikke nødvendigvis er periodiske
|
ISREF = ERREF ## Returnerer SANN hvis verdien er en referanse
|
||||||
XNPV = XNNV ## Returnerer netto nåverdi for en serie kontantstrømmer som ikke nødvendigvis er periodiske
|
ISTEXT = ERTEKST ## Returnerer SANN hvis verdien er tekst
|
||||||
YIELD = AVKAST ## Returnerer avkastningen på et verdipapir som betaler periodisk rente
|
N = N ## Returnerer en verdi som er konvertert til et tall
|
||||||
YIELDDISC = AVKAST.DISKONTERT ## Returnerer årlig avkastning for et diskontert verdipapir, for eksempel en statskasseveksel
|
NA = IT ## Returnerer feilverdien #I/T
|
||||||
YIELDMAT = AVKAST.FORFALL ## Returnerer den årlige avkastningen for et verdipapir som betaler rente ved forfallsdato
|
TYPE = VERDITYPE ## Returnerer et tall som indikerer datatypen til en verdi
|
||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Information functions Informasjonsfunksjoner
|
## Logical functions Logiske funksjoner
|
||||||
##
|
##
|
||||||
CELL = CELLE ## Returnerer informasjon om formatering, plassering eller innholdet til en celle
|
AND = OG ## Returnerer SANN hvis alle argumentene er lik SANN
|
||||||
ERROR.TYPE = FEIL.TYPE ## Returnerer et tall som svarer til en feiltype
|
FALSE = USANN ## Returnerer den logiske verdien USANN
|
||||||
INFO = INFO ## Returnerer informasjon om gjeldende operativmiljø
|
IF = HVIS ## Angir en logisk test som skal utføres
|
||||||
ISBLANK = ERTOM ## Returnerer SANN hvis verdien er tom
|
IFERROR = HVISFEIL ## Returnerer en verdi du angir hvis en formel evaluerer til en feil. Ellers returnerer den resultatet av formelen.
|
||||||
ISERR = ERFEIL ## Returnerer SANN hvis verdien er en hvilken som helst annen feilverdi enn #I/T
|
NOT = IKKE ## Reverserer logikken til argumentet
|
||||||
ISERROR = ERFEIL ## Returnerer SANN hvis verdien er en hvilken som helst feilverdi
|
OR = ELLER ## Returnerer SANN hvis ett eller flere argumenter er lik SANN
|
||||||
ISEVEN = ERPARTALL ## Returnerer SANN hvis tallet er et partall
|
TRUE = SANN ## Returnerer den logiske verdien SANN
|
||||||
ISLOGICAL = ERLOGISK ## Returnerer SANN hvis verdien er en logisk verdi
|
|
||||||
ISNA = ERIT ## Returnerer SANN hvis verdien er feilverdien #I/T
|
|
||||||
ISNONTEXT = ERIKKETEKST ## Returnerer SANN hvis verdien ikke er tekst
|
##
|
||||||
ISNUMBER = ERTALL ## Returnerer SANN hvis verdien er et tall
|
## Lookup and reference functions Oppslag- og referansefunksjoner
|
||||||
ISODD = ERODDETALL ## Returnerer SANN hvis tallet er et oddetall
|
##
|
||||||
ISREF = ERREF ## Returnerer SANN hvis verdien er en referanse
|
ADDRESS = ADRESSE ## Returnerer en referanse som tekst til en enkelt celle i et regneark
|
||||||
ISTEXT = ERTEKST ## Returnerer SANN hvis verdien er tekst
|
AREAS = OMRÅDER ## Returnerer antall områder i en referanse
|
||||||
N = N ## Returnerer en verdi som er konvertert til et tall
|
CHOOSE = VELG ## Velger en verdi fra en liste med verdier
|
||||||
NA = IT ## Returnerer feilverdien #I/T
|
COLUMN = KOLONNE ## Returnerer kolonnenummeret for en referanse
|
||||||
TYPE = VERDITYPE ## Returnerer et tall som indikerer datatypen til en verdi
|
COLUMNS = KOLONNER ## Returnerer antall kolonner i en referanse
|
||||||
|
HLOOKUP = FINN.KOLONNE ## Leter i den øverste raden i en matrise og returnerer verdien for den angitte cellen
|
||||||
|
HYPERLINK = HYPERKOBLING ## Oppretter en snarvei eller et hopp som åpner et dokument som er lagret på en nettverksserver, et intranett eller Internett
|
||||||
##
|
INDEX = INDEKS ## Bruker en indeks til å velge en verdi fra en referanse eller matrise
|
||||||
## Logical functions Logiske funksjoner
|
INDIRECT = INDIREKTE ## Returnerer en referanse angitt av en tekstverdi
|
||||||
##
|
LOOKUP = SLÅ.OPP ## Slår opp verdier i en vektor eller matrise
|
||||||
AND = OG ## Returnerer SANN hvis alle argumentene er lik SANN
|
MATCH = SAMMENLIGNE ## Slår opp verdier i en referanse eller matrise
|
||||||
FALSE = USANN ## Returnerer den logiske verdien USANN
|
OFFSET = FORSKYVNING ## Returnerer en referanseforskyvning fra en gitt referanse
|
||||||
IF = HVIS ## Angir en logisk test som skal utføres
|
ROW = RAD ## Returnerer radnummeret for en referanse
|
||||||
IFERROR = HVISFEIL ## Returnerer en verdi du angir hvis en formel evaluerer til en feil. Ellers returnerer den resultatet av formelen.
|
ROWS = RADER ## Returnerer antall rader i en referanse
|
||||||
NOT = IKKE ## Reverserer logikken til argumentet
|
RTD = RTD ## Henter sanntidsdata fra et program som støtter COM-automatisering (automatisering: En måte å arbeide på med programobjekter fra et annet program- eller utviklingsverktøy. Tidligere kalt OLE-automatisering. Automatisering er en bransjestandard og en funksjon i Component Object Model (COM).)
|
||||||
OR = ELLER ## Returnerer SANN hvis ett eller flere argumenter er lik SANN
|
TRANSPOSE = TRANSPONER ## Returnerer transponeringen av en matrise
|
||||||
TRUE = SANN ## Returnerer den logiske verdien SANN
|
VLOOKUP = FINN.RAD ## Leter i den første kolonnen i en matrise og flytter bortover raden for å returnere verdien til en celle
|
||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Lookup and reference functions Oppslag- og referansefunksjoner
|
## Math and trigonometry functions Matematikk- og trigonometrifunksjoner
|
||||||
##
|
##
|
||||||
ADDRESS = ADRESSE ## Returnerer en referanse som tekst til en enkelt celle i et regneark
|
ABS = ABS ## Returnerer absoluttverdien til et tall
|
||||||
AREAS = OMRÅDER ## Returnerer antall områder i en referanse
|
ACOS = ARCCOS ## Returnerer arcus cosinus til et tall
|
||||||
CHOOSE = VELG ## Velger en verdi fra en liste med verdier
|
ACOSH = ARCCOSH ## Returnerer den inverse hyperbolske cosinus til et tall
|
||||||
COLUMN = KOLONNE ## Returnerer kolonnenummeret for en referanse
|
ASIN = ARCSIN ## Returnerer arcus sinus til et tall
|
||||||
COLUMNS = KOLONNER ## Returnerer antall kolonner i en referanse
|
ASINH = ARCSINH ## Returnerer den inverse hyperbolske sinus til et tall
|
||||||
HLOOKUP = FINN.KOLONNE ## Leter i den øverste raden i en matrise og returnerer verdien for den angitte cellen
|
ATAN = ARCTAN ## Returnerer arcus tangens til et tall
|
||||||
HYPERLINK = HYPERKOBLING ## Oppretter en snarvei eller et hopp som åpner et dokument som er lagret på en nettverksserver, et intranett eller Internett
|
ATAN2 = ARCTAN2 ## Returnerer arcus tangens fra x- og y-koordinater
|
||||||
INDEX = INDEKS ## Bruker en indeks til å velge en verdi fra en referanse eller matrise
|
ATANH = ARCTANH ## Returnerer den inverse hyperbolske tangens til et tall
|
||||||
INDIRECT = INDIREKTE ## Returnerer en referanse angitt av en tekstverdi
|
CEILING = AVRUND.GJELDENDE.MULTIPLUM ## Runder av et tall til nærmeste heltall eller til nærmeste signifikante multiplum
|
||||||
LOOKUP = SLÅ.OPP ## Slår opp verdier i en vektor eller matrise
|
COMBIN = KOMBINASJON ## Returnerer antall kombinasjoner for ett gitt antall objekter
|
||||||
MATCH = SAMMENLIGNE ## Slår opp verdier i en referanse eller matrise
|
COS = COS ## Returnerer cosinus til et tall
|
||||||
OFFSET = FORSKYVNING ## Returnerer en referanseforskyvning fra en gitt referanse
|
COSH = COSH ## Returnerer den hyperbolske cosinus til et tall
|
||||||
ROW = RAD ## Returnerer radnummeret for en referanse
|
DEGREES = GRADER ## Konverterer radianer til grader
|
||||||
ROWS = RADER ## Returnerer antall rader i en referanse
|
EVEN = AVRUND.TIL.PARTALL ## Runder av et tall oppover til nærmeste heltall som er et partall
|
||||||
RTD = RTD ## Henter sanntidsdata fra et program som støtter COM-automatisering (automatisering: En måte å arbeide på med programobjekter fra et annet program- eller utviklingsverktøy. Tidligere kalt OLE-automatisering. Automatisering er en bransjestandard og en funksjon i Component Object Model (COM).)
|
EXP = EKSP ## Returnerer e opphøyd i en angitt potens
|
||||||
TRANSPOSE = TRANSPONER ## Returnerer transponeringen av en matrise
|
FACT = FAKULTET ## Returnerer fakultet til et tall
|
||||||
VLOOKUP = FINN.RAD ## Leter i den første kolonnen i en matrise og flytter bortover raden for å returnere verdien til en celle
|
FACTDOUBLE = DOBBELFAKT ## Returnerer et talls doble fakultet
|
||||||
|
FLOOR = AVRUND.GJELDENDE.MULTIPLUM.NED ## Avrunder et tall nedover, mot null
|
||||||
|
GCD = SFF ## Returnerer høyeste felles divisor
|
||||||
##
|
INT = HELTALL ## Avrunder et tall nedover til nærmeste heltall
|
||||||
## Math and trigonometry functions Matematikk- og trigonometrifunksjoner
|
LCM = MFM ## Returnerer minste felles multiplum
|
||||||
##
|
LN = LN ## Returnerer den naturlige logaritmen til et tall
|
||||||
ABS = ABS ## Returnerer absoluttverdien til et tall
|
LOG = LOG ## Returnerer logaritmen for et tall til et angitt grunntall
|
||||||
ACOS = ARCCOS ## Returnerer arcus cosinus til et tall
|
LOG10 = LOG10 ## Returnerer logaritmen med grunntall 10 for et tall
|
||||||
ACOSH = ARCCOSH ## Returnerer den inverse hyperbolske cosinus til et tall
|
MDETERM = MDETERM ## Returnerer matrisedeterminanten til en matrise
|
||||||
ASIN = ARCSIN ## Returnerer arcus sinus til et tall
|
MINVERSE = MINVERS ## Returnerer den inverse matrisen til en matrise
|
||||||
ASINH = ARCSINH ## Returnerer den inverse hyperbolske sinus til et tall
|
MMULT = MMULT ## Returnerer matriseproduktet av to matriser
|
||||||
ATAN = ARCTAN ## Returnerer arcus tangens til et tall
|
MOD = REST ## Returnerer resten fra en divisjon
|
||||||
ATAN2 = ARCTAN2 ## Returnerer arcus tangens fra x- og y-koordinater
|
MROUND = MRUND ## Returnerer et tall avrundet til det ønskede multiplum
|
||||||
ATANH = ARCTANH ## Returnerer den inverse hyperbolske tangens til et tall
|
MULTINOMIAL = MULTINOMINELL ## Returnerer det multinominelle for et sett med tall
|
||||||
CEILING = AVRUND.GJELDENDE.MULTIPLUM ## Runder av et tall til nærmeste heltall eller til nærmeste signifikante multiplum
|
ODD = AVRUND.TIL.ODDETALL ## Runder av et tall oppover til nærmeste heltall som er et oddetall
|
||||||
COMBIN = KOMBINASJON ## Returnerer antall kombinasjoner for ett gitt antall objekter
|
PI = PI ## Returnerer verdien av pi
|
||||||
COS = COS ## Returnerer cosinus til et tall
|
POWER = OPPHØYD.I ## Returnerer resultatet av et tall opphøyd i en potens
|
||||||
COSH = COSH ## Returnerer den hyperbolske cosinus til et tall
|
PRODUCT = PRODUKT ## Multipliserer argumentene
|
||||||
DEGREES = GRADER ## Konverterer radianer til grader
|
QUOTIENT = KVOTIENT ## Returnerer heltallsdelen av en divisjon
|
||||||
EVEN = AVRUND.TIL.PARTALL ## Runder av et tall oppover til nærmeste heltall som er et partall
|
RADIANS = RADIANER ## Konverterer grader til radianer
|
||||||
EXP = EKSP ## Returnerer e opphøyd i en angitt potens
|
RAND = TILFELDIG ## Returnerer et tilfeldig tall mellom 0 og 1
|
||||||
FACT = FAKULTET ## Returnerer fakultet til et tall
|
RANDBETWEEN = TILFELDIGMELLOM ## Returnerer et tilfeldig tall innenfor et angitt område
|
||||||
FACTDOUBLE = DOBBELFAKT ## Returnerer et talls doble fakultet
|
ROMAN = ROMERTALL ## Konverterer vanlige tall til romertall, som tekst
|
||||||
FLOOR = AVRUND.GJELDENDE.MULTIPLUM.NED ## Avrunder et tall nedover, mot null
|
ROUND = AVRUND ## Avrunder et tall til et angitt antall sifre
|
||||||
GCD = SFF ## Returnerer høyeste felles divisor
|
ROUNDDOWN = AVRUND.NED ## Avrunder et tall nedover, mot null
|
||||||
INT = HELTALL ## Avrunder et tall nedover til nærmeste heltall
|
ROUNDUP = AVRUND.OPP ## Runder av et tall oppover, bort fra null
|
||||||
LCM = MFM ## Returnerer minste felles multiplum
|
SERIESSUM = SUMMER.REKKE ## Returnerer summen av en geometrisk rekke, basert på formelen
|
||||||
LN = LN ## Returnerer den naturlige logaritmen til et tall
|
SIGN = FORTEGN ## Returnerer fortegnet for et tall
|
||||||
LOG = LOG ## Returnerer logaritmen for et tall til et angitt grunntall
|
SIN = SIN ## Returnerer sinus til en gitt vinkel
|
||||||
LOG10 = LOG10 ## Returnerer logaritmen med grunntall 10 for et tall
|
SINH = SINH ## Returnerer den hyperbolske sinus til et tall
|
||||||
MDETERM = MDETERM ## Returnerer matrisedeterminanten til en matrise
|
SQRT = ROT ## Returnerer en positiv kvadratrot
|
||||||
MINVERSE = MINVERS ## Returnerer den inverse matrisen til en matrise
|
SQRTPI = ROTPI ## Returnerer kvadratroten av (tall * pi)
|
||||||
MMULT = MMULT ## Returnerer matriseproduktet av to matriser
|
SUBTOTAL = DELSUM ## Returnerer en delsum i en liste eller database
|
||||||
MOD = REST ## Returnerer resten fra en divisjon
|
SUM = SUMMER ## Legger sammen argumentene
|
||||||
MROUND = MRUND ## Returnerer et tall avrundet til det ønskede multiplum
|
SUMIF = SUMMERHVIS ## Legger sammen cellene angitt ved et gitt vilkår
|
||||||
MULTINOMIAL = MULTINOMINELL ## Returnerer det multinominelle for et sett med tall
|
SUMIFS = SUMMER.HVIS.SETT ## Legger sammen cellene i et område som oppfyller flere vilkår
|
||||||
ODD = AVRUND.TIL.ODDETALL ## Runder av et tall oppover til nærmeste heltall som er et oddetall
|
SUMPRODUCT = SUMMERPRODUKT ## Returnerer summen av produktene av tilsvarende matrisekomponenter
|
||||||
PI = PI ## Returnerer verdien av pi
|
SUMSQ = SUMMERKVADRAT ## Returnerer kvadratsummen av argumentene
|
||||||
POWER = OPPHØYD.I ## Returnerer resultatet av et tall opphøyd i en potens
|
SUMX2MY2 = SUMMERX2MY2 ## Returnerer summen av differansen av kvadratene for tilsvarende verdier i to matriser
|
||||||
PRODUCT = PRODUKT ## Multipliserer argumentene
|
SUMX2PY2 = SUMMERX2PY2 ## Returnerer summen av kvadratsummene for tilsvarende verdier i to matriser
|
||||||
QUOTIENT = KVOTIENT ## Returnerer heltallsdelen av en divisjon
|
SUMXMY2 = SUMMERXMY2 ## Returnerer summen av kvadratene av differansen for tilsvarende verdier i to matriser
|
||||||
RADIANS = RADIANER ## Konverterer grader til radianer
|
TAN = TAN ## Returnerer tangens for et tall
|
||||||
RAND = TILFELDIG ## Returnerer et tilfeldig tall mellom 0 og 1
|
TANH = TANH ## Returnerer den hyperbolske tangens for et tall
|
||||||
RANDBETWEEN = TILFELDIGMELLOM ## Returnerer et tilfeldig tall innenfor et angitt område
|
TRUNC = AVKORT ## Korter av et tall til et heltall
|
||||||
ROMAN = ROMERTALL ## Konverterer vanlige tall til romertall, som tekst
|
|
||||||
ROUND = AVRUND ## Avrunder et tall til et angitt antall sifre
|
|
||||||
ROUNDDOWN = AVRUND.NED ## Avrunder et tall nedover, mot null
|
##
|
||||||
ROUNDUP = AVRUND.OPP ## Runder av et tall oppover, bort fra null
|
## Statistical functions Statistiske funksjoner
|
||||||
SERIESSUM = SUMMER.REKKE ## Returnerer summen av en geometrisk rekke, basert på formelen
|
##
|
||||||
SIGN = FORTEGN ## Returnerer fortegnet for et tall
|
AVEDEV = GJENNOMSNITTSAVVIK ## Returnerer datapunktenes gjennomsnittlige absoluttavvik fra middelverdien
|
||||||
SIN = SIN ## Returnerer sinus til en gitt vinkel
|
AVERAGE = GJENNOMSNITT ## Returnerer gjennomsnittet for argumentene
|
||||||
SINH = SINH ## Returnerer den hyperbolske sinus til et tall
|
AVERAGEA = GJENNOMSNITTA ## Returnerer gjennomsnittet for argumentene, inkludert tall, tekst og logiske verdier
|
||||||
SQRT = ROT ## Returnerer en positiv kvadratrot
|
AVERAGEIF = GJENNOMSNITTHVIS ## Returnerer gjennomsnittet (aritmetisk gjennomsnitt) av alle cellene i et område som oppfyller et bestemt vilkår
|
||||||
SQRTPI = ROTPI ## Returnerer kvadratroten av (tall * pi)
|
AVERAGEIFS = GJENNOMSNITT.HVIS.SETT ## Returnerer gjennomsnittet (aritmetisk middelverdi) av alle celler som oppfyller flere vilkår.
|
||||||
SUBTOTAL = DELSUM ## Returnerer en delsum i en liste eller database
|
BETADIST = BETA.FORDELING ## Returnerer den kumulative betafordelingsfunksjonen
|
||||||
SUM = SUMMER ## Legger sammen argumentene
|
BETAINV = INVERS.BETA.FORDELING ## Returnerer den inverse verdien til fordelingsfunksjonen for en angitt betafordeling
|
||||||
SUMIF = SUMMERHVIS ## Legger sammen cellene angitt ved et gitt vilkår
|
BINOMDIST = BINOM.FORDELING ## Returnerer den individuelle binomiske sannsynlighetsfordelingen
|
||||||
SUMIFS = SUMMER.HVIS.SETT ## Legger sammen cellene i et område som oppfyller flere vilkår
|
CHIDIST = KJI.FORDELING ## Returnerer den ensidige sannsynligheten for en kjikvadrert fordeling
|
||||||
SUMPRODUCT = SUMMERPRODUKT ## Returnerer summen av produktene av tilsvarende matrisekomponenter
|
CHIINV = INVERS.KJI.FORDELING ## Returnerer den inverse av den ensidige sannsynligheten for den kjikvadrerte fordelingen
|
||||||
SUMSQ = SUMMERKVADRAT ## Returnerer kvadratsummen av argumentene
|
CHITEST = KJI.TEST ## Utfører testen for uavhengighet
|
||||||
SUMX2MY2 = SUMMERX2MY2 ## Returnerer summen av differansen av kvadratene for tilsvarende verdier i to matriser
|
CONFIDENCE = KONFIDENS ## Returnerer konfidensintervallet til gjennomsnittet for en populasjon
|
||||||
SUMX2PY2 = SUMMERX2PY2 ## Returnerer summen av kvadratsummene for tilsvarende verdier i to matriser
|
CORREL = KORRELASJON ## Returnerer korrelasjonskoeffisienten mellom to datasett
|
||||||
SUMXMY2 = SUMMERXMY2 ## Returnerer summen av kvadratene av differansen for tilsvarende verdier i to matriser
|
COUNT = ANTALL ## Teller hvor mange tall som er i argumentlisten
|
||||||
TAN = TAN ## Returnerer tangens for et tall
|
COUNTA = ANTALLA ## Teller hvor mange verdier som er i argumentlisten
|
||||||
TANH = TANH ## Returnerer den hyperbolske tangens for et tall
|
COUNTBLANK = TELLBLANKE ## Teller antall tomme celler i et område.
|
||||||
TRUNC = AVKORT ## Korter av et tall til et heltall
|
COUNTIF = ANTALL.HVIS ## Teller antall celler i et område som oppfyller gitte vilkår
|
||||||
|
COUNTIFS = ANTALL.HVIS.SETT ## Teller antallet ikke-tomme celler i et område som oppfyller flere vilkår
|
||||||
|
COVAR = KOVARIANS ## Returnerer kovariansen, gjennomsnittet av produktene av parvise avvik
|
||||||
##
|
CRITBINOM = GRENSE.BINOM ## Returnerer den minste verdien der den kumulative binomiske fordelingen er mindre enn eller lik en vilkårsverdi
|
||||||
## Statistical functions Statistiske funksjoner
|
DEVSQ = AVVIK.KVADRERT ## Returnerer summen av kvadrerte avvik
|
||||||
##
|
EXPONDIST = EKSP.FORDELING ## Returnerer eksponentialfordelingen
|
||||||
AVEDEV = GJENNOMSNITTSAVVIK ## Returnerer datapunktenes gjennomsnittlige absoluttavvik fra middelverdien
|
FDIST = FFORDELING ## Returnerer F-sannsynlighetsfordelingen
|
||||||
AVERAGE = GJENNOMSNITT ## Returnerer gjennomsnittet for argumentene
|
FINV = FFORDELING.INVERS ## Returnerer den inverse av den sannsynlige F-fordelingen
|
||||||
AVERAGEA = GJENNOMSNITTA ## Returnerer gjennomsnittet for argumentene, inkludert tall, tekst og logiske verdier
|
FISHER = FISHER ## Returnerer Fisher-transformasjonen
|
||||||
AVERAGEIF = GJENNOMSNITTHVIS ## Returnerer gjennomsnittet (aritmetisk gjennomsnitt) av alle cellene i et område som oppfyller et bestemt vilkår
|
FISHERINV = FISHERINV ## Returnerer den inverse av Fisher-transformasjonen
|
||||||
AVERAGEIFS = GJENNOMSNITT.HVIS.SETT ## Returnerer gjennomsnittet (aritmetisk middelverdi) av alle celler som oppfyller flere vilkår.
|
FORECAST = PROGNOSE ## Returnerer en verdi langs en lineær trend
|
||||||
BETADIST = BETA.FORDELING ## Returnerer den kumulative betafordelingsfunksjonen
|
FREQUENCY = FREKVENS ## Returnerer en frekvensdistribusjon som en loddrett matrise
|
||||||
BETAINV = INVERS.BETA.FORDELING ## Returnerer den inverse verdien til fordelingsfunksjonen for en angitt betafordeling
|
FTEST = FTEST ## Returnerer resultatet av en F-test
|
||||||
BINOMDIST = BINOM.FORDELING ## Returnerer den individuelle binomiske sannsynlighetsfordelingen
|
GAMMADIST = GAMMAFORDELING ## Returnerer gammafordelingen
|
||||||
CHIDIST = KJI.FORDELING ## Returnerer den ensidige sannsynligheten for en kjikvadrert fordeling
|
GAMMAINV = GAMMAINV ## Returnerer den inverse av den gammakumulative fordelingen
|
||||||
CHIINV = INVERS.KJI.FORDELING ## Returnerer den inverse av den ensidige sannsynligheten for den kjikvadrerte fordelingen
|
GAMMALN = GAMMALN ## Returnerer den naturlige logaritmen til gammafunksjonen G(x)
|
||||||
CHITEST = KJI.TEST ## Utfører testen for uavhengighet
|
GEOMEAN = GJENNOMSNITT.GEOMETRISK ## Returnerer den geometriske middelverdien
|
||||||
CONFIDENCE = KONFIDENS ## Returnerer konfidensintervallet til gjennomsnittet for en populasjon
|
GROWTH = VEKST ## Returnerer verdier langs en eksponentiell trend
|
||||||
CORREL = KORRELASJON ## Returnerer korrelasjonskoeffisienten mellom to datasett
|
HARMEAN = GJENNOMSNITT.HARMONISK ## Returnerer den harmoniske middelverdien
|
||||||
COUNT = ANTALL ## Teller hvor mange tall som er i argumentlisten
|
HYPGEOMDIST = HYPGEOM.FORDELING ## Returnerer den hypergeometriske fordelingen
|
||||||
COUNTA = ANTALLA ## Teller hvor mange verdier som er i argumentlisten
|
INTERCEPT = SKJÆRINGSPUNKT ## Returnerer skjæringspunktet til den lineære regresjonslinjen
|
||||||
COUNTBLANK = TELLBLANKE ## Teller antall tomme celler i et område.
|
KURT = KURT ## Returnerer kurtosen til et datasett
|
||||||
COUNTIF = ANTALL.HVIS ## Teller antall celler i et område som oppfyller gitte vilkår
|
LARGE = N.STØRST ## Returnerer den n-te største verdien i et datasett
|
||||||
COUNTIFS = ANTALL.HVIS.SETT ## Teller antallet ikke-tomme celler i et område som oppfyller flere vilkår
|
LINEST = RETTLINJE ## Returnerer parameterne til en lineær trend
|
||||||
COVAR = KOVARIANS ## Returnerer kovariansen, gjennomsnittet av produktene av parvise avvik
|
LOGEST = KURVE ## Returnerer parameterne til en eksponentiell trend
|
||||||
CRITBINOM = GRENSE.BINOM ## Returnerer den minste verdien der den kumulative binomiske fordelingen er mindre enn eller lik en vilkårsverdi
|
LOGINV = LOGINV ## Returnerer den inverse lognormale fordelingen
|
||||||
DEVSQ = AVVIK.KVADRERT ## Returnerer summen av kvadrerte avvik
|
LOGNORMDIST = LOGNORMFORD ## Returnerer den kumulative lognormale fordelingen
|
||||||
EXPONDIST = EKSP.FORDELING ## Returnerer eksponentialfordelingen
|
MAX = STØRST ## Returnerer maksimumsverdien i en argumentliste
|
||||||
FDIST = FFORDELING ## Returnerer F-sannsynlighetsfordelingen
|
MAXA = MAKSA ## Returnerer maksimumsverdien i en argumentliste, inkludert tall, tekst og logiske verdier
|
||||||
FINV = FFORDELING.INVERS ## Returnerer den inverse av den sannsynlige F-fordelingen
|
MEDIAN = MEDIAN ## Returnerer medianen til tallene som er gitt
|
||||||
FISHER = FISHER ## Returnerer Fisher-transformasjonen
|
MIN = MIN ## Returnerer minimumsverdien i en argumentliste
|
||||||
FISHERINV = FISHERINV ## Returnerer den inverse av Fisher-transformasjonen
|
MINA = MINA ## Returnerer den minste verdien i en argumentliste, inkludert tall, tekst og logiske verdier
|
||||||
FORECAST = PROGNOSE ## Returnerer en verdi langs en lineær trend
|
MODE = MODUS ## Returnerer den vanligste verdien i et datasett
|
||||||
FREQUENCY = FREKVENS ## Returnerer en frekvensdistribusjon som en loddrett matrise
|
NEGBINOMDIST = NEGBINOM.FORDELING ## Returnerer den negative binomiske fordelingen
|
||||||
FTEST = FTEST ## Returnerer resultatet av en F-test
|
NORMDIST = NORMALFORDELING ## Returnerer den kumulative normalfordelingen
|
||||||
GAMMADIST = GAMMAFORDELING ## Returnerer gammafordelingen
|
NORMINV = NORMINV ## Returnerer den inverse kumulative normalfordelingen
|
||||||
GAMMAINV = GAMMAINV ## Returnerer den inverse av den gammakumulative fordelingen
|
NORMSDIST = NORMSFORDELING ## Returnerer standard kumulativ normalfordeling
|
||||||
GAMMALN = GAMMALN ## Returnerer den naturlige logaritmen til gammafunksjonen G(x)
|
NORMSINV = NORMSINV ## Returnerer den inverse av den den kumulative standard normalfordelingen
|
||||||
GEOMEAN = GJENNOMSNITT.GEOMETRISK ## Returnerer den geometriske middelverdien
|
PEARSON = PEARSON ## Returnerer produktmomentkorrelasjonskoeffisienten, Pearson
|
||||||
GROWTH = VEKST ## Returnerer verdier langs en eksponentiell trend
|
PERCENTILE = PERSENTIL ## Returnerer den n-te persentil av verdiene i et område
|
||||||
HARMEAN = GJENNOMSNITT.HARMONISK ## Returnerer den harmoniske middelverdien
|
PERCENTRANK = PROSENTDEL ## Returnerer prosentrangeringen av en verdi i et datasett
|
||||||
HYPGEOMDIST = HYPGEOM.FORDELING ## Returnerer den hypergeometriske fordelingen
|
PERMUT = PERMUTER ## Returnerer antall permutasjoner for et gitt antall objekter
|
||||||
INTERCEPT = SKJÆRINGSPUNKT ## Returnerer skjæringspunktet til den lineære regresjonslinjen
|
POISSON = POISSON ## Returnerer Poissons sannsynlighetsfordeling
|
||||||
KURT = KURT ## Returnerer kurtosen til et datasett
|
PROB = SANNSYNLIG ## Returnerer sannsynligheten for at verdier i et område ligger mellom to grenser
|
||||||
LARGE = N.STØRST ## Returnerer den n-te største verdien i et datasett
|
QUARTILE = KVARTIL ## Returnerer kvartilen til et datasett
|
||||||
LINEST = RETTLINJE ## Returnerer parameterne til en lineær trend
|
RANK = RANG ## Returnerer rangeringen av et tall, eller plassen tallet har i en rekke
|
||||||
LOGEST = KURVE ## Returnerer parameterne til en eksponentiell trend
|
RSQ = RKVADRAT ## Returnerer kvadratet av produktmomentkorrelasjonskoeffisienten (Pearsons r)
|
||||||
LOGINV = LOGINV ## Returnerer den inverse lognormale fordelingen
|
SKEW = SKJEVFORDELING ## Returnerer skjevheten i en fordeling
|
||||||
LOGNORMDIST = LOGNORMFORD ## Returnerer den kumulative lognormale fordelingen
|
SLOPE = STIGNINGSTALL ## Returnerer stigningtallet for den lineære regresjonslinjen
|
||||||
MAX = STØRST ## Returnerer maksimumsverdien i en argumentliste
|
SMALL = N.MINST ## Returnerer den n-te minste verdien i et datasett
|
||||||
MAXA = MAKSA ## Returnerer maksimumsverdien i en argumentliste, inkludert tall, tekst og logiske verdier
|
STANDARDIZE = NORMALISER ## Returnerer en normalisert verdi
|
||||||
MEDIAN = MEDIAN ## Returnerer medianen til tallene som er gitt
|
STDEV = STDAV ## Estimere standardavvik på grunnlag av et utvalg
|
||||||
MIN = MIN ## Returnerer minimumsverdien i en argumentliste
|
STDEVA = STDAVVIKA ## Estimerer standardavvik basert på et utvalg, inkludert tall, tekst og logiske verdier
|
||||||
MINA = MINA ## Returnerer den minste verdien i en argumentliste, inkludert tall, tekst og logiske verdier
|
STDEVP = STDAVP ## Beregner standardavvik basert på hele populasjonen
|
||||||
MODE = MODUS ## Returnerer den vanligste verdien i et datasett
|
STDEVPA = STDAVVIKPA ## Beregner standardavvik basert på hele populasjonen, inkludert tall, tekst og logiske verdier
|
||||||
NEGBINOMDIST = NEGBINOM.FORDELING ## Returnerer den negative binomiske fordelingen
|
STEYX = STANDARDFEIL ## Returnerer standardfeilen for den predikerte y-verdien for hver x i regresjonen
|
||||||
NORMDIST = NORMALFORDELING ## Returnerer den kumulative normalfordelingen
|
TDIST = TFORDELING ## Returnerer en Student t-fordeling
|
||||||
NORMINV = NORMINV ## Returnerer den inverse kumulative normalfordelingen
|
TINV = TINV ## Returnerer den inverse Student t-fordelingen
|
||||||
NORMSDIST = NORMSFORDELING ## Returnerer standard kumulativ normalfordeling
|
TREND = TREND ## Returnerer verdier langs en lineær trend
|
||||||
NORMSINV = NORMSINV ## Returnerer den inverse av den den kumulative standard normalfordelingen
|
TRIMMEAN = TRIMMET.GJENNOMSNITT ## Returnerer den interne middelverdien til et datasett
|
||||||
PEARSON = PEARSON ## Returnerer produktmomentkorrelasjonskoeffisienten, Pearson
|
TTEST = TTEST ## Returnerer sannsynligheten assosiert med en Student t-test
|
||||||
PERCENTILE = PERSENTIL ## Returnerer den n-te persentil av verdiene i et område
|
VAR = VARIANS ## Estimerer varians basert på et utvalg
|
||||||
PERCENTRANK = PROSENTDEL ## Returnerer prosentrangeringen av en verdi i et datasett
|
VARA = VARIANSA ## Estimerer varians basert på et utvalg, inkludert tall, tekst og logiske verdier
|
||||||
PERMUT = PERMUTER ## Returnerer antall permutasjoner for et gitt antall objekter
|
VARP = VARIANSP ## Beregner varians basert på hele populasjonen
|
||||||
POISSON = POISSON ## Returnerer Poissons sannsynlighetsfordeling
|
VARPA = VARIANSPA ## Beregner varians basert på hele populasjonen, inkludert tall, tekst og logiske verdier
|
||||||
PROB = SANNSYNLIG ## Returnerer sannsynligheten for at verdier i et område ligger mellom to grenser
|
WEIBULL = WEIBULL.FORDELING ## Returnerer Weibull-fordelingen
|
||||||
QUARTILE = KVARTIL ## Returnerer kvartilen til et datasett
|
ZTEST = ZTEST ## Returnerer den ensidige sannsynlighetsverdien for en z-test
|
||||||
RANK = RANG ## Returnerer rangeringen av et tall, eller plassen tallet har i en rekke
|
|
||||||
RSQ = RKVADRAT ## Returnerer kvadratet av produktmomentkorrelasjonskoeffisienten (Pearsons r)
|
|
||||||
SKEW = SKJEVFORDELING ## Returnerer skjevheten i en fordeling
|
##
|
||||||
SLOPE = STIGNINGSTALL ## Returnerer stigningtallet for den lineære regresjonslinjen
|
## Text functions Tekstfunksjoner
|
||||||
SMALL = N.MINST ## Returnerer den n-te minste verdien i et datasett
|
##
|
||||||
STANDARDIZE = NORMALISER ## Returnerer en normalisert verdi
|
ASC = STIGENDE ## Endrer fullbreddes (dobbeltbyte) engelske bokstaver eller katakana i en tegnstreng, til halvbreddes (enkeltbyte) tegn
|
||||||
STDEV = STDAV ## Estimere standardavvik på grunnlag av et utvalg
|
BAHTTEXT = BAHTTEKST ## Konverterer et tall til tekst, og bruker valutaformatet ß (baht)
|
||||||
STDEVA = STDAVVIKA ## Estimerer standardavvik basert på et utvalg, inkludert tall, tekst og logiske verdier
|
CHAR = TEGNKODE ## Returnerer tegnet som svarer til kodenummeret
|
||||||
STDEVP = STDAVP ## Beregner standardavvik basert på hele populasjonen
|
CLEAN = RENSK ## Fjerner alle tegn som ikke kan skrives ut, fra teksten
|
||||||
STDEVPA = STDAVVIKPA ## Beregner standardavvik basert på hele populasjonen, inkludert tall, tekst og logiske verdier
|
CODE = KODE ## Returnerer en numerisk kode for det første tegnet i en tekststreng
|
||||||
STEYX = STANDARDFEIL ## Returnerer standardfeilen for den predikerte y-verdien for hver x i regresjonen
|
CONCATENATE = KJEDE.SAMMEN ## Slår sammen flere tekstelementer til ett tekstelement
|
||||||
TDIST = TFORDELING ## Returnerer en Student t-fordeling
|
DOLLAR = VALUTA ## Konverterer et tall til tekst, og bruker valutaformatet $ (dollar)
|
||||||
TINV = TINV ## Returnerer den inverse Student t-fordelingen
|
EXACT = EKSAKT ## Kontrollerer om to tekstverdier er like
|
||||||
TREND = TREND ## Returnerer verdier langs en lineær trend
|
FIND = FINN ## Finner en tekstverdi inne i en annen (skiller mellom store og små bokstaver)
|
||||||
TRIMMEAN = TRIMMET.GJENNOMSNITT ## Returnerer den interne middelverdien til et datasett
|
FINDB = FINNB ## Finner en tekstverdi inne i en annen (skiller mellom store og små bokstaver)
|
||||||
TTEST = TTEST ## Returnerer sannsynligheten assosiert med en Student t-test
|
FIXED = FASTSATT ## Formaterer et tall som tekst med et bestemt antall desimaler
|
||||||
VAR = VARIANS ## Estimerer varians basert på et utvalg
|
JIS = JIS ## Endrer halvbreddes (enkeltbyte) engelske bokstaver eller katakana i en tegnstreng, til fullbreddes (dobbeltbyte) tegn
|
||||||
VARA = VARIANSA ## Estimerer varians basert på et utvalg, inkludert tall, tekst og logiske verdier
|
LEFT = VENSTRE ## Returnerer tegnene lengst til venstre i en tekstverdi
|
||||||
VARP = VARIANSP ## Beregner varians basert på hele populasjonen
|
LEFTB = VENSTREB ## Returnerer tegnene lengst til venstre i en tekstverdi
|
||||||
VARPA = VARIANSPA ## Beregner varians basert på hele populasjonen, inkludert tall, tekst og logiske verdier
|
LEN = LENGDE ## Returnerer antall tegn i en tekststreng
|
||||||
WEIBULL = WEIBULL.FORDELING ## Returnerer Weibull-fordelingen
|
LENB = LENGDEB ## Returnerer antall tegn i en tekststreng
|
||||||
ZTEST = ZTEST ## Returnerer den ensidige sannsynlighetsverdien for en z-test
|
LOWER = SMÅ ## Konverterer tekst til små bokstaver
|
||||||
|
MID = DELTEKST ## Returnerer et angitt antall tegn fra en tekststreng, og begynner fra posisjonen du angir
|
||||||
|
MIDB = DELTEKSTB ## Returnerer et angitt antall tegn fra en tekststreng, og begynner fra posisjonen du angir
|
||||||
##
|
PHONETIC = FURIGANA ## Trekker ut fonetiske tegn (furigana) fra en tekststreng
|
||||||
## Text functions Tekstfunksjoner
|
PROPER = STOR.FORBOKSTAV ## Gir den første bokstaven i hvert ord i en tekstverdi stor forbokstav
|
||||||
##
|
REPLACE = ERSTATT ## Erstatter tegn i en tekst
|
||||||
ASC = STIGENDE ## Endrer fullbreddes (dobbeltbyte) engelske bokstaver eller katakana i en tegnstreng, til halvbreddes (enkeltbyte) tegn
|
REPLACEB = ERSTATTB ## Erstatter tegn i en tekst
|
||||||
BAHTTEXT = BAHTTEKST ## Konverterer et tall til tekst, og bruker valutaformatet ß (baht)
|
REPT = GJENTA ## Gjentar tekst et gitt antall ganger
|
||||||
CHAR = TEGNKODE ## Returnerer tegnet som svarer til kodenummeret
|
RIGHT = HØYRE ## Returnerer tegnene lengst til høyre i en tekstverdi
|
||||||
CLEAN = RENSK ## Fjerner alle tegn som ikke kan skrives ut, fra teksten
|
RIGHTB = HØYREB ## Returnerer tegnene lengst til høyre i en tekstverdi
|
||||||
CODE = KODE ## Returnerer en numerisk kode for det første tegnet i en tekststreng
|
SEARCH = SØK ## Finner en tekstverdi inne i en annen (skiller ikke mellom store og små bokstaver)
|
||||||
CONCATENATE = KJEDE.SAMMEN ## Slår sammen flere tekstelementer til ett tekstelement
|
SEARCHB = SØKB ## Finner en tekstverdi inne i en annen (skiller ikke mellom store og små bokstaver)
|
||||||
DOLLAR = VALUTA ## Konverterer et tall til tekst, og bruker valutaformatet $ (dollar)
|
SUBSTITUTE = BYTT.UT ## Bytter ut gammel tekst med ny tekst i en tekststreng
|
||||||
EXACT = EKSAKT ## Kontrollerer om to tekstverdier er like
|
T = T ## Konverterer argumentene til tekst
|
||||||
FIND = FINN ## Finner en tekstverdi inne i en annen (skiller mellom store og små bokstaver)
|
TEXT = TEKST ## Formaterer et tall og konverterer det til tekst
|
||||||
FINDB = FINNB ## Finner en tekstverdi inne i en annen (skiller mellom store og små bokstaver)
|
TRIM = TRIMME ## Fjerner mellomrom fra tekst
|
||||||
FIXED = FASTSATT ## Formaterer et tall som tekst med et bestemt antall desimaler
|
UPPER = STORE ## Konverterer tekst til store bokstaver
|
||||||
JIS = JIS ## Endrer halvbreddes (enkeltbyte) engelske bokstaver eller katakana i en tegnstreng, til fullbreddes (dobbeltbyte) tegn
|
VALUE = VERDI ## Konverterer et tekstargument til et tall
|
||||||
LEFT = VENSTRE ## Returnerer tegnene lengst til venstre i en tekstverdi
|
|
||||||
LEFTB = VENSTREB ## Returnerer tegnene lengst til venstre i en tekstverdi
|
|
||||||
LEN = LENGDE ## Returnerer antall tegn i en tekststreng
|
|
||||||
LENB = LENGDEB ## Returnerer antall tegn i en tekststreng
|
|
||||||
LOWER = SMÅ ## Konverterer tekst til små bokstaver
|
|
||||||
MID = DELTEKST ## Returnerer et angitt antall tegn fra en tekststreng, og begynner fra posisjonen du angir
|
|
||||||
MIDB = DELTEKSTB ## Returnerer et angitt antall tegn fra en tekststreng, og begynner fra posisjonen du angir
|
|
||||||
PHONETIC = FURIGANA ## Trekker ut fonetiske tegn (furigana) fra en tekststreng
|
|
||||||
PROPER = STOR.FORBOKSTAV ## Gir den første bokstaven i hvert ord i en tekstverdi stor forbokstav
|
|
||||||
REPLACE = ERSTATT ## Erstatter tegn i en tekst
|
|
||||||
REPLACEB = ERSTATTB ## Erstatter tegn i en tekst
|
|
||||||
REPT = GJENTA ## Gjentar tekst et gitt antall ganger
|
|
||||||
RIGHT = HØYRE ## Returnerer tegnene lengst til høyre i en tekstverdi
|
|
||||||
RIGHTB = HØYREB ## Returnerer tegnene lengst til høyre i en tekstverdi
|
|
||||||
SEARCH = SØK ## Finner en tekstverdi inne i en annen (skiller ikke mellom store og små bokstaver)
|
|
||||||
SEARCHB = SØKB ## Finner en tekstverdi inne i en annen (skiller ikke mellom store og små bokstaver)
|
|
||||||
SUBSTITUTE = BYTT.UT ## Bytter ut gammel tekst med ny tekst i en tekststreng
|
|
||||||
T = T ## Konverterer argumentene til tekst
|
|
||||||
TEXT = TEKST ## Formaterer et tall og konverterer det til tekst
|
|
||||||
TRIM = TRIMME ## Fjerner mellomrom fra tekst
|
|
||||||
UPPER = STORE ## Konverterer tekst til store bokstaver
|
|
||||||
VALUE = VERDI ## Konverterer et tekstargument til et tall
|
|
||||||
24
PhpOffice/PhpSpreadsheet/Calculation/locale/pl/config
Normal file
24
PhpOffice/PhpSpreadsheet/Calculation/locale/pl/config
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
##
|
||||||
|
## PhpSpreadsheet
|
||||||
|
##
|
||||||
|
|
||||||
|
ArgumentSeparator = ;
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## (For future use)
|
||||||
|
##
|
||||||
|
currencySymbol = zł
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## Excel Error Codes (For future use)
|
||||||
|
|
||||||
|
##
|
||||||
|
NULL = #ZERO!
|
||||||
|
DIV0 = #DZIEL/0!
|
||||||
|
VALUE = #ARG!
|
||||||
|
REF = #ADR!
|
||||||
|
NAME = #NAZWA?
|
||||||
|
NUM = #LICZBA!
|
||||||
|
NA = #N/D!
|
||||||
|
|
@ -1,438 +1,416 @@
|
||||||
##
|
##
|
||||||
## PHPExcel
|
## PhpSpreadsheet
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Data in this file derived from https://www.excel-function-translation.com/
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
##
|
||||||
## modify it under the terms of the GNU Lesser General Public
|
|
||||||
## License as published by the Free Software Foundation; either
|
|
||||||
## version 2.1 of the License, or (at your option) any later version.
|
##
|
||||||
##
|
## Add-in and Automation functions Funkcje dodatków i automatyzacji
|
||||||
## This library is distributed in the hope that it will be useful,
|
##
|
||||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
GETPIVOTDATA = WEŹDANETABELI ## Zwraca dane przechowywane w raporcie tabeli przestawnej.
|
||||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
## Lesser General Public License for more details.
|
|
||||||
##
|
##
|
||||||
## You should have received a copy of the GNU Lesser General Public
|
## Cube functions Funkcje modułów
|
||||||
## License along with this library; if not, write to the Free Software
|
##
|
||||||
## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
CUBEKPIMEMBER = ELEMENT.KPI.MODUŁU ## Zwraca nazwę, właściwość i miarę kluczowego wskaźnika wydajności (KPI) oraz wyświetla nazwę i właściwość w komórce. Wskaźnik KPI jest miarą ilościową, taką jak miesięczny zysk brutto lub kwartalna fluktuacja pracowników, używaną do monitorowania wydajności organizacji.
|
||||||
##
|
CUBEMEMBER = ELEMENT.MODUŁU ## Zwraca element lub krotkę z hierarchii modułu. Służy do sprawdzania, czy element lub krotka istnieje w module.
|
||||||
## @category PHPExcel
|
CUBEMEMBERPROPERTY = WŁAŚCIWOŚĆ.ELEMENTU.MODUŁU ## Zwraca wartość właściwości elementu w module. Służy do sprawdzania, czy nazwa elementu istnieje w module, i zwracania określonej właściwości dla tego elementu.
|
||||||
## @package PHPExcel_Calculation
|
CUBERANKEDMEMBER = USZEREGOWANY.ELEMENT.MODUŁU ## Zwraca n-ty (albo uszeregowany) element zestawu. Służy do zwracania elementu lub elementów zestawu, na przykład najlepszego sprzedawcy lub 10 najlepszych studentów.
|
||||||
## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
CUBESET = ZESTAW.MODUŁÓW ## Definiuje obliczony zestaw elementów lub krotek, wysyłając wyrażenie zestawu do serwera modułu, który tworzy zestaw i zwraca go do programu Microsoft Office Excel.
|
||||||
## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
CUBESETCOUNT = LICZNIK.MODUŁÓW.ZESTAWU ## Zwraca liczbę elementów zestawu.
|
||||||
## @version ##VERSION##, ##DATE##
|
CUBEVALUE = WARTOŚĆ.MODUŁU ## Zwraca zagregowaną wartość z modułu.
|
||||||
##
|
|
||||||
## Data in this file derived from http://www.piuha.fi/excel-function-name-translation/
|
|
||||||
##
|
##
|
||||||
##
|
## Database functions Funkcje baz danych
|
||||||
|
##
|
||||||
|
DAVERAGE = BD.ŚREDNIA ## Zwraca wartość średniej wybranych wpisów bazy danych.
|
||||||
##
|
DCOUNT = BD.ILE.REKORDÓW ## Zlicza komórki zawierające liczby w bazie danych.
|
||||||
## Add-in and Automation functions Funkcje dodatków i automatyzacji
|
DCOUNTA = BD.ILE.REKORDÓW.A ## Zlicza niepuste komórki w bazie danych.
|
||||||
##
|
DGET = BD.POLE ## Wyodrębnia z bazy danych jeden rekord spełniający określone kryteria.
|
||||||
GETPIVOTDATA = WEŹDANETABELI ## Zwraca dane przechowywane w raporcie tabeli przestawnej.
|
DMAX = BD.MAX ## Zwraca wartość maksymalną z wybranych wpisów bazy danych.
|
||||||
|
DMIN = BD.MIN ## Zwraca wartość minimalną z wybranych wpisów bazy danych.
|
||||||
|
DPRODUCT = BD.ILOCZYN ## Mnoży wartości w konkretnym, spełniającym kryteria polu rekordów bazy danych.
|
||||||
##
|
DSTDEV = BD.ODCH.STANDARD ## Szacuje odchylenie standardowe na podstawie próbki z wybranych wpisów bazy danych.
|
||||||
## Cube functions Funkcje modułów
|
DSTDEVP = BD.ODCH.STANDARD.POPUL ## Oblicza odchylenie standardowe na podstawie całej populacji wybranych wpisów bazy danych.
|
||||||
##
|
DSUM = BD.SUMA ## Dodaje liczby w kolumnie pól rekordów bazy danych, które spełniają kryteria.
|
||||||
CUBEKPIMEMBER = ELEMENT.KPI.MODUŁU ## Zwraca nazwę, właściwość i miarę kluczowego wskaźnika wydajności (KPI) oraz wyświetla nazwę i właściwość w komórce. Wskaźnik KPI jest miarą ilościową, taką jak miesięczny zysk brutto lub kwartalna fluktuacja pracowników, używaną do monitorowania wydajności organizacji.
|
DVAR = BD.WARIANCJA ## Szacuje wariancję na podstawie próbki z wybranych wpisów bazy danych.
|
||||||
CUBEMEMBER = ELEMENT.MODUŁU ## Zwraca element lub krotkę z hierarchii modułu. Służy do sprawdzania, czy element lub krotka istnieje w module.
|
DVARP = BD.WARIANCJA.POPUL ## Oblicza wariancję na podstawie całej populacji wybranych wpisów bazy danych.
|
||||||
CUBEMEMBERPROPERTY = WŁAŚCIWOŚĆ.ELEMENTU.MODUŁU ## Zwraca wartość właściwości elementu w module. Służy do sprawdzania, czy nazwa elementu istnieje w module, i zwracania określonej właściwości dla tego elementu.
|
|
||||||
CUBERANKEDMEMBER = USZEREGOWANY.ELEMENT.MODUŁU ## Zwraca n-ty (albo uszeregowany) element zestawu. Służy do zwracania elementu lub elementów zestawu, na przykład najlepszego sprzedawcy lub 10 najlepszych studentów.
|
|
||||||
CUBESET = ZESTAW.MODUŁÓW ## Definiuje obliczony zestaw elementów lub krotek, wysyłając wyrażenie zestawu do serwera modułu, który tworzy zestaw i zwraca go do programu Microsoft Office Excel.
|
##
|
||||||
CUBESETCOUNT = LICZNIK.MODUŁÓW.ZESTAWU ## Zwraca liczbę elementów zestawu.
|
## Date and time functions Funkcje dat, godzin i czasu
|
||||||
CUBEVALUE = WARTOŚĆ.MODUŁU ## Zwraca zagregowaną wartość z modułu.
|
##
|
||||||
|
DATE = DATA ## Zwraca liczbę seryjną dla wybranej daty.
|
||||||
|
DATEVALUE = DATA.WARTOŚĆ ## Konwertuje datę w formie tekstu na liczbę seryjną.
|
||||||
##
|
DAY = DZIEŃ ## Konwertuje liczbę seryjną na dzień miesiąca.
|
||||||
## Database functions Funkcje baz danych
|
DAYS360 = DNI.360 ## Oblicza liczbę dni między dwiema datami na podstawie roku 360-dniowego.
|
||||||
##
|
EDATE = UPŁDNI ## Zwraca liczbę seryjną daty jako wskazaną liczbę miesięcy przed określoną datą początkową lub po niej.
|
||||||
DAVERAGE = BD.ŚREDNIA ## Zwraca wartość średniej wybranych wpisów bazy danych.
|
EOMONTH = EOMONTH ## Zwraca liczbę seryjną ostatniego dnia miesiąca przed określoną liczbą miesięcy lub po niej.
|
||||||
DCOUNT = BD.ILE.REKORDÓW ## Zlicza komórki zawierające liczby w bazie danych.
|
HOUR = GODZINA ## Konwertuje liczbę seryjną na godzinę.
|
||||||
DCOUNTA = BD.ILE.REKORDÓW.A ## Zlicza niepuste komórki w bazie danych.
|
MINUTE = MINUTA ## Konwertuje liczbę seryjną na minutę.
|
||||||
DGET = BD.POLE ## Wyodrębnia z bazy danych jeden rekord spełniający określone kryteria.
|
MONTH = MIESIĄC ## Konwertuje liczbę seryjną na miesiąc.
|
||||||
DMAX = BD.MAX ## Zwraca wartość maksymalną z wybranych wpisów bazy danych.
|
NETWORKDAYS = NETWORKDAYS ## Zwraca liczbę pełnych dni roboczych między dwiema datami.
|
||||||
DMIN = BD.MIN ## Zwraca wartość minimalną z wybranych wpisów bazy danych.
|
NOW = TERAZ ## Zwraca liczbę seryjną bieżącej daty i godziny.
|
||||||
DPRODUCT = BD.ILOCZYN ## Mnoży wartości w konkretnym, spełniającym kryteria polu rekordów bazy danych.
|
SECOND = SEKUNDA ## Konwertuje liczbę seryjną na sekundę.
|
||||||
DSTDEV = BD.ODCH.STANDARD ## Szacuje odchylenie standardowe na podstawie próbki z wybranych wpisów bazy danych.
|
TIME = CZAS ## Zwraca liczbę seryjną określonego czasu.
|
||||||
DSTDEVP = BD.ODCH.STANDARD.POPUL ## Oblicza odchylenie standardowe na podstawie całej populacji wybranych wpisów bazy danych.
|
TIMEVALUE = CZAS.WARTOŚĆ ## Konwertuje czas w formie tekstu na liczbę seryjną.
|
||||||
DSUM = BD.SUMA ## Dodaje liczby w kolumnie pól rekordów bazy danych, które spełniają kryteria.
|
TODAY = DZIŚ ## Zwraca liczbę seryjną dla daty bieżącej.
|
||||||
DVAR = BD.WARIANCJA ## Szacuje wariancję na podstawie próbki z wybranych wpisów bazy danych.
|
WEEKDAY = DZIEŃ.TYG ## Konwertuje liczbę seryjną na dzień tygodnia.
|
||||||
DVARP = BD.WARIANCJA.POPUL ## Oblicza wariancję na podstawie całej populacji wybranych wpisów bazy danych.
|
WEEKNUM = WEEKNUM ## Konwertuje liczbę seryjną na liczbę reprezentującą numer tygodnia w roku.
|
||||||
|
WORKDAY = WORKDAY ## Zwraca liczbę seryjną dla daty przed określoną liczbą dni roboczych lub po niej.
|
||||||
|
YEAR = ROK ## Konwertuje liczbę seryjną na rok.
|
||||||
##
|
YEARFRAC = YEARFRAC ## Zwraca część roku reprezentowaną przez pełną liczbę dni między datą początkową a datą końcową.
|
||||||
## Date and time functions Funkcje dat, godzin i czasu
|
|
||||||
##
|
|
||||||
DATE = DATA ## Zwraca liczbę seryjną dla wybranej daty.
|
##
|
||||||
DATEVALUE = DATA.WARTOŚĆ ## Konwertuje datę w formie tekstu na liczbę seryjną.
|
## Engineering functions Funkcje inżynierskie
|
||||||
DAY = DZIEŃ ## Konwertuje liczbę seryjną na dzień miesiąca.
|
##
|
||||||
DAYS360 = DNI.360 ## Oblicza liczbę dni między dwiema datami na podstawie roku 360-dniowego.
|
BESSELI = BESSELI ## Zwraca wartość zmodyfikowanej funkcji Bessela In(x).
|
||||||
EDATE = UPŁDNI ## Zwraca liczbę seryjną daty jako wskazaną liczbę miesięcy przed określoną datą początkową lub po niej.
|
BESSELJ = BESSELJ ## Zwraca wartość funkcji Bessela Jn(x).
|
||||||
EOMONTH = EOMONTH ## Zwraca liczbę seryjną ostatniego dnia miesiąca przed określoną liczbą miesięcy lub po niej.
|
BESSELK = BESSELK ## Zwraca wartość zmodyfikowanej funkcji Bessela Kn(x).
|
||||||
HOUR = GODZINA ## Konwertuje liczbę seryjną na godzinę.
|
BESSELY = BESSELY ## Zwraca wartość funkcji Bessela Yn(x).
|
||||||
MINUTE = MINUTA ## Konwertuje liczbę seryjną na minutę.
|
BIN2DEC = BIN2DEC ## Konwertuje liczbę w postaci dwójkowej na liczbę w postaci dziesiętnej.
|
||||||
MONTH = MIESIĄC ## Konwertuje liczbę seryjną na miesiąc.
|
BIN2HEX = BIN2HEX ## Konwertuje liczbę w postaci dwójkowej na liczbę w postaci szesnastkowej.
|
||||||
NETWORKDAYS = NETWORKDAYS ## Zwraca liczbę pełnych dni roboczych między dwiema datami.
|
BIN2OCT = BIN2OCT ## Konwertuje liczbę w postaci dwójkowej na liczbę w postaci ósemkowej.
|
||||||
NOW = TERAZ ## Zwraca liczbę seryjną bieżącej daty i godziny.
|
COMPLEX = COMPLEX ## Konwertuje część rzeczywistą i urojoną na liczbę zespoloną.
|
||||||
SECOND = SEKUNDA ## Konwertuje liczbę seryjną na sekundę.
|
CONVERT = CONVERT ## Konwertuje liczbę z jednego systemu miar na inny.
|
||||||
TIME = CZAS ## Zwraca liczbę seryjną określonego czasu.
|
DEC2BIN = DEC2BIN ## Konwertuje liczbę w postaci dziesiętnej na postać dwójkową.
|
||||||
TIMEVALUE = CZAS.WARTOŚĆ ## Konwertuje czas w formie tekstu na liczbę seryjną.
|
DEC2HEX = DEC2HEX ## Konwertuje liczbę w postaci dziesiętnej na liczbę w postaci szesnastkowej.
|
||||||
TODAY = DZIŚ ## Zwraca liczbę seryjną dla daty bieżącej.
|
DEC2OCT = DEC2OCT ## Konwertuje liczbę w postaci dziesiętnej na liczbę w postaci ósemkowej.
|
||||||
WEEKDAY = DZIEŃ.TYG ## Konwertuje liczbę seryjną na dzień tygodnia.
|
DELTA = DELTA ## Sprawdza, czy dwie wartości są równe.
|
||||||
WEEKNUM = WEEKNUM ## Konwertuje liczbę seryjną na liczbę reprezentującą numer tygodnia w roku.
|
ERF = ERF ## Zwraca wartość funkcji błędu.
|
||||||
WORKDAY = WORKDAY ## Zwraca liczbę seryjną dla daty przed określoną liczbą dni roboczych lub po niej.
|
ERFC = ERFC ## Zwraca wartość komplementarnej funkcji błędu.
|
||||||
YEAR = ROK ## Konwertuje liczbę seryjną na rok.
|
GESTEP = GESTEP ## Sprawdza, czy liczba jest większa niż wartość progowa.
|
||||||
YEARFRAC = YEARFRAC ## Zwraca część roku reprezentowaną przez pełną liczbę dni między datą początkową a datą końcową.
|
HEX2BIN = HEX2BIN ## Konwertuje liczbę w postaci szesnastkowej na liczbę w postaci dwójkowej.
|
||||||
|
HEX2DEC = HEX2DEC ## Konwertuje liczbę w postaci szesnastkowej na liczbę w postaci dziesiętnej.
|
||||||
|
HEX2OCT = HEX2OCT ## Konwertuje liczbę w postaci szesnastkowej na liczbę w postaci ósemkowej.
|
||||||
##
|
IMABS = IMABS ## Zwraca wartość bezwzględną (moduł) liczby zespolonej.
|
||||||
## Engineering functions Funkcje inżynierskie
|
IMAGINARY = IMAGINARY ## Zwraca wartość części urojonej liczby zespolonej.
|
||||||
##
|
IMARGUMENT = IMARGUMENT ## Zwraca wartość argumentu liczby zespolonej, przy czym kąt wyrażony jest w radianach.
|
||||||
BESSELI = BESSELI ## Zwraca wartość zmodyfikowanej funkcji Bessela In(x).
|
IMCONJUGATE = IMCONJUGATE ## Zwraca wartość liczby sprzężonej danej liczby zespolonej.
|
||||||
BESSELJ = BESSELJ ## Zwraca wartość funkcji Bessela Jn(x).
|
IMCOS = IMCOS ## Zwraca wartość cosinusa liczby zespolonej.
|
||||||
BESSELK = BESSELK ## Zwraca wartość zmodyfikowanej funkcji Bessela Kn(x).
|
IMDIV = IMDIV ## Zwraca wartość ilorazu dwóch liczb zespolonych.
|
||||||
BESSELY = BESSELY ## Zwraca wartość funkcji Bessela Yn(x).
|
IMEXP = IMEXP ## Zwraca postać wykładniczą liczby zespolonej.
|
||||||
BIN2DEC = BIN2DEC ## Konwertuje liczbę w postaci dwójkowej na liczbę w postaci dziesiętnej.
|
IMLN = IMLN ## Zwraca wartość logarytmu naturalnego liczby zespolonej.
|
||||||
BIN2HEX = BIN2HEX ## Konwertuje liczbę w postaci dwójkowej na liczbę w postaci szesnastkowej.
|
IMLOG10 = IMLOG10 ## Zwraca wartość logarytmu dziesiętnego liczby zespolonej.
|
||||||
BIN2OCT = BIN2OCT ## Konwertuje liczbę w postaci dwójkowej na liczbę w postaci ósemkowej.
|
IMLOG2 = IMLOG2 ## Zwraca wartość logarytmu liczby zespolonej przy podstawie 2.
|
||||||
COMPLEX = COMPLEX ## Konwertuje część rzeczywistą i urojoną na liczbę zespoloną.
|
IMPOWER = IMPOWER ## Zwraca wartość liczby zespolonej podniesionej do potęgi całkowitej.
|
||||||
CONVERT = CONVERT ## Konwertuje liczbę z jednego systemu miar na inny.
|
IMPRODUCT = IMPRODUCT ## Zwraca wartość iloczynu liczb zespolonych.
|
||||||
DEC2BIN = DEC2BIN ## Konwertuje liczbę w postaci dziesiętnej na postać dwójkową.
|
IMREAL = IMREAL ## Zwraca wartość części rzeczywistej liczby zespolonej.
|
||||||
DEC2HEX = DEC2HEX ## Konwertuje liczbę w postaci dziesiętnej na liczbę w postaci szesnastkowej.
|
IMSIN = IMSIN ## Zwraca wartość sinusa liczby zespolonej.
|
||||||
DEC2OCT = DEC2OCT ## Konwertuje liczbę w postaci dziesiętnej na liczbę w postaci ósemkowej.
|
IMSQRT = IMSQRT ## Zwraca wartość pierwiastka kwadratowego z liczby zespolonej.
|
||||||
DELTA = DELTA ## Sprawdza, czy dwie wartości są równe.
|
IMSUB = IMSUB ## Zwraca wartość różnicy dwóch liczb zespolonych.
|
||||||
ERF = ERF ## Zwraca wartość funkcji błędu.
|
IMSUM = IMSUM ## Zwraca wartość sumy liczb zespolonych.
|
||||||
ERFC = ERFC ## Zwraca wartość komplementarnej funkcji błędu.
|
OCT2BIN = OCT2BIN ## Konwertuje liczbę w postaci ósemkowej na liczbę w postaci dwójkowej.
|
||||||
GESTEP = GESTEP ## Sprawdza, czy liczba jest większa niż wartość progowa.
|
OCT2DEC = OCT2DEC ## Konwertuje liczbę w postaci ósemkowej na liczbę w postaci dziesiętnej.
|
||||||
HEX2BIN = HEX2BIN ## Konwertuje liczbę w postaci szesnastkowej na liczbę w postaci dwójkowej.
|
OCT2HEX = OCT2HEX ## Konwertuje liczbę w postaci ósemkowej na liczbę w postaci szesnastkowej.
|
||||||
HEX2DEC = HEX2DEC ## Konwertuje liczbę w postaci szesnastkowej na liczbę w postaci dziesiętnej.
|
|
||||||
HEX2OCT = HEX2OCT ## Konwertuje liczbę w postaci szesnastkowej na liczbę w postaci ósemkowej.
|
|
||||||
IMABS = IMABS ## Zwraca wartość bezwzględną (moduł) liczby zespolonej.
|
##
|
||||||
IMAGINARY = IMAGINARY ## Zwraca wartość części urojonej liczby zespolonej.
|
## Financial functions Funkcje finansowe
|
||||||
IMARGUMENT = IMARGUMENT ## Zwraca wartość argumentu liczby zespolonej, przy czym kąt wyrażony jest w radianach.
|
##
|
||||||
IMCONJUGATE = IMCONJUGATE ## Zwraca wartość liczby sprzężonej danej liczby zespolonej.
|
ACCRINT = ACCRINT ## Zwraca narosłe odsetki dla papieru wartościowego z oprocentowaniem okresowym.
|
||||||
IMCOS = IMCOS ## Zwraca wartość cosinusa liczby zespolonej.
|
ACCRINTM = ACCRINTM ## Zwraca narosłe odsetki dla papieru wartościowego z oprocentowaniem w terminie wykupu.
|
||||||
IMDIV = IMDIV ## Zwraca wartość ilorazu dwóch liczb zespolonych.
|
AMORDEGRC = AMORDEGRC ## Zwraca amortyzację dla każdego okresu rozliczeniowego z wykorzystaniem współczynnika amortyzacji.
|
||||||
IMEXP = IMEXP ## Zwraca postać wykładniczą liczby zespolonej.
|
AMORLINC = AMORLINC ## Zwraca amortyzację dla każdego okresu rozliczeniowego.
|
||||||
IMLN = IMLN ## Zwraca wartość logarytmu naturalnego liczby zespolonej.
|
COUPDAYBS = COUPDAYBS ## Zwraca liczbę dni od początku okresu dywidendy do dnia rozliczeniowego.
|
||||||
IMLOG10 = IMLOG10 ## Zwraca wartość logarytmu dziesiętnego liczby zespolonej.
|
COUPDAYS = COUPDAYS ## Zwraca liczbę dni w okresie dywidendy, z uwzględnieniem dnia rozliczeniowego.
|
||||||
IMLOG2 = IMLOG2 ## Zwraca wartość logarytmu liczby zespolonej przy podstawie 2.
|
COUPDAYSNC = COUPDAYSNC ## Zwraca liczbę dni od dnia rozliczeniowego do daty następnego dnia dywidendy.
|
||||||
IMPOWER = IMPOWER ## Zwraca wartość liczby zespolonej podniesionej do potęgi całkowitej.
|
COUPNCD = COUPNCD ## Zwraca dzień następnej dywidendy po dniu rozliczeniowym.
|
||||||
IMPRODUCT = IMPRODUCT ## Zwraca wartość iloczynu liczb zespolonych.
|
COUPNUM = COUPNUM ## Zwraca liczbę dywidend płatnych między dniem rozliczeniowym a dniem wykupu.
|
||||||
IMREAL = IMREAL ## Zwraca wartość części rzeczywistej liczby zespolonej.
|
COUPPCD = COUPPCD ## Zwraca dzień poprzedniej dywidendy przed dniem rozliczeniowym.
|
||||||
IMSIN = IMSIN ## Zwraca wartość sinusa liczby zespolonej.
|
CUMIPMT = CUMIPMT ## Zwraca wartość procentu składanego płatnego między dwoma okresami.
|
||||||
IMSQRT = IMSQRT ## Zwraca wartość pierwiastka kwadratowego z liczby zespolonej.
|
CUMPRINC = CUMPRINC ## Zwraca wartość kapitału skumulowanego spłaty pożyczki między dwoma okresami.
|
||||||
IMSUB = IMSUB ## Zwraca wartość różnicy dwóch liczb zespolonych.
|
DB = DB ## Zwraca amortyzację środka trwałego w danym okresie metodą degresywną z zastosowaniem stałej bazowej.
|
||||||
IMSUM = IMSUM ## Zwraca wartość sumy liczb zespolonych.
|
DDB = DDB ## Zwraca amortyzację środka trwałego za podany okres metodą degresywną z zastosowaniem podwójnej bazowej lub metodą określoną przez użytkownika.
|
||||||
OCT2BIN = OCT2BIN ## Konwertuje liczbę w postaci ósemkowej na liczbę w postaci dwójkowej.
|
DISC = DISC ## Zwraca wartość stopy dyskontowej papieru wartościowego.
|
||||||
OCT2DEC = OCT2DEC ## Konwertuje liczbę w postaci ósemkowej na liczbę w postaci dziesiętnej.
|
DOLLARDE = DOLLARDE ## Konwertuje cenę w postaci ułamkowej na cenę wyrażoną w postaci dziesiętnej.
|
||||||
OCT2HEX = OCT2HEX ## Konwertuje liczbę w postaci ósemkowej na liczbę w postaci szesnastkowej.
|
DOLLARFR = DOLLARFR ## Konwertuje cenę wyrażoną w postaci dziesiętnej na cenę wyrażoną w postaci ułamkowej.
|
||||||
|
DURATION = DURATION ## Zwraca wartość rocznego przychodu z papieru wartościowego o okresowych wypłatach oprocentowania.
|
||||||
|
EFFECT = EFFECT ## Zwraca wartość efektywnej rocznej stopy procentowej.
|
||||||
##
|
FV = FV ## Zwraca przyszłą wartość lokaty.
|
||||||
## Financial functions Funkcje finansowe
|
FVSCHEDULE = FVSCHEDULE ## Zwraca przyszłą wartość kapitału początkowego wraz z szeregiem procentów składanych.
|
||||||
##
|
INTRATE = INTRATE ## Zwraca wartość stopy procentowej papieru wartościowego całkowicie ulokowanego.
|
||||||
ACCRINT = ACCRINT ## Zwraca narosłe odsetki dla papieru wartościowego z oprocentowaniem okresowym.
|
IPMT = IPMT ## Zwraca wysokość spłaty oprocentowania lokaty za dany okres.
|
||||||
ACCRINTM = ACCRINTM ## Zwraca narosłe odsetki dla papieru wartościowego z oprocentowaniem w terminie wykupu.
|
IRR = IRR ## Zwraca wartość wewnętrznej stopy zwrotu dla serii przepływów gotówkowych.
|
||||||
AMORDEGRC = AMORDEGRC ## Zwraca amortyzację dla każdego okresu rozliczeniowego z wykorzystaniem współczynnika amortyzacji.
|
ISPMT = ISPMT ## Oblicza wysokość spłaty oprocentowania za dany okres lokaty.
|
||||||
AMORLINC = AMORLINC ## Zwraca amortyzację dla każdego okresu rozliczeniowego.
|
MDURATION = MDURATION ## Zwraca wartość zmodyfikowanego okresu Macauleya dla papieru wartościowego o założonej wartości nominalnej 100 zł.
|
||||||
COUPDAYBS = COUPDAYBS ## Zwraca liczbę dni od początku okresu dywidendy do dnia rozliczeniowego.
|
MIRR = MIRR ## Zwraca wartość wewnętrznej stopy zwrotu dla przypadku, gdy dodatnie i ujemne przepływy gotówkowe mają różne stopy.
|
||||||
COUPDAYS = COUPDAYS ## Zwraca liczbę dni w okresie dywidendy, z uwzględnieniem dnia rozliczeniowego.
|
NOMINAL = NOMINAL ## Zwraca wysokość nominalnej rocznej stopy procentowej.
|
||||||
COUPDAYSNC = COUPDAYSNC ## Zwraca liczbę dni od dnia rozliczeniowego do daty następnego dnia dywidendy.
|
NPER = NPER ## Zwraca liczbę okresów dla lokaty.
|
||||||
COUPNCD = COUPNCD ## Zwraca dzień następnej dywidendy po dniu rozliczeniowym.
|
NPV = NPV ## Zwraca wartość bieżącą netto lokaty na podstawie szeregu okresowych przepływów gotówkowych i stopy dyskontowej.
|
||||||
COUPNUM = COUPNUM ## Zwraca liczbę dywidend płatnych między dniem rozliczeniowym a dniem wykupu.
|
ODDFPRICE = ODDFPRICE ## Zwraca cenę za 100 zł wartości nominalnej papieru wartościowego z nietypowym pierwszym okresem.
|
||||||
COUPPCD = COUPPCD ## Zwraca dzień poprzedniej dywidendy przed dniem rozliczeniowym.
|
ODDFYIELD = ODDFYIELD ## Zwraca rentowność papieru wartościowego z nietypowym pierwszym okresem.
|
||||||
CUMIPMT = CUMIPMT ## Zwraca wartość procentu składanego płatnego między dwoma okresami.
|
ODDLPRICE = ODDLPRICE ## Zwraca cenę za 100 zł wartości nominalnej papieru wartościowego z nietypowym ostatnim okresem.
|
||||||
CUMPRINC = CUMPRINC ## Zwraca wartość kapitału skumulowanego spłaty pożyczki między dwoma okresami.
|
ODDLYIELD = ODDLYIELD ## Zwraca rentowność papieru wartościowego z nietypowym ostatnim okresem.
|
||||||
DB = DB ## Zwraca amortyzację środka trwałego w danym okresie metodą degresywną z zastosowaniem stałej bazowej.
|
PMT = PMT ## Zwraca wartość okresowej płatności raty rocznej.
|
||||||
DDB = DDB ## Zwraca amortyzację środka trwałego za podany okres metodą degresywną z zastosowaniem podwójnej bazowej lub metodą określoną przez użytkownika.
|
PPMT = PPMT ## Zwraca wysokość spłaty kapitału w przypadku lokaty dla danego okresu.
|
||||||
DISC = DISC ## Zwraca wartość stopy dyskontowej papieru wartościowego.
|
PRICE = PRICE ## Zwraca cenę za 100 zł wartości nominalnej papieru wartościowego z oprocentowaniem okresowym.
|
||||||
DOLLARDE = DOLLARDE ## Konwertuje cenę w postaci ułamkowej na cenę wyrażoną w postaci dziesiętnej.
|
PRICEDISC = PRICEDISC ## Zwraca cenę za 100 zł wartości nominalnej papieru wartościowego zdyskontowanego.
|
||||||
DOLLARFR = DOLLARFR ## Konwertuje cenę wyrażoną w postaci dziesiętnej na cenę wyrażoną w postaci ułamkowej.
|
PRICEMAT = PRICEMAT ## Zwraca cenę za 100 zł wartości nominalnej papieru wartościowego z oprocentowaniem w terminie wykupu.
|
||||||
DURATION = DURATION ## Zwraca wartość rocznego przychodu z papieru wartościowego o okresowych wypłatach oprocentowania.
|
PV = PV ## Zwraca wartość bieżącą lokaty.
|
||||||
EFFECT = EFFECT ## Zwraca wartość efektywnej rocznej stopy procentowej.
|
RATE = RATE ## Zwraca wysokość stopy procentowej w okresie raty rocznej.
|
||||||
FV = FV ## Zwraca przyszłą wartość lokaty.
|
RECEIVED = RECEIVED ## Zwraca wartość kapitału otrzymanego przy wykupie papieru wartościowego całkowicie ulokowanego.
|
||||||
FVSCHEDULE = FVSCHEDULE ## Zwraca przyszłą wartość kapitału początkowego wraz z szeregiem procentów składanych.
|
SLN = SLN ## Zwraca amortyzację środka trwałego za jeden okres metodą liniową.
|
||||||
INTRATE = INTRATE ## Zwraca wartość stopy procentowej papieru wartościowego całkowicie ulokowanego.
|
SYD = SYD ## Zwraca amortyzację środka trwałego za dany okres metodą sumy cyfr lat amortyzacji.
|
||||||
IPMT = IPMT ## Zwraca wysokość spłaty oprocentowania lokaty za dany okres.
|
TBILLEQ = TBILLEQ ## Zwraca rentowność ekwiwalentu obligacji dla bonu skarbowego.
|
||||||
IRR = IRR ## Zwraca wartość wewnętrznej stopy zwrotu dla serii przepływów gotówkowych.
|
TBILLPRICE = TBILLPRICE ## Zwraca cenę za 100 zł wartości nominalnej bonu skarbowego.
|
||||||
ISPMT = ISPMT ## Oblicza wysokość spłaty oprocentowania za dany okres lokaty.
|
TBILLYIELD = TBILLYIELD ## Zwraca rentowność bonu skarbowego.
|
||||||
MDURATION = MDURATION ## Zwraca wartość zmodyfikowanego okresu Macauleya dla papieru wartościowego o założonej wartości nominalnej 100 zł.
|
VDB = VDB ## Oblicza amortyzację środka trwałego w danym okresie lub jego części metodą degresywną.
|
||||||
MIRR = MIRR ## Zwraca wartość wewnętrznej stopy zwrotu dla przypadku, gdy dodatnie i ujemne przepływy gotówkowe mają różne stopy.
|
XIRR = XIRR ## Zwraca wartość wewnętrznej stopy zwrotu dla serii rozłożonych w czasie przepływów gotówkowych, niekoniecznie okresowych.
|
||||||
NOMINAL = NOMINAL ## Zwraca wysokość nominalnej rocznej stopy procentowej.
|
XNPV = XNPV ## Zwraca wartość bieżącą netto dla serii rozłożonych w czasie przepływów gotówkowych, niekoniecznie okresowych.
|
||||||
NPER = NPER ## Zwraca liczbę okresów dla lokaty.
|
YIELD = YIELD ## Zwraca rentowność papieru wartościowego z oprocentowaniem okresowym.
|
||||||
NPV = NPV ## Zwraca wartość bieżącą netto lokaty na podstawie szeregu okresowych przepływów gotówkowych i stopy dyskontowej.
|
YIELDDISC = YIELDDISC ## Zwraca roczną rentowność zdyskontowanego papieru wartościowego, na przykład bonu skarbowego.
|
||||||
ODDFPRICE = ODDFPRICE ## Zwraca cenę za 100 zł wartości nominalnej papieru wartościowego z nietypowym pierwszym okresem.
|
YIELDMAT = YIELDMAT ## Zwraca roczną rentowność papieru wartościowego oprocentowanego przy wykupie.
|
||||||
ODDFYIELD = ODDFYIELD ## Zwraca rentowność papieru wartościowego z nietypowym pierwszym okresem.
|
|
||||||
ODDLPRICE = ODDLPRICE ## Zwraca cenę za 100 zł wartości nominalnej papieru wartościowego z nietypowym ostatnim okresem.
|
|
||||||
ODDLYIELD = ODDLYIELD ## Zwraca rentowność papieru wartościowego z nietypowym ostatnim okresem.
|
##
|
||||||
PMT = PMT ## Zwraca wartość okresowej płatności raty rocznej.
|
## Information functions Funkcje informacyjne
|
||||||
PPMT = PPMT ## Zwraca wysokość spłaty kapitału w przypadku lokaty dla danego okresu.
|
##
|
||||||
PRICE = PRICE ## Zwraca cenę za 100 zł wartości nominalnej papieru wartościowego z oprocentowaniem okresowym.
|
CELL = KOMÓRKA ## Zwraca informacje o formacie, położeniu lub zawartości komórki.
|
||||||
PRICEDISC = PRICEDISC ## Zwraca cenę za 100 zł wartości nominalnej papieru wartościowego zdyskontowanego.
|
ERROR.TYPE = NR.BŁĘDU ## Zwraca liczbę odpowiadającą typowi błędu.
|
||||||
PRICEMAT = PRICEMAT ## Zwraca cenę za 100 zł wartości nominalnej papieru wartościowego z oprocentowaniem w terminie wykupu.
|
INFO = INFO ## Zwraca informację o aktualnym środowisku pracy.
|
||||||
PV = PV ## Zwraca wartość bieżącą lokaty.
|
ISBLANK = CZY.PUSTA ## Zwraca wartość PRAWDA, jeśli wartość jest pusta.
|
||||||
RATE = RATE ## Zwraca wysokość stopy procentowej w okresie raty rocznej.
|
ISERR = CZY.BŁ ## Zwraca wartość PRAWDA, jeśli wartość jest dowolną wartością błędu, z wyjątkiem #N/D!.
|
||||||
RECEIVED = RECEIVED ## Zwraca wartość kapitału otrzymanego przy wykupie papieru wartościowego całkowicie ulokowanego.
|
ISERROR = CZY.BŁĄD ## Zwraca wartość PRAWDA, jeśli wartość jest dowolną wartością błędu.
|
||||||
SLN = SLN ## Zwraca amortyzację środka trwałego za jeden okres metodą liniową.
|
ISEVEN = ISEVEN ## Zwraca wartość PRAWDA, jeśli liczba jest parzysta.
|
||||||
SYD = SYD ## Zwraca amortyzację środka trwałego za dany okres metodą sumy cyfr lat amortyzacji.
|
ISLOGICAL = CZY.LOGICZNA ## Zwraca wartość PRAWDA, jeśli wartość jest wartością logiczną.
|
||||||
TBILLEQ = TBILLEQ ## Zwraca rentowność ekwiwalentu obligacji dla bonu skarbowego.
|
ISNA = CZY.BRAK ## Zwraca wartość PRAWDA, jeśli wartość jest wartością błędu #N/D!.
|
||||||
TBILLPRICE = TBILLPRICE ## Zwraca cenę za 100 zł wartości nominalnej bonu skarbowego.
|
ISNONTEXT = CZY.NIE.TEKST ## Zwraca wartość PRAWDA, jeśli wartość nie jest tekstem.
|
||||||
TBILLYIELD = TBILLYIELD ## Zwraca rentowność bonu skarbowego.
|
ISNUMBER = CZY.LICZBA ## Zwraca wartość PRAWDA, jeśli wartość jest liczbą.
|
||||||
VDB = VDB ## Oblicza amortyzację środka trwałego w danym okresie lub jego części metodą degresywną.
|
ISODD = ISODD ## Zwraca wartość PRAWDA, jeśli liczba jest nieparzysta.
|
||||||
XIRR = XIRR ## Zwraca wartość wewnętrznej stopy zwrotu dla serii rozłożonych w czasie przepływów gotówkowych, niekoniecznie okresowych.
|
ISREF = CZY.ADR ## Zwraca wartość PRAWDA, jeśli wartość jest odwołaniem.
|
||||||
XNPV = XNPV ## Zwraca wartość bieżącą netto dla serii rozłożonych w czasie przepływów gotówkowych, niekoniecznie okresowych.
|
ISTEXT = CZY.TEKST ## Zwraca wartość PRAWDA, jeśli wartość jest tekstem.
|
||||||
YIELD = YIELD ## Zwraca rentowność papieru wartościowego z oprocentowaniem okresowym.
|
N = L ## Zwraca wartość przekonwertowaną na postać liczbową.
|
||||||
YIELDDISC = YIELDDISC ## Zwraca roczną rentowność zdyskontowanego papieru wartościowego, na przykład bonu skarbowego.
|
NA = BRAK ## Zwraca wartość błędu #N/D!.
|
||||||
YIELDMAT = YIELDMAT ## Zwraca roczną rentowność papieru wartościowego oprocentowanego przy wykupie.
|
TYPE = TYP ## Zwraca liczbę wskazującą typ danych wartości.
|
||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Information functions Funkcje informacyjne
|
## Logical functions Funkcje logiczne
|
||||||
##
|
##
|
||||||
CELL = KOMÓRKA ## Zwraca informacje o formacie, położeniu lub zawartości komórki.
|
AND = ORAZ ## Zwraca wartość PRAWDA, jeśli wszystkie argumenty mają wartość PRAWDA.
|
||||||
ERROR.TYPE = NR.BŁĘDU ## Zwraca liczbę odpowiadającą typowi błędu.
|
FALSE = FAŁSZ ## Zwraca wartość logiczną FAŁSZ.
|
||||||
INFO = INFO ## Zwraca informację o aktualnym środowisku pracy.
|
IF = JEŻELI ## Określa warunek logiczny do sprawdzenia.
|
||||||
ISBLANK = CZY.PUSTA ## Zwraca wartość PRAWDA, jeśli wartość jest pusta.
|
IFERROR = JEŻELI.BŁĄD ## Zwraca określoną wartość, jeśli wynikiem obliczenia formuły jest błąd; w przeciwnym przypadku zwraca wynik formuły.
|
||||||
ISERR = CZY.BŁ ## Zwraca wartość PRAWDA, jeśli wartość jest dowolną wartością błędu, z wyjątkiem #N/D!.
|
NOT = NIE ## Odwraca wartość logiczną argumentu.
|
||||||
ISERROR = CZY.BŁĄD ## Zwraca wartość PRAWDA, jeśli wartość jest dowolną wartością błędu.
|
OR = LUB ## Zwraca wartość PRAWDA, jeśli co najmniej jeden z argumentów ma wartość PRAWDA.
|
||||||
ISEVEN = ISEVEN ## Zwraca wartość PRAWDA, jeśli liczba jest parzysta.
|
TRUE = PRAWDA ## Zwraca wartość logiczną PRAWDA.
|
||||||
ISLOGICAL = CZY.LOGICZNA ## Zwraca wartość PRAWDA, jeśli wartość jest wartością logiczną.
|
|
||||||
ISNA = CZY.BRAK ## Zwraca wartość PRAWDA, jeśli wartość jest wartością błędu #N/D!.
|
|
||||||
ISNONTEXT = CZY.NIE.TEKST ## Zwraca wartość PRAWDA, jeśli wartość nie jest tekstem.
|
##
|
||||||
ISNUMBER = CZY.LICZBA ## Zwraca wartość PRAWDA, jeśli wartość jest liczbą.
|
## Lookup and reference functions Funkcje wyszukiwania i odwołań
|
||||||
ISODD = ISODD ## Zwraca wartość PRAWDA, jeśli liczba jest nieparzysta.
|
##
|
||||||
ISREF = CZY.ADR ## Zwraca wartość PRAWDA, jeśli wartość jest odwołaniem.
|
ADDRESS = ADRES ## Zwraca odwołanie do jednej komórki w arkuszu jako wartość tekstową.
|
||||||
ISTEXT = CZY.TEKST ## Zwraca wartość PRAWDA, jeśli wartość jest tekstem.
|
AREAS = OBSZARY ## Zwraca liczbę obszarów występujących w odwołaniu.
|
||||||
N = L ## Zwraca wartość przekonwertowaną na postać liczbową.
|
CHOOSE = WYBIERZ ## Wybiera wartość z listy wartości.
|
||||||
NA = BRAK ## Zwraca wartość błędu #N/D!.
|
COLUMN = NR.KOLUMNY ## Zwraca numer kolumny z odwołania.
|
||||||
TYPE = TYP ## Zwraca liczbę wskazującą typ danych wartości.
|
COLUMNS = LICZBA.KOLUMN ## Zwraca liczbę kolumn dla danego odwołania.
|
||||||
|
HLOOKUP = WYSZUKAJ.POZIOMO ## Przegląda górny wiersz tablicy i zwraca wartość wskazanej komórki.
|
||||||
|
HYPERLINK = HIPERŁĄCZE ## Tworzy skrót lub skok, który pozwala otwierać dokument przechowywany na serwerze sieciowym, w sieci intranet lub w Internecie.
|
||||||
##
|
INDEX = INDEKS ## Używa indeksu do wybierania wartości z odwołania lub tablicy.
|
||||||
## Logical functions Funkcje logiczne
|
INDIRECT = ADR.POŚR ## Zwraca odwołanie określone przez wartość tekstową.
|
||||||
##
|
LOOKUP = WYSZUKAJ ## Wyszukuje wartości w wektorze lub tablicy.
|
||||||
AND = ORAZ ## Zwraca wartość PRAWDA, jeśli wszystkie argumenty mają wartość PRAWDA.
|
MATCH = PODAJ.POZYCJĘ ## Wyszukuje wartości w odwołaniu lub w tablicy.
|
||||||
FALSE = FAŁSZ ## Zwraca wartość logiczną FAŁSZ.
|
OFFSET = PRZESUNIĘCIE ## Zwraca adres przesunięty od danego odwołania.
|
||||||
IF = JEŻELI ## Określa warunek logiczny do sprawdzenia.
|
ROW = WIERSZ ## Zwraca numer wiersza odwołania.
|
||||||
IFERROR = JEŻELI.BŁĄD ## Zwraca określoną wartość, jeśli wynikiem obliczenia formuły jest błąd; w przeciwnym przypadku zwraca wynik formuły.
|
ROWS = ILE.WIERSZY ## Zwraca liczbę wierszy dla danego odwołania.
|
||||||
NOT = NIE ## Odwraca wartość logiczną argumentu.
|
RTD = RTD ## Pobiera dane w czasie rzeczywistym z programu obsługującego automatyzację COM (Automatyzacja: Sposób pracy z obiektami aplikacji pochodzącymi z innej aplikacji lub narzędzia projektowania. Nazywana wcześniej Automatyzacją OLE, Automatyzacja jest standardem przemysłowym i funkcją obiektowego modelu składników (COM, Component Object Model).).
|
||||||
OR = LUB ## Zwraca wartość PRAWDA, jeśli co najmniej jeden z argumentów ma wartość PRAWDA.
|
TRANSPOSE = TRANSPONUJ ## Zwraca transponowaną tablicę.
|
||||||
TRUE = PRAWDA ## Zwraca wartość logiczną PRAWDA.
|
VLOOKUP = WYSZUKAJ.PIONOWO ## Przeszukuje pierwszą kolumnę tablicy i przechodzi wzdłuż wiersza, aby zwrócić wartość komórki.
|
||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Lookup and reference functions Funkcje wyszukiwania i odwołań
|
## Math and trigonometry functions Funkcje matematyczne i trygonometryczne
|
||||||
##
|
##
|
||||||
ADDRESS = ADRES ## Zwraca odwołanie do jednej komórki w arkuszu jako wartość tekstową.
|
ABS = MODUŁ.LICZBY ## Zwraca wartość absolutną liczby.
|
||||||
AREAS = OBSZARY ## Zwraca liczbę obszarów występujących w odwołaniu.
|
ACOS = ACOS ## Zwraca arcus cosinus liczby.
|
||||||
CHOOSE = WYBIERZ ## Wybiera wartość z listy wartości.
|
ACOSH = ACOSH ## Zwraca arcus cosinus hiperboliczny liczby.
|
||||||
COLUMN = NR.KOLUMNY ## Zwraca numer kolumny z odwołania.
|
ASIN = ASIN ## Zwraca arcus sinus liczby.
|
||||||
COLUMNS = LICZBA.KOLUMN ## Zwraca liczbę kolumn dla danego odwołania.
|
ASINH = ASINH ## Zwraca arcus sinus hiperboliczny liczby.
|
||||||
HLOOKUP = WYSZUKAJ.POZIOMO ## Przegląda górny wiersz tablicy i zwraca wartość wskazanej komórki.
|
ATAN = ATAN ## Zwraca arcus tangens liczby.
|
||||||
HYPERLINK = HIPERŁĄCZE ## Tworzy skrót lub skok, który pozwala otwierać dokument przechowywany na serwerze sieciowym, w sieci intranet lub w Internecie.
|
ATAN2 = ATAN2 ## Zwraca arcus tangens liczby na podstawie współrzędnych x i y.
|
||||||
INDEX = INDEKS ## Używa indeksu do wybierania wartości z odwołania lub tablicy.
|
ATANH = ATANH ## Zwraca arcus tangens hiperboliczny liczby.
|
||||||
INDIRECT = ADR.POŚR ## Zwraca odwołanie określone przez wartość tekstową.
|
CEILING = ZAOKR.W.GÓRĘ ## Zaokrągla liczbę do najbliższej liczby całkowitej lub do najbliższej wielokrotności dokładności.
|
||||||
LOOKUP = WYSZUKAJ ## Wyszukuje wartości w wektorze lub tablicy.
|
COMBIN = KOMBINACJE ## Zwraca liczbę kombinacji dla danej liczby obiektów.
|
||||||
MATCH = PODAJ.POZYCJĘ ## Wyszukuje wartości w odwołaniu lub w tablicy.
|
COS = COS ## Zwraca cosinus liczby.
|
||||||
OFFSET = PRZESUNIĘCIE ## Zwraca adres przesunięty od danego odwołania.
|
COSH = COSH ## Zwraca cosinus hiperboliczny liczby.
|
||||||
ROW = WIERSZ ## Zwraca numer wiersza odwołania.
|
DEGREES = STOPNIE ## Konwertuje radiany na stopnie.
|
||||||
ROWS = ILE.WIERSZY ## Zwraca liczbę wierszy dla danego odwołania.
|
EVEN = ZAOKR.DO.PARZ ## Zaokrągla liczbę w górę do najbliższej liczby parzystej.
|
||||||
RTD = RTD ## Pobiera dane w czasie rzeczywistym z programu obsługującego automatyzację COM (Automatyzacja: Sposób pracy z obiektami aplikacji pochodzącymi z innej aplikacji lub narzędzia projektowania. Nazywana wcześniej Automatyzacją OLE, Automatyzacja jest standardem przemysłowym i funkcją obiektowego modelu składników (COM, Component Object Model).).
|
EXP = EXP ## Zwraca wartość liczby e podniesionej do potęgi określonej przez podaną liczbę.
|
||||||
TRANSPOSE = TRANSPONUJ ## Zwraca transponowaną tablicę.
|
FACT = SILNIA ## Zwraca silnię liczby.
|
||||||
VLOOKUP = WYSZUKAJ.PIONOWO ## Przeszukuje pierwszą kolumnę tablicy i przechodzi wzdłuż wiersza, aby zwrócić wartość komórki.
|
FACTDOUBLE = FACTDOUBLE ## Zwraca podwójną silnię liczby.
|
||||||
|
FLOOR = ZAOKR.W.DÓŁ ## Zaokrągla liczbę w dół, w kierunku zera.
|
||||||
|
GCD = GCD ## Zwraca największy wspólny dzielnik.
|
||||||
##
|
INT = ZAOKR.DO.CAŁK ## Zaokrągla liczbę w dół do najbliższej liczby całkowitej.
|
||||||
## Math and trigonometry functions Funkcje matematyczne i trygonometryczne
|
LCM = LCM ## Zwraca najmniejszą wspólną wielokrotność.
|
||||||
##
|
LN = LN ## Zwraca logarytm naturalny podanej liczby.
|
||||||
ABS = MODUŁ.LICZBY ## Zwraca wartość absolutną liczby.
|
LOG = LOG ## Zwraca logarytm danej liczby przy zadanej podstawie.
|
||||||
ACOS = ACOS ## Zwraca arcus cosinus liczby.
|
LOG10 = LOG10 ## Zwraca logarytm dziesiętny liczby.
|
||||||
ACOSH = ACOSH ## Zwraca arcus cosinus hiperboliczny liczby.
|
MDETERM = WYZNACZNIK.MACIERZY ## Zwraca wyznacznik macierzy tablicy.
|
||||||
ASIN = ASIN ## Zwraca arcus sinus liczby.
|
MINVERSE = MACIERZ.ODW ## Zwraca odwrotność macierzy tablicy.
|
||||||
ASINH = ASINH ## Zwraca arcus sinus hiperboliczny liczby.
|
MMULT = MACIERZ.ILOCZYN ## Zwraca iloczyn macierzy dwóch tablic.
|
||||||
ATAN = ATAN ## Zwraca arcus tangens liczby.
|
MOD = MOD ## Zwraca resztę z dzielenia.
|
||||||
ATAN2 = ATAN2 ## Zwraca arcus tangens liczby na podstawie współrzędnych x i y.
|
MROUND = MROUND ## Zwraca liczbę zaokrągloną do żądanej wielokrotności.
|
||||||
ATANH = ATANH ## Zwraca arcus tangens hiperboliczny liczby.
|
MULTINOMIAL = MULTINOMIAL ## Zwraca wielomian dla zbioru liczb.
|
||||||
CEILING = ZAOKR.W.GÓRĘ ## Zaokrągla liczbę do najbliższej liczby całkowitej lub do najbliższej wielokrotności dokładności.
|
ODD = ZAOKR.DO.NPARZ ## Zaokrągla liczbę w górę do najbliższej liczby nieparzystej.
|
||||||
COMBIN = KOMBINACJE ## Zwraca liczbę kombinacji dla danej liczby obiektów.
|
PI = PI ## Zwraca wartość liczby Pi.
|
||||||
COS = COS ## Zwraca cosinus liczby.
|
POWER = POTĘGA ## Zwraca liczbę podniesioną do potęgi.
|
||||||
COSH = COSH ## Zwraca cosinus hiperboliczny liczby.
|
PRODUCT = ILOCZYN ## Mnoży argumenty.
|
||||||
DEGREES = STOPNIE ## Konwertuje radiany na stopnie.
|
QUOTIENT = QUOTIENT ## Zwraca iloraz (całkowity).
|
||||||
EVEN = ZAOKR.DO.PARZ ## Zaokrągla liczbę w górę do najbliższej liczby parzystej.
|
RADIANS = RADIANY ## Konwertuje stopnie na radiany.
|
||||||
EXP = EXP ## Zwraca wartość liczby e podniesionej do potęgi określonej przez podaną liczbę.
|
RAND = LOS ## Zwraca liczbę pseudolosową z zakresu od 0 do 1.
|
||||||
FACT = SILNIA ## Zwraca silnię liczby.
|
RANDBETWEEN = RANDBETWEEN ## Zwraca liczbę pseudolosową z zakresu określonego przez podane argumenty.
|
||||||
FACTDOUBLE = FACTDOUBLE ## Zwraca podwójną silnię liczby.
|
ROMAN = RZYMSKIE ## Konwertuje liczbę arabską na rzymską jako tekst.
|
||||||
FLOOR = ZAOKR.W.DÓŁ ## Zaokrągla liczbę w dół, w kierunku zera.
|
ROUND = ZAOKR ## Zaokrągla liczbę do określonej liczby cyfr.
|
||||||
GCD = GCD ## Zwraca największy wspólny dzielnik.
|
ROUNDDOWN = ZAOKR.DÓŁ ## Zaokrągla liczbę w dół, w kierunku zera.
|
||||||
INT = ZAOKR.DO.CAŁK ## Zaokrągla liczbę w dół do najbliższej liczby całkowitej.
|
ROUNDUP = ZAOKR.GÓRA ## Zaokrągla liczbę w górę, w kierunku od zera.
|
||||||
LCM = LCM ## Zwraca najmniejszą wspólną wielokrotność.
|
SERIESSUM = SERIESSUM ## Zwraca sumę szeregu potęgowego na podstawie wzoru.
|
||||||
LN = LN ## Zwraca logarytm naturalny podanej liczby.
|
SIGN = ZNAK.LICZBY ## Zwraca znak liczby.
|
||||||
LOG = LOG ## Zwraca logarytm danej liczby przy zadanej podstawie.
|
SIN = SIN ## Zwraca sinus danego kąta.
|
||||||
LOG10 = LOG10 ## Zwraca logarytm dziesiętny liczby.
|
SINH = SINH ## Zwraca sinus hiperboliczny liczby.
|
||||||
MDETERM = WYZNACZNIK.MACIERZY ## Zwraca wyznacznik macierzy tablicy.
|
SQRT = PIERWIASTEK ## Zwraca dodatni pierwiastek kwadratowy.
|
||||||
MINVERSE = MACIERZ.ODW ## Zwraca odwrotność macierzy tablicy.
|
SQRTPI = SQRTPI ## Zwraca pierwiastek kwadratowy iloczynu (liczba * Pi).
|
||||||
MMULT = MACIERZ.ILOCZYN ## Zwraca iloczyn macierzy dwóch tablic.
|
SUBTOTAL = SUMY.POŚREDNIE ## Zwraca sumę częściową listy lub bazy danych.
|
||||||
MOD = MOD ## Zwraca resztę z dzielenia.
|
SUM = SUMA ## Dodaje argumenty.
|
||||||
MROUND = MROUND ## Zwraca liczbę zaokrągloną do żądanej wielokrotności.
|
SUMIF = SUMA.JEŻELI ## Dodaje komórki określone przez podane kryterium.
|
||||||
MULTINOMIAL = MULTINOMIAL ## Zwraca wielomian dla zbioru liczb.
|
SUMIFS = SUMA.WARUNKÓW ## Dodaje komórki w zakresie, które spełniają wiele kryteriów.
|
||||||
ODD = ZAOKR.DO.NPARZ ## Zaokrągla liczbę w górę do najbliższej liczby nieparzystej.
|
SUMPRODUCT = SUMA.ILOCZYNÓW ## Zwraca sumę iloczynów odpowiednich elementów tablicy.
|
||||||
PI = PI ## Zwraca wartość liczby Pi.
|
SUMSQ = SUMA.KWADRATÓW ## Zwraca sumę kwadratów argumentów.
|
||||||
POWER = POTĘGA ## Zwraca liczbę podniesioną do potęgi.
|
SUMX2MY2 = SUMA.X2.M.Y2 ## Zwraca sumę różnic kwadratów odpowiednich wartości w dwóch tablicach.
|
||||||
PRODUCT = ILOCZYN ## Mnoży argumenty.
|
SUMX2PY2 = SUMA.X2.P.Y2 ## Zwraca sumę sum kwadratów odpowiednich wartości w dwóch tablicach.
|
||||||
QUOTIENT = QUOTIENT ## Zwraca iloraz (całkowity).
|
SUMXMY2 = SUMA.XMY.2 ## Zwraca sumę kwadratów różnic odpowiednich wartości w dwóch tablicach.
|
||||||
RADIANS = RADIANY ## Konwertuje stopnie na radiany.
|
TAN = TAN ## Zwraca tangens liczby.
|
||||||
RAND = LOS ## Zwraca liczbę pseudolosową z zakresu od 0 do 1.
|
TANH = TANH ## Zwraca tangens hiperboliczny liczby.
|
||||||
RANDBETWEEN = RANDBETWEEN ## Zwraca liczbę pseudolosową z zakresu określonego przez podane argumenty.
|
TRUNC = LICZBA.CAŁK ## Przycina liczbę do wartości całkowitej.
|
||||||
ROMAN = RZYMSKIE ## Konwertuje liczbę arabską na rzymską jako tekst.
|
|
||||||
ROUND = ZAOKR ## Zaokrągla liczbę do określonej liczby cyfr.
|
|
||||||
ROUNDDOWN = ZAOKR.DÓŁ ## Zaokrągla liczbę w dół, w kierunku zera.
|
##
|
||||||
ROUNDUP = ZAOKR.GÓRA ## Zaokrągla liczbę w górę, w kierunku od zera.
|
## Statistical functions Funkcje statystyczne
|
||||||
SERIESSUM = SERIESSUM ## Zwraca sumę szeregu potęgowego na podstawie wzoru.
|
##
|
||||||
SIGN = ZNAK.LICZBY ## Zwraca znak liczby.
|
AVEDEV = ODCH.ŚREDNIE ## Zwraca średnią wartość odchyleń absolutnych punktów danych od ich wartości średniej.
|
||||||
SIN = SIN ## Zwraca sinus danego kąta.
|
AVERAGE = ŚREDNIA ## Zwraca wartość średnią argumentów.
|
||||||
SINH = SINH ## Zwraca sinus hiperboliczny liczby.
|
AVERAGEA = ŚREDNIA.A ## Zwraca wartość średnią argumentów, z uwzględnieniem liczb, tekstów i wartości logicznych.
|
||||||
SQRT = PIERWIASTEK ## Zwraca dodatni pierwiastek kwadratowy.
|
AVERAGEIF = ŚREDNIA.JEŻELI ## Zwraca średnią (średnią arytmetyczną) wszystkich komórek w zakresie, które spełniają podane kryteria.
|
||||||
SQRTPI = SQRTPI ## Zwraca pierwiastek kwadratowy iloczynu (liczba * Pi).
|
AVERAGEIFS = ŚREDNIA.WARUNKÓW ## Zwraca średnią (średnią arytmetyczną) wszystkich komórek, które spełniają jedno lub więcej kryteriów.
|
||||||
SUBTOTAL = SUMY.POŚREDNIE ## Zwraca sumę częściową listy lub bazy danych.
|
BETADIST = ROZKŁAD.BETA ## Zwraca skumulowaną funkcję gęstości prawdopodobieństwa beta.
|
||||||
SUM = SUMA ## Dodaje argumenty.
|
BETAINV = ROZKŁAD.BETA.ODW ## Zwraca odwrotność skumulowanej funkcji gęstości prawdopodobieństwa beta.
|
||||||
SUMIF = SUMA.JEŻELI ## Dodaje komórki określone przez podane kryterium.
|
BINOMDIST = ROZKŁAD.DWUM ## Zwraca pojedynczy składnik dwumianowego rozkładu prawdopodobieństwa.
|
||||||
SUMIFS = SUMA.WARUNKÓW ## Dodaje komórki w zakresie, które spełniają wiele kryteriów.
|
CHIDIST = ROZKŁAD.CHI ## Zwraca wartość jednostronnego prawdopodobieństwa rozkładu chi-kwadrat.
|
||||||
SUMPRODUCT = SUMA.ILOCZYNÓW ## Zwraca sumę iloczynów odpowiednich elementów tablicy.
|
CHIINV = ROZKŁAD.CHI.ODW ## Zwraca odwrotność wartości jednostronnego prawdopodobieństwa rozkładu chi-kwadrat.
|
||||||
SUMSQ = SUMA.KWADRATÓW ## Zwraca sumę kwadratów argumentów.
|
CHITEST = TEST.CHI ## Zwraca test niezależności.
|
||||||
SUMX2MY2 = SUMA.X2.M.Y2 ## Zwraca sumę różnic kwadratów odpowiednich wartości w dwóch tablicach.
|
CONFIDENCE = UFNOŚĆ ## Zwraca interwał ufności dla średniej populacji.
|
||||||
SUMX2PY2 = SUMA.X2.P.Y2 ## Zwraca sumę sum kwadratów odpowiednich wartości w dwóch tablicach.
|
CORREL = WSP.KORELACJI ## Zwraca współczynnik korelacji dwóch zbiorów danych.
|
||||||
SUMXMY2 = SUMA.XMY.2 ## Zwraca sumę kwadratów różnic odpowiednich wartości w dwóch tablicach.
|
COUNT = ILE.LICZB ## Zlicza liczby znajdujące się na liście argumentów.
|
||||||
TAN = TAN ## Zwraca tangens liczby.
|
COUNTA = ILE.NIEPUSTYCH ## Zlicza wartości znajdujące się na liście argumentów.
|
||||||
TANH = TANH ## Zwraca tangens hiperboliczny liczby.
|
COUNTBLANK = LICZ.PUSTE ## Zwraca liczbę pustych komórek w pewnym zakresie.
|
||||||
TRUNC = LICZBA.CAŁK ## Przycina liczbę do wartości całkowitej.
|
COUNTIF = LICZ.JEŻELI ## Zlicza komórki wewnątrz zakresu, które spełniają podane kryteria.
|
||||||
|
COUNTIFS = LICZ.WARUNKI ## Zlicza komórki wewnątrz zakresu, które spełniają wiele kryteriów.
|
||||||
|
COVAR = KOWARIANCJA ## Zwraca kowariancję, czyli średnią wartość iloczynów odpowiednich odchyleń.
|
||||||
##
|
CRITBINOM = PRÓG.ROZKŁAD.DWUM ## Zwraca najmniejszą wartość, dla której skumulowany rozkład dwumianowy jest mniejszy niż wartość kryterium lub równy jej.
|
||||||
## Statistical functions Funkcje statystyczne
|
DEVSQ = ODCH.KWADRATOWE ## Zwraca sumę kwadratów odchyleń.
|
||||||
##
|
EXPONDIST = ROZKŁAD.EXP ## Zwraca rozkład wykładniczy.
|
||||||
AVEDEV = ODCH.ŚREDNIE ## Zwraca średnią wartość odchyleń absolutnych punktów danych od ich wartości średniej.
|
FDIST = ROZKŁAD.F ## Zwraca rozkład prawdopodobieństwa F.
|
||||||
AVERAGE = ŚREDNIA ## Zwraca wartość średnią argumentów.
|
FINV = ROZKŁAD.F.ODW ## Zwraca odwrotność rozkładu prawdopodobieństwa F.
|
||||||
AVERAGEA = ŚREDNIA.A ## Zwraca wartość średnią argumentów, z uwzględnieniem liczb, tekstów i wartości logicznych.
|
FISHER = ROZKŁAD.FISHER ## Zwraca transformację Fishera.
|
||||||
AVERAGEIF = ŚREDNIA.JEŻELI ## Zwraca średnią (średnią arytmetyczną) wszystkich komórek w zakresie, które spełniają podane kryteria.
|
FISHERINV = ROZKŁAD.FISHER.ODW ## Zwraca odwrotność transformacji Fishera.
|
||||||
AVERAGEIFS = ŚREDNIA.WARUNKÓW ## Zwraca średnią (średnią arytmetyczną) wszystkich komórek, które spełniają jedno lub więcej kryteriów.
|
FORECAST = REGLINX ## Zwraca wartość trendu liniowego.
|
||||||
BETADIST = ROZKŁAD.BETA ## Zwraca skumulowaną funkcję gęstości prawdopodobieństwa beta.
|
FREQUENCY = CZĘSTOŚĆ ## Zwraca rozkład częstotliwości jako tablicę pionową.
|
||||||
BETAINV = ROZKŁAD.BETA.ODW ## Zwraca odwrotność skumulowanej funkcji gęstości prawdopodobieństwa beta.
|
FTEST = TEST.F ## Zwraca wynik testu F.
|
||||||
BINOMDIST = ROZKŁAD.DWUM ## Zwraca pojedynczy składnik dwumianowego rozkładu prawdopodobieństwa.
|
GAMMADIST = ROZKŁAD.GAMMA ## Zwraca rozkład gamma.
|
||||||
CHIDIST = ROZKŁAD.CHI ## Zwraca wartość jednostronnego prawdopodobieństwa rozkładu chi-kwadrat.
|
GAMMAINV = ROZKŁAD.GAMMA.ODW ## Zwraca odwrotność skumulowanego rozkładu gamma.
|
||||||
CHIINV = ROZKŁAD.CHI.ODW ## Zwraca odwrotność wartości jednostronnego prawdopodobieństwa rozkładu chi-kwadrat.
|
GAMMALN = ROZKŁAD.LIN.GAMMA ## Zwraca logarytm naturalny funkcji gamma, Γ(x).
|
||||||
CHITEST = TEST.CHI ## Zwraca test niezależności.
|
GEOMEAN = ŚREDNIA.GEOMETRYCZNA ## Zwraca średnią geometryczną.
|
||||||
CONFIDENCE = UFNOŚĆ ## Zwraca interwał ufności dla średniej populacji.
|
GROWTH = REGEXPW ## Zwraca wartości trendu wykładniczego.
|
||||||
CORREL = WSP.KORELACJI ## Zwraca współczynnik korelacji dwóch zbiorów danych.
|
HARMEAN = ŚREDNIA.HARMONICZNA ## Zwraca średnią harmoniczną.
|
||||||
COUNT = ILE.LICZB ## Zlicza liczby znajdujące się na liście argumentów.
|
HYPGEOMDIST = ROZKŁAD.HIPERGEOM ## Zwraca rozkład hipergeometryczny.
|
||||||
COUNTA = ILE.NIEPUSTYCH ## Zlicza wartości znajdujące się na liście argumentów.
|
INTERCEPT = ODCIĘTA ## Zwraca punkt przecięcia osi pionowej z linią regresji liniowej.
|
||||||
COUNTBLANK = LICZ.PUSTE ## Zwraca liczbę pustych komórek w pewnym zakresie.
|
KURT = KURTOZA ## Zwraca kurtozę zbioru danych.
|
||||||
COUNTIF = LICZ.JEŻELI ## Zlicza komórki wewnątrz zakresu, które spełniają podane kryteria.
|
LARGE = MAX.K ## Zwraca k-tą największą wartość ze zbioru danych.
|
||||||
COUNTIFS = LICZ.WARUNKI ## Zlicza komórki wewnątrz zakresu, które spełniają wiele kryteriów.
|
LINEST = REGLINP ## Zwraca parametry trendu liniowego.
|
||||||
COVAR = KOWARIANCJA ## Zwraca kowariancję, czyli średnią wartość iloczynów odpowiednich odchyleń.
|
LOGEST = REGEXPP ## Zwraca parametry trendu wykładniczego.
|
||||||
CRITBINOM = PRÓG.ROZKŁAD.DWUM ## Zwraca najmniejszą wartość, dla której skumulowany rozkład dwumianowy jest mniejszy niż wartość kryterium lub równy jej.
|
LOGINV = ROZKŁAD.LOG.ODW ## Zwraca odwrotność rozkładu logarytmu naturalnego.
|
||||||
DEVSQ = ODCH.KWADRATOWE ## Zwraca sumę kwadratów odchyleń.
|
LOGNORMDIST = ROZKŁAD.LOG ## Zwraca skumulowany rozkład logarytmu naturalnego.
|
||||||
EXPONDIST = ROZKŁAD.EXP ## Zwraca rozkład wykładniczy.
|
MAX = MAX ## Zwraca maksymalną wartość listy argumentów.
|
||||||
FDIST = ROZKŁAD.F ## Zwraca rozkład prawdopodobieństwa F.
|
MAXA = MAX.A ## Zwraca maksymalną wartość listy argumentów, z uwzględnieniem liczb, tekstów i wartości logicznych.
|
||||||
FINV = ROZKŁAD.F.ODW ## Zwraca odwrotność rozkładu prawdopodobieństwa F.
|
MEDIAN = MEDIANA ## Zwraca medianę podanych liczb.
|
||||||
FISHER = ROZKŁAD.FISHER ## Zwraca transformację Fishera.
|
MIN = MIN ## Zwraca minimalną wartość listy argumentów.
|
||||||
FISHERINV = ROZKŁAD.FISHER.ODW ## Zwraca odwrotność transformacji Fishera.
|
MINA = MIN.A ## Zwraca najmniejszą wartość listy argumentów, z uwzględnieniem liczb, tekstów i wartości logicznych.
|
||||||
FORECAST = REGLINX ## Zwraca wartość trendu liniowego.
|
MODE = WYST.NAJCZĘŚCIEJ ## Zwraca wartość najczęściej występującą w zbiorze danych.
|
||||||
FREQUENCY = CZĘSTOŚĆ ## Zwraca rozkład częstotliwości jako tablicę pionową.
|
NEGBINOMDIST = ROZKŁAD.DWUM.PRZEC ## Zwraca ujemny rozkład dwumianowy.
|
||||||
FTEST = TEST.F ## Zwraca wynik testu F.
|
NORMDIST = ROZKŁAD.NORMALNY ## Zwraca rozkład normalny skumulowany.
|
||||||
GAMMADIST = ROZKŁAD.GAMMA ## Zwraca rozkład gamma.
|
NORMINV = ROZKŁAD.NORMALNY.ODW ## Zwraca odwrotność rozkładu normalnego skumulowanego.
|
||||||
GAMMAINV = ROZKŁAD.GAMMA.ODW ## Zwraca odwrotność skumulowanego rozkładu gamma.
|
NORMSDIST = ROZKŁAD.NORMALNY.S ## Zwraca standardowy rozkład normalny skumulowany.
|
||||||
GAMMALN = ROZKŁAD.LIN.GAMMA ## Zwraca logarytm naturalny funkcji gamma, Γ(x).
|
NORMSINV = ROZKŁAD.NORMALNY.S.ODW ## Zwraca odwrotność standardowego rozkładu normalnego skumulowanego.
|
||||||
GEOMEAN = ŚREDNIA.GEOMETRYCZNA ## Zwraca średnią geometryczną.
|
PEARSON = PEARSON ## Zwraca współczynnik korelacji momentu iloczynu Pearsona.
|
||||||
GROWTH = REGEXPW ## Zwraca wartości trendu wykładniczego.
|
PERCENTILE = PERCENTYL ## Wyznacza k-ty percentyl wartości w zakresie.
|
||||||
HARMEAN = ŚREDNIA.HARMONICZNA ## Zwraca średnią harmoniczną.
|
PERCENTRANK = PROCENT.POZYCJA ## Zwraca procentową pozycję wartości w zbiorze danych.
|
||||||
HYPGEOMDIST = ROZKŁAD.HIPERGEOM ## Zwraca rozkład hipergeometryczny.
|
PERMUT = PERMUTACJE ## Zwraca liczbę permutacji dla danej liczby obiektów.
|
||||||
INTERCEPT = ODCIĘTA ## Zwraca punkt przecięcia osi pionowej z linią regresji liniowej.
|
POISSON = ROZKŁAD.POISSON ## Zwraca rozkład Poissona.
|
||||||
KURT = KURTOZA ## Zwraca kurtozę zbioru danych.
|
PROB = PRAWDPD ## Zwraca prawdopodobieństwo, że wartości w zakresie leżą pomiędzy dwiema granicami.
|
||||||
LARGE = MAX.K ## Zwraca k-tą największą wartość ze zbioru danych.
|
QUARTILE = KWARTYL ## Wyznacza kwartyl zbioru danych.
|
||||||
LINEST = REGLINP ## Zwraca parametry trendu liniowego.
|
RANK = POZYCJA ## Zwraca pozycję liczby na liście liczb.
|
||||||
LOGEST = REGEXPP ## Zwraca parametry trendu wykładniczego.
|
RSQ = R.KWADRAT ## Zwraca kwadrat współczynnika korelacji momentu iloczynu Pearsona.
|
||||||
LOGINV = ROZKŁAD.LOG.ODW ## Zwraca odwrotność rozkładu logarytmu naturalnego.
|
SKEW = SKOŚNOŚĆ ## Zwraca skośność rozkładu.
|
||||||
LOGNORMDIST = ROZKŁAD.LOG ## Zwraca skumulowany rozkład logarytmu naturalnego.
|
SLOPE = NACHYLENIE ## Zwraca nachylenie linii regresji liniowej.
|
||||||
MAX = MAX ## Zwraca maksymalną wartość listy argumentów.
|
SMALL = MIN.K ## Zwraca k-tą najmniejszą wartość ze zbioru danych.
|
||||||
MAXA = MAX.A ## Zwraca maksymalną wartość listy argumentów, z uwzględnieniem liczb, tekstów i wartości logicznych.
|
STANDARDIZE = NORMALIZUJ ## Zwraca wartość znormalizowaną.
|
||||||
MEDIAN = MEDIANA ## Zwraca medianę podanych liczb.
|
STDEV = ODCH.STANDARDOWE ## Szacuje odchylenie standardowe na podstawie próbki.
|
||||||
MIN = MIN ## Zwraca minimalną wartość listy argumentów.
|
STDEVA = ODCH.STANDARDOWE.A ## Szacuje odchylenie standardowe na podstawie próbki, z uwzględnieniem liczb, tekstów i wartości logicznych.
|
||||||
MINA = MIN.A ## Zwraca najmniejszą wartość listy argumentów, z uwzględnieniem liczb, tekstów i wartości logicznych.
|
STDEVP = ODCH.STANDARD.POPUL ## Oblicza odchylenie standardowe na podstawie całej populacji.
|
||||||
MODE = WYST.NAJCZĘŚCIEJ ## Zwraca wartość najczęściej występującą w zbiorze danych.
|
STDEVPA = ODCH.STANDARD.POPUL.A ## Oblicza odchylenie standardowe na podstawie całej populacji, z uwzględnieniem liczb, teksów i wartości logicznych.
|
||||||
NEGBINOMDIST = ROZKŁAD.DWUM.PRZEC ## Zwraca ujemny rozkład dwumianowy.
|
STEYX = REGBŁSTD ## Zwraca błąd standardowy przewidzianej wartości y dla każdej wartości x w regresji.
|
||||||
NORMDIST = ROZKŁAD.NORMALNY ## Zwraca rozkład normalny skumulowany.
|
TDIST = ROZKŁAD.T ## Zwraca rozkład t-Studenta.
|
||||||
NORMINV = ROZKŁAD.NORMALNY.ODW ## Zwraca odwrotność rozkładu normalnego skumulowanego.
|
TINV = ROZKŁAD.T.ODW ## Zwraca odwrotność rozkładu t-Studenta.
|
||||||
NORMSDIST = ROZKŁAD.NORMALNY.S ## Zwraca standardowy rozkład normalny skumulowany.
|
TREND = REGLINW ## Zwraca wartości trendu liniowego.
|
||||||
NORMSINV = ROZKŁAD.NORMALNY.S.ODW ## Zwraca odwrotność standardowego rozkładu normalnego skumulowanego.
|
TRIMMEAN = ŚREDNIA.WEWN ## Zwraca średnią wartość dla wnętrza zbioru danych.
|
||||||
PEARSON = PEARSON ## Zwraca współczynnik korelacji momentu iloczynu Pearsona.
|
TTEST = TEST.T ## Zwraca prawdopodobieństwo związane z testem t-Studenta.
|
||||||
PERCENTILE = PERCENTYL ## Wyznacza k-ty percentyl wartości w zakresie.
|
VAR = WARIANCJA ## Szacuje wariancję na podstawie próbki.
|
||||||
PERCENTRANK = PROCENT.POZYCJA ## Zwraca procentową pozycję wartości w zbiorze danych.
|
VARA = WARIANCJA.A ## Szacuje wariancję na podstawie próbki, z uwzględnieniem liczb, tekstów i wartości logicznych.
|
||||||
PERMUT = PERMUTACJE ## Zwraca liczbę permutacji dla danej liczby obiektów.
|
VARP = WARIANCJA.POPUL ## Oblicza wariancję na podstawie całej populacji.
|
||||||
POISSON = ROZKŁAD.POISSON ## Zwraca rozkład Poissona.
|
VARPA = WARIANCJA.POPUL.A ## Oblicza wariancję na podstawie całej populacji, z uwzględnieniem liczb, tekstów i wartości logicznych.
|
||||||
PROB = PRAWDPD ## Zwraca prawdopodobieństwo, że wartości w zakresie leżą pomiędzy dwiema granicami.
|
WEIBULL = ROZKŁAD.WEIBULL ## Zwraca rozkład Weibulla.
|
||||||
QUARTILE = KWARTYL ## Wyznacza kwartyl zbioru danych.
|
ZTEST = TEST.Z ## Zwraca wartość jednostronnego prawdopodobieństwa testu z.
|
||||||
RANK = POZYCJA ## Zwraca pozycję liczby na liście liczb.
|
|
||||||
RSQ = R.KWADRAT ## Zwraca kwadrat współczynnika korelacji momentu iloczynu Pearsona.
|
|
||||||
SKEW = SKOŚNOŚĆ ## Zwraca skośność rozkładu.
|
##
|
||||||
SLOPE = NACHYLENIE ## Zwraca nachylenie linii regresji liniowej.
|
## Text functions Funkcje tekstowe
|
||||||
SMALL = MIN.K ## Zwraca k-tą najmniejszą wartość ze zbioru danych.
|
##
|
||||||
STANDARDIZE = NORMALIZUJ ## Zwraca wartość znormalizowaną.
|
ASC = ASC ## Zamienia litery angielskie lub katakana o pełnej szerokości (dwubajtowe) w ciągu znaków na znaki o szerokości połówkowej (jednobajtowe).
|
||||||
STDEV = ODCH.STANDARDOWE ## Szacuje odchylenie standardowe na podstawie próbki.
|
BAHTTEXT = BAHTTEXT ## Konwertuje liczbę na tekst, stosując format walutowy ß (baht).
|
||||||
STDEVA = ODCH.STANDARDOWE.A ## Szacuje odchylenie standardowe na podstawie próbki, z uwzględnieniem liczb, tekstów i wartości logicznych.
|
CHAR = ZNAK ## Zwraca znak o podanym numerze kodu.
|
||||||
STDEVP = ODCH.STANDARD.POPUL ## Oblicza odchylenie standardowe na podstawie całej populacji.
|
CLEAN = OCZYŚĆ ## Usuwa z tekstu wszystkie znaki, które nie mogą być drukowane.
|
||||||
STDEVPA = ODCH.STANDARD.POPUL.A ## Oblicza odchylenie standardowe na podstawie całej populacji, z uwzględnieniem liczb, teksów i wartości logicznych.
|
CODE = KOD ## Zwraca kod numeryczny pierwszego znaku w ciągu tekstowym.
|
||||||
STEYX = REGBŁSTD ## Zwraca błąd standardowy przewidzianej wartości y dla każdej wartości x w regresji.
|
CONCATENATE = ZŁĄCZ.TEKSTY ## Łączy kilka oddzielnych tekstów w jeden tekst.
|
||||||
TDIST = ROZKŁAD.T ## Zwraca rozkład t-Studenta.
|
DOLLAR = KWOTA ## Konwertuje liczbę na tekst, stosując format walutowy $ (dolar).
|
||||||
TINV = ROZKŁAD.T.ODW ## Zwraca odwrotność rozkładu t-Studenta.
|
EXACT = PORÓWNAJ ## Sprawdza identyczność dwóch wartości tekstowych.
|
||||||
TREND = REGLINW ## Zwraca wartości trendu liniowego.
|
FIND = ZNAJDŹ ## Znajduje jedną wartość tekstową wewnątrz innej (z uwzględnieniem wielkich i małych liter).
|
||||||
TRIMMEAN = ŚREDNIA.WEWN ## Zwraca średnią wartość dla wnętrza zbioru danych.
|
FINDB = ZNAJDŹB ## Znajduje jedną wartość tekstową wewnątrz innej (z uwzględnieniem wielkich i małych liter).
|
||||||
TTEST = TEST.T ## Zwraca prawdopodobieństwo związane z testem t-Studenta.
|
FIXED = ZAOKR.DO.TEKST ## Formatuje liczbę jako tekst przy stałej liczbie miejsc dziesiętnych.
|
||||||
VAR = WARIANCJA ## Szacuje wariancję na podstawie próbki.
|
JIS = JIS ## Zmienia litery angielskie lub katakana o szerokości połówkowej (jednobajtowe) w ciągu znaków na znaki o pełnej szerokości (dwubajtowe).
|
||||||
VARA = WARIANCJA.A ## Szacuje wariancję na podstawie próbki, z uwzględnieniem liczb, tekstów i wartości logicznych.
|
LEFT = LEWY ## Zwraca skrajne lewe znaki z wartości tekstowej.
|
||||||
VARP = WARIANCJA.POPUL ## Oblicza wariancję na podstawie całej populacji.
|
LEFTB = LEWYB ## Zwraca skrajne lewe znaki z wartości tekstowej.
|
||||||
VARPA = WARIANCJA.POPUL.A ## Oblicza wariancję na podstawie całej populacji, z uwzględnieniem liczb, tekstów i wartości logicznych.
|
LEN = DŁ ## Zwraca liczbę znaków ciągu tekstowego.
|
||||||
WEIBULL = ROZKŁAD.WEIBULL ## Zwraca rozkład Weibulla.
|
LENB = DŁ.B ## Zwraca liczbę znaków ciągu tekstowego.
|
||||||
ZTEST = TEST.Z ## Zwraca wartość jednostronnego prawdopodobieństwa testu z.
|
LOWER = LITERY.MAŁE ## Konwertuje wielkie litery tekstu na małe litery.
|
||||||
|
MID = FRAGMENT.TEKSTU ## Zwraca określoną liczbę znaków z ciągu tekstowego, zaczynając od zadanej pozycji.
|
||||||
|
MIDB = FRAGMENT.TEKSTU.B ## Zwraca określoną liczbę znaków z ciągu tekstowego, zaczynając od zadanej pozycji.
|
||||||
##
|
PHONETIC = PHONETIC ## Wybiera znaki fonetyczne (furigana) z ciągu tekstowego.
|
||||||
## Text functions Funkcje tekstowe
|
PROPER = Z.WIELKIEJ.LITERY ## Zastępuje pierwszą literę każdego wyrazu tekstu wielką literą.
|
||||||
##
|
REPLACE = ZASTĄP ## Zastępuje znaki w tekście.
|
||||||
ASC = ASC ## Zamienia litery angielskie lub katakana o pełnej szerokości (dwubajtowe) w ciągu znaków na znaki o szerokości połówkowej (jednobajtowe).
|
REPLACEB = ZASTĄP.B ## Zastępuje znaki w tekście.
|
||||||
BAHTTEXT = BAHTTEXT ## Konwertuje liczbę na tekst, stosując format walutowy ß (baht).
|
REPT = POWT ## Powiela tekst daną liczbę razy.
|
||||||
CHAR = ZNAK ## Zwraca znak o podanym numerze kodu.
|
RIGHT = PRAWY ## Zwraca skrajne prawe znaki z wartości tekstowej.
|
||||||
CLEAN = OCZYŚĆ ## Usuwa z tekstu wszystkie znaki, które nie mogą być drukowane.
|
RIGHTB = PRAWYB ## Zwraca skrajne prawe znaki z wartości tekstowej.
|
||||||
CODE = KOD ## Zwraca kod numeryczny pierwszego znaku w ciągu tekstowym.
|
SEARCH = SZUKAJ.TEKST ## Wyszukuje jedną wartość tekstową wewnątrz innej (bez uwzględniania wielkości liter).
|
||||||
CONCATENATE = ZŁĄCZ.TEKSTY ## Łączy kilka oddzielnych tekstów w jeden tekst.
|
SEARCHB = SZUKAJ.TEKST.B ## Wyszukuje jedną wartość tekstową wewnątrz innej (bez uwzględniania wielkości liter).
|
||||||
DOLLAR = KWOTA ## Konwertuje liczbę na tekst, stosując format walutowy $ (dolar).
|
SUBSTITUTE = PODSTAW ## Podstawia nowy tekst w miejsce poprzedniego tekstu w ciągu tekstowym.
|
||||||
EXACT = PORÓWNAJ ## Sprawdza identyczność dwóch wartości tekstowych.
|
T = T ## Konwertuje argumenty na tekst.
|
||||||
FIND = ZNAJDŹ ## Znajduje jedną wartość tekstową wewnątrz innej (z uwzględnieniem wielkich i małych liter).
|
TEXT = TEKST ## Formatuje liczbę i konwertuje ją na tekst.
|
||||||
FINDB = ZNAJDŹB ## Znajduje jedną wartość tekstową wewnątrz innej (z uwzględnieniem wielkich i małych liter).
|
TRIM = USUŃ.ZBĘDNE.ODSTĘPY ## Usuwa spacje z tekstu.
|
||||||
FIXED = ZAOKR.DO.TEKST ## Formatuje liczbę jako tekst przy stałej liczbie miejsc dziesiętnych.
|
UPPER = LITERY.WIELKIE ## Konwertuje znaki tekstu na wielkie litery.
|
||||||
JIS = JIS ## Zmienia litery angielskie lub katakana o szerokości połówkowej (jednobajtowe) w ciągu znaków na znaki o pełnej szerokości (dwubajtowe).
|
VALUE = WARTOŚĆ ## Konwertuje argument tekstowy na liczbę.
|
||||||
LEFT = LEWY ## Zwraca skrajne lewe znaki z wartości tekstowej.
|
|
||||||
LEFTB = LEWYB ## Zwraca skrajne lewe znaki z wartości tekstowej.
|
|
||||||
LEN = DŁ ## Zwraca liczbę znaków ciągu tekstowego.
|
|
||||||
LENB = DŁ.B ## Zwraca liczbę znaków ciągu tekstowego.
|
|
||||||
LOWER = LITERY.MAŁE ## Konwertuje wielkie litery tekstu na małe litery.
|
|
||||||
MID = FRAGMENT.TEKSTU ## Zwraca określoną liczbę znaków z ciągu tekstowego, zaczynając od zadanej pozycji.
|
|
||||||
MIDB = FRAGMENT.TEKSTU.B ## Zwraca określoną liczbę znaków z ciągu tekstowego, zaczynając od zadanej pozycji.
|
|
||||||
PHONETIC = PHONETIC ## Wybiera znaki fonetyczne (furigana) z ciągu tekstowego.
|
|
||||||
PROPER = Z.WIELKIEJ.LITERY ## Zastępuje pierwszą literę każdego wyrazu tekstu wielką literą.
|
|
||||||
REPLACE = ZASTĄP ## Zastępuje znaki w tekście.
|
|
||||||
REPLACEB = ZASTĄP.B ## Zastępuje znaki w tekście.
|
|
||||||
REPT = POWT ## Powiela tekst daną liczbę razy.
|
|
||||||
RIGHT = PRAWY ## Zwraca skrajne prawe znaki z wartości tekstowej.
|
|
||||||
RIGHTB = PRAWYB ## Zwraca skrajne prawe znaki z wartości tekstowej.
|
|
||||||
SEARCH = SZUKAJ.TEKST ## Wyszukuje jedną wartość tekstową wewnątrz innej (bez uwzględniania wielkości liter).
|
|
||||||
SEARCHB = SZUKAJ.TEKST.B ## Wyszukuje jedną wartość tekstową wewnątrz innej (bez uwzględniania wielkości liter).
|
|
||||||
SUBSTITUTE = PODSTAW ## Podstawia nowy tekst w miejsce poprzedniego tekstu w ciągu tekstowym.
|
|
||||||
T = T ## Konwertuje argumenty na tekst.
|
|
||||||
TEXT = TEKST ## Formatuje liczbę i konwertuje ją na tekst.
|
|
||||||
TRIM = USUŃ.ZBĘDNE.ODSTĘPY ## Usuwa spacje z tekstu.
|
|
||||||
UPPER = LITERY.WIELKIE ## Konwertuje znaki tekstu na wielkie litery.
|
|
||||||
VALUE = WARTOŚĆ ## Konwertuje argument tekstowy na liczbę.
|
|
||||||
24
PhpOffice/PhpSpreadsheet/Calculation/locale/pt/br/config
Normal file
24
PhpOffice/PhpSpreadsheet/Calculation/locale/pt/br/config
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
##
|
||||||
|
## PhpSpreadsheet
|
||||||
|
##
|
||||||
|
|
||||||
|
ArgumentSeparator = ;
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## (For future use)
|
||||||
|
##
|
||||||
|
currencySymbol = R$
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## Excel Error Codes (For future use)
|
||||||
|
|
||||||
|
##
|
||||||
|
NULL = #NULO!
|
||||||
|
DIV0 = #DIV/0!
|
||||||
|
VALUE = #VALOR!
|
||||||
|
REF = #REF!
|
||||||
|
NAME = #NOME?
|
||||||
|
NUM = #NÚM!
|
||||||
|
NA = #N/D
|
||||||
24
PhpOffice/PhpSpreadsheet/Calculation/locale/pt/config
Normal file
24
PhpOffice/PhpSpreadsheet/Calculation/locale/pt/config
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
##
|
||||||
|
## PhpSpreadsheet
|
||||||
|
##
|
||||||
|
|
||||||
|
ArgumentSeparator = ;
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## (For future use)
|
||||||
|
##
|
||||||
|
currencySymbol = €
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## Excel Error Codes (For future use)
|
||||||
|
|
||||||
|
##
|
||||||
|
NULL = #NULO!
|
||||||
|
DIV0 = #DIV/0!
|
||||||
|
VALUE = #VALOR!
|
||||||
|
REF = #REF!
|
||||||
|
NAME = #NOME?
|
||||||
|
NUM = #NÚM!
|
||||||
|
NA = #N/D
|
||||||
24
PhpOffice/PhpSpreadsheet/Calculation/locale/ru/config
Normal file
24
PhpOffice/PhpSpreadsheet/Calculation/locale/ru/config
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
##
|
||||||
|
## PhpSpreadsheet
|
||||||
|
##
|
||||||
|
|
||||||
|
ArgumentSeparator = ;
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## (For future use)
|
||||||
|
##
|
||||||
|
currencySymbol = р
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## Excel Error Codes (For future use)
|
||||||
|
|
||||||
|
##
|
||||||
|
NULL = #ПУСТО!
|
||||||
|
DIV0 = #ДЕЛ/0!
|
||||||
|
VALUE = #ЗНАЧ!
|
||||||
|
REF = #ССЫЛ!
|
||||||
|
NAME = #ИМЯ?
|
||||||
|
NUM = #ЧИСЛО!
|
||||||
|
NA = #Н/Д
|
||||||
416
PhpOffice/PhpSpreadsheet/Calculation/locale/ru/functions
Normal file
416
PhpOffice/PhpSpreadsheet/Calculation/locale/ru/functions
Normal file
|
|
@ -0,0 +1,416 @@
|
||||||
|
##
|
||||||
|
## PhpSpreadsheet
|
||||||
|
##
|
||||||
|
## Data in this file derived from information provided by web-junior (http://www.web-junior.net/)
|
||||||
|
##
|
||||||
|
##
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## Add-in and Automation functions Функции надстроек и автоматизации
|
||||||
|
##
|
||||||
|
GETPIVOTDATA = ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ ## Возвращает данные, хранящиеся в отчете сводной таблицы.
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## Cube functions Функции Куб
|
||||||
|
##
|
||||||
|
CUBEKPIMEMBER = КУБЭЛЕМЕНТКИП ## Возвращает свойство ключевого индикатора производительности «(КИП)» и отображает имя «КИП» в ячейке. «КИП» представляет собой количественную величину, такую как ежемесячная валовая прибыль или ежеквартальная текучесть кадров, используемой для контроля эффективности работы организации.
|
||||||
|
CUBEMEMBER = КУБЭЛЕМЕНТ ## Возвращает элемент или кортеж из куба. Используется для проверки существования элемента или кортежа в кубе.
|
||||||
|
CUBEMEMBERPROPERTY = КУБСВОЙСТВОЭЛЕМЕНТА ## Возвращает значение свойства элемента из куба. Используется для проверки существования имени элемента в кубе и возвращает указанное свойство для этого элемента.
|
||||||
|
CUBERANKEDMEMBER = КУБПОРЭЛЕМЕНТ ## Возвращает n-ый или ранжированный элемент в множество. Используется для возвращения одного или нескольких элементов в множество, например, лучшего продавца или 10 лучших студентов.
|
||||||
|
CUBESET = КУБМНОЖ ## Определяет вычислительное множество элементов или кортежей, отправляя на сервер выражение, которое создает множество, а затем возвращает его в Microsoft Office Excel.
|
||||||
|
CUBESETCOUNT = КУБЧИСЛОЭЛМНОЖ ## Возвращает число элементов множества.
|
||||||
|
CUBEVALUE = КУБЗНАЧЕНИЕ ## Возвращает обобщенное значение из куба.
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## Database functions Функции для работы с базами данных
|
||||||
|
##
|
||||||
|
DAVERAGE = ДСРЗНАЧ ## Возвращает среднее значение выбранных записей базы данных.
|
||||||
|
DCOUNT = БСЧЁТ ## Подсчитывает количество числовых ячеек в базе данных.
|
||||||
|
DCOUNTA = БСЧЁТА ## Подсчитывает количество непустых ячеек в базе данных.
|
||||||
|
DGET = БИЗВЛЕЧЬ ## Извлекает из базы данных одну запись, удовлетворяющую заданному условию.
|
||||||
|
DMAX = ДМАКС ## Возвращает максимальное значение среди выделенных записей базы данных.
|
||||||
|
DMIN = ДМИН ## Возвращает минимальное значение среди выделенных записей базы данных.
|
||||||
|
DPRODUCT = БДПРОИЗВЕД ## Перемножает значения определенного поля в записях базы данных, удовлетворяющих условию.
|
||||||
|
DSTDEV = ДСТАНДОТКЛ ## Оценивает стандартное отклонение по выборке для выделенных записей базы данных.
|
||||||
|
DSTDEVP = ДСТАНДОТКЛП ## Вычисляет стандартное отклонение по генеральной совокупности для выделенных записей базы данных
|
||||||
|
DSUM = БДСУММ ## Суммирует числа в поле для записей базы данных, удовлетворяющих условию.
|
||||||
|
DVAR = БДДИСП ## Оценивает дисперсию по выборке из выделенных записей базы данных
|
||||||
|
DVARP = БДДИСПП ## Вычисляет дисперсию по генеральной совокупности для выделенных записей базы данных
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## Date and time functions Функции даты и времени
|
||||||
|
##
|
||||||
|
DATE = ДАТА ## Возвращает заданную дату в числовом формате.
|
||||||
|
DATEVALUE = ДАТАЗНАЧ ## Преобразует дату из текстового формата в числовой формат.
|
||||||
|
DAY = ДЕНЬ ## Преобразует дату в числовом формате в день месяца.
|
||||||
|
DAYS360 = ДНЕЙ360 ## Вычисляет количество дней между двумя датами на основе 360-дневного года.
|
||||||
|
EDATE = ДАТАМЕС ## Возвращает дату в числовом формате, отстоящую на заданное число месяцев вперед или назад от начальной даты.
|
||||||
|
EOMONTH = КОНМЕСЯЦА ## Возвращает дату в числовом формате для последнего дня месяца, отстоящего вперед или назад на заданное число месяцев.
|
||||||
|
HOUR = ЧАС ## Преобразует дату в числовом формате в часы.
|
||||||
|
MINUTE = МИНУТЫ ## Преобразует дату в числовом формате в минуты.
|
||||||
|
MONTH = МЕСЯЦ ## Преобразует дату в числовом формате в месяцы.
|
||||||
|
NETWORKDAYS = ЧИСТРАБДНИ ## Возвращает количество рабочих дней между двумя датами.
|
||||||
|
NOW = ТДАТА ## Возвращает текущую дату и время в числовом формате.
|
||||||
|
SECOND = СЕКУНДЫ ## Преобразует дату в числовом формате в секунды.
|
||||||
|
TIME = ВРЕМЯ ## Возвращает заданное время в числовом формате.
|
||||||
|
TIMEVALUE = ВРЕМЗНАЧ ## Преобразует время из текстового формата в числовой формат.
|
||||||
|
TODAY = СЕГОДНЯ ## Возвращает текущую дату в числовом формате.
|
||||||
|
WEEKDAY = ДЕНЬНЕД ## Преобразует дату в числовом формате в день недели.
|
||||||
|
WEEKNUM = НОМНЕДЕЛИ ## Преобразует числовое представление в число, которое указывает, на какую неделю года приходится указанная дата.
|
||||||
|
WORKDAY = РАБДЕНЬ ## Возвращает дату в числовом формате, отстоящую вперед или назад на заданное количество рабочих дней.
|
||||||
|
YEAR = ГОД ## Преобразует дату в числовом формате в год.
|
||||||
|
YEARFRAC = ДОЛЯГОДА ## Возвращает долю года, которую составляет количество дней между начальной и конечной датами.
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## Engineering functions Инженерные функции
|
||||||
|
##
|
||||||
|
BESSELI = БЕССЕЛЬ.I ## Возвращает модифицированную функцию Бесселя In(x).
|
||||||
|
BESSELJ = БЕССЕЛЬ.J ## Возвращает функцию Бесселя Jn(x).
|
||||||
|
BESSELK = БЕССЕЛЬ.K ## Возвращает модифицированную функцию Бесселя Kn(x).
|
||||||
|
BESSELY = БЕССЕЛЬ.Y ## Возвращает функцию Бесселя Yn(x).
|
||||||
|
BIN2DEC = ДВ.В.ДЕС ## Преобразует двоичное число в десятичное.
|
||||||
|
BIN2HEX = ДВ.В.ШЕСТН ## Преобразует двоичное число в шестнадцатеричное.
|
||||||
|
BIN2OCT = ДВ.В.ВОСЬМ ## Преобразует двоичное число в восьмеричное.
|
||||||
|
COMPLEX = КОМПЛЕКСН ## Преобразует коэффициенты при вещественной и мнимой частях комплексного числа в комплексное число.
|
||||||
|
CONVERT = ПРЕОБР ## Преобразует число из одной системы единиц измерения в другую.
|
||||||
|
DEC2BIN = ДЕС.В.ДВ ## Преобразует десятичное число в двоичное.
|
||||||
|
DEC2HEX = ДЕС.В.ШЕСТН ## Преобразует десятичное число в шестнадцатеричное.
|
||||||
|
DEC2OCT = ДЕС.В.ВОСЬМ ## Преобразует десятичное число в восьмеричное.
|
||||||
|
DELTA = ДЕЛЬТА ## Проверяет равенство двух значений.
|
||||||
|
ERF = ФОШ ## Возвращает функцию ошибки.
|
||||||
|
ERFC = ДФОШ ## Возвращает дополнительную функцию ошибки.
|
||||||
|
GESTEP = ПОРОГ ## Проверяет, не превышает ли данное число порогового значения.
|
||||||
|
HEX2BIN = ШЕСТН.В.ДВ ## Преобразует шестнадцатеричное число в двоичное.
|
||||||
|
HEX2DEC = ШЕСТН.В.ДЕС ## Преобразует шестнадцатеричное число в десятичное.
|
||||||
|
HEX2OCT = ШЕСТН.В.ВОСЬМ ## Преобразует шестнадцатеричное число в восьмеричное.
|
||||||
|
IMABS = МНИМ.ABS ## Возвращает абсолютную величину (модуль) комплексного числа.
|
||||||
|
IMAGINARY = МНИМ.ЧАСТЬ ## Возвращает коэффициент при мнимой части комплексного числа.
|
||||||
|
IMARGUMENT = МНИМ.АРГУМЕНТ ## Возвращает значение аргумента комплексного числа (тета) — угол, выраженный в радианах.
|
||||||
|
IMCONJUGATE = МНИМ.СОПРЯЖ ## Возвращает комплексно-сопряженное комплексное число.
|
||||||
|
IMCOS = МНИМ.COS ## Возвращает косинус комплексного числа.
|
||||||
|
IMDIV = МНИМ.ДЕЛ ## Возвращает частное от деления двух комплексных чисел.
|
||||||
|
IMEXP = МНИМ.EXP ## Возвращает экспоненту комплексного числа.
|
||||||
|
IMLN = МНИМ.LN ## Возвращает натуральный логарифм комплексного числа.
|
||||||
|
IMLOG10 = МНИМ.LOG10 ## Возвращает обычный (десятичный) логарифм комплексного числа.
|
||||||
|
IMLOG2 = МНИМ.LOG2 ## Возвращает двоичный логарифм комплексного числа.
|
||||||
|
IMPOWER = МНИМ.СТЕПЕНЬ ## Возвращает комплексное число, возведенное в целую степень.
|
||||||
|
IMPRODUCT = МНИМ.ПРОИЗВЕД ## Возвращает произведение от 2 до 29 комплексных чисел.
|
||||||
|
IMREAL = МНИМ.ВЕЩ ## Возвращает коэффициент при вещественной части комплексного числа.
|
||||||
|
IMSIN = МНИМ.SIN ## Возвращает синус комплексного числа.
|
||||||
|
IMSQRT = МНИМ.КОРЕНЬ ## Возвращает значение квадратного корня из комплексного числа.
|
||||||
|
IMSUB = МНИМ.РАЗН ## Возвращает разность двух комплексных чисел.
|
||||||
|
IMSUM = МНИМ.СУММ ## Возвращает сумму комплексных чисел.
|
||||||
|
OCT2BIN = ВОСЬМ.В.ДВ ## Преобразует восьмеричное число в двоичное.
|
||||||
|
OCT2DEC = ВОСЬМ.В.ДЕС ## Преобразует восьмеричное число в десятичное.
|
||||||
|
OCT2HEX = ВОСЬМ.В.ШЕСТН ## Преобразует восьмеричное число в шестнадцатеричное.
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## Financial functions Финансовые функции
|
||||||
|
##
|
||||||
|
ACCRINT = НАКОПДОХОД ## Возвращает накопленный процент по ценным бумагам с периодической выплатой процентов.
|
||||||
|
ACCRINTM = НАКОПДОХОДПОГАШ ## Возвращает накопленный процент по ценным бумагам, проценты по которым выплачиваются в срок погашения.
|
||||||
|
AMORDEGRC = АМОРУМ ## Возвращает величину амортизации для каждого периода, используя коэффициент амортизации.
|
||||||
|
AMORLINC = АМОРУВ ## Возвращает величину амортизации для каждого периода.
|
||||||
|
COUPDAYBS = ДНЕЙКУПОНДО ## Возвращает количество дней от начала действия купона до даты соглашения.
|
||||||
|
COUPDAYS = ДНЕЙКУПОН ## Возвращает число дней в периоде купона, содержащем дату соглашения.
|
||||||
|
COUPDAYSNC = ДНЕЙКУПОНПОСЛЕ ## Возвращает число дней от даты соглашения до срока следующего купона.
|
||||||
|
COUPNCD = ДАТАКУПОНПОСЛЕ ## Возвращает следующую дату купона после даты соглашения.
|
||||||
|
COUPNUM = ЧИСЛКУПОН ## Возвращает количество купонов, которые могут быть оплачены между датой соглашения и сроком вступления в силу.
|
||||||
|
COUPPCD = ДАТАКУПОНДО ## Возвращает предыдущую дату купона перед датой соглашения.
|
||||||
|
CUMIPMT = ОБЩПЛАТ ## Возвращает общую выплату, произведенную между двумя периодическими выплатами.
|
||||||
|
CUMPRINC = ОБЩДОХОД ## Возвращает общую выплату по займу между двумя периодами.
|
||||||
|
DB = ФУО ## Возвращает величину амортизации актива для заданного периода, рассчитанную методом фиксированного уменьшения остатка.
|
||||||
|
DDB = ДДОБ ## Возвращает величину амортизации актива за данный период, используя метод двойного уменьшения остатка или иной явно указанный метод.
|
||||||
|
DISC = СКИДКА ## Возвращает норму скидки для ценных бумаг.
|
||||||
|
DOLLARDE = РУБЛЬ.ДЕС ## Преобразует цену в рублях, выраженную в виде дроби, в цену в рублях, выраженную десятичным числом.
|
||||||
|
DOLLARFR = РУБЛЬ.ДРОБЬ ## Преобразует цену в рублях, выраженную десятичным числом, в цену в рублях, выраженную в виде дроби.
|
||||||
|
DURATION = ДЛИТ ## Возвращает ежегодную продолжительность действия ценных бумаг с периодическими выплатами по процентам.
|
||||||
|
EFFECT = ЭФФЕКТ ## Возвращает действующие ежегодные процентные ставки.
|
||||||
|
FV = БС ## Возвращает будущую стоимость инвестиции.
|
||||||
|
FVSCHEDULE = БЗРАСПИС ## Возвращает будущую стоимость первоначальной основной суммы после начисления ряда сложных процентов.
|
||||||
|
INTRATE = ИНОРМА ## Возвращает процентную ставку для полностью инвестированных ценных бумаг.
|
||||||
|
IPMT = ПРПЛТ ## Возвращает величину выплаты прибыли на вложения за данный период.
|
||||||
|
IRR = ВСД ## Возвращает внутреннюю ставку доходности для ряда потоков денежных средств.
|
||||||
|
ISPMT = ПРОЦПЛАТ ## Вычисляет выплаты за указанный период инвестиции.
|
||||||
|
MDURATION = МДЛИТ ## Возвращает модифицированную длительность Маколея для ценных бумаг с предполагаемой номинальной стоимостью 100 рублей.
|
||||||
|
MIRR = МВСД ## Возвращает внутреннюю ставку доходности, при которой положительные и отрицательные денежные потоки имеют разные значения ставки.
|
||||||
|
NOMINAL = НОМИНАЛ ## Возвращает номинальную годовую процентную ставку.
|
||||||
|
NPER = КПЕР ## Возвращает общее количество периодов выплаты для данного вклада.
|
||||||
|
NPV = ЧПС ## Возвращает чистую приведенную стоимость инвестиции, основанной на серии периодических денежных потоков и ставке дисконтирования.
|
||||||
|
ODDFPRICE = ЦЕНАПЕРВНЕРЕГ ## Возвращает цену за 100 рублей нарицательной стоимости ценных бумаг с нерегулярным первым периодом.
|
||||||
|
ODDFYIELD = ДОХОДПЕРВНЕРЕГ ## Возвращает доход по ценным бумагам с нерегулярным первым периодом.
|
||||||
|
ODDLPRICE = ЦЕНАПОСЛНЕРЕГ ## Возвращает цену за 100 рублей нарицательной стоимости ценных бумаг с нерегулярным последним периодом.
|
||||||
|
ODDLYIELD = ДОХОДПОСЛНЕРЕГ ## Возвращает доход по ценным бумагам с нерегулярным последним периодом.
|
||||||
|
PMT = ПЛТ ## Возвращает величину выплаты за один период аннуитета.
|
||||||
|
PPMT = ОСПЛТ ## Возвращает величину выплат в погашение основной суммы по инвестиции за заданный период.
|
||||||
|
PRICE = ЦЕНА ## Возвращает цену за 100 рублей нарицательной стоимости ценных бумаг, по которым производится периодическая выплата процентов.
|
||||||
|
PRICEDISC = ЦЕНАСКИДКА ## Возвращает цену за 100 рублей номинальной стоимости ценных бумаг, на которые сделана скидка.
|
||||||
|
PRICEMAT = ЦЕНАПОГАШ ## Возвращает цену за 100 рублей номинальной стоимости ценных бумаг, проценты по которым выплачиваются в срок погашения.
|
||||||
|
PV = ПС ## Возвращает приведенную (к текущему моменту) стоимость инвестиции.
|
||||||
|
RATE = СТАВКА ## Возвращает процентную ставку по аннуитету за один период.
|
||||||
|
RECEIVED = ПОЛУЧЕНО ## Возвращает сумму, полученную к сроку погашения полностью обеспеченных ценных бумаг.
|
||||||
|
SLN = АПЛ ## Возвращает величину линейной амортизации актива за один период.
|
||||||
|
SYD = АСЧ ## Возвращает величину амортизации актива за данный период, рассчитанную методом суммы годовых чисел.
|
||||||
|
TBILLEQ = РАВНОКЧЕК ## Возвращает эквивалентный облигации доход по казначейскому чеку.
|
||||||
|
TBILLPRICE = ЦЕНАКЧЕК ## Возвращает цену за 100 рублей нарицательной стоимости для казначейского чека.
|
||||||
|
TBILLYIELD = ДОХОДКЧЕК ## Возвращает доход по казначейскому чеку.
|
||||||
|
VDB = ПУО ## Возвращает величину амортизации актива для указанного или частичного периода при использовании метода сокращающегося баланса.
|
||||||
|
XIRR = ЧИСТВНДОХ ## Возвращает внутреннюю ставку доходности для графика денежных потоков, которые не обязательно носят периодический характер.
|
||||||
|
XNPV = ЧИСТНЗ ## Возвращает чистую приведенную стоимость для денежных потоков, которые не обязательно являются периодическими.
|
||||||
|
YIELD = ДОХОД ## Возвращает доход от ценных бумаг, по которым производятся периодические выплаты процентов.
|
||||||
|
YIELDDISC = ДОХОДСКИДКА ## Возвращает годовой доход по ценным бумагам, на которые сделана скидка (пример — казначейские чеки).
|
||||||
|
YIELDMAT = ДОХОДПОГАШ ## Возвращает годовой доход от ценных бумаг, проценты по которым выплачиваются в срок погашения.
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## Information functions Информационные функции
|
||||||
|
##
|
||||||
|
CELL = ЯЧЕЙКА ## Возвращает информацию о формате, расположении или содержимом ячейки.
|
||||||
|
ERROR.TYPE = ТИП.ОШИБКИ ## Возвращает числовой код, соответствующий типу ошибки.
|
||||||
|
INFO = ИНФОРМ ## Возвращает информацию о текущей операционной среде.
|
||||||
|
ISBLANK = ЕПУСТО ## Возвращает значение ИСТИНА, если аргумент является ссылкой на пустую ячейку.
|
||||||
|
ISERR = ЕОШ ## Возвращает значение ИСТИНА, если аргумент ссылается на любое значение ошибки, кроме #Н/Д.
|
||||||
|
ISERROR = ЕОШИБКА ## Возвращает значение ИСТИНА, если аргумент ссылается на любое значение ошибки.
|
||||||
|
ISEVEN = ЕЧЁТН ## Возвращает значение ИСТИНА, если значение аргумента является четным числом.
|
||||||
|
ISLOGICAL = ЕЛОГИЧ ## Возвращает значение ИСТИНА, если аргумент ссылается на логическое значение.
|
||||||
|
ISNA = ЕНД ## Возвращает значение ИСТИНА, если аргумент ссылается на значение ошибки #Н/Д.
|
||||||
|
ISNONTEXT = ЕНЕТЕКСТ ## Возвращает значение ИСТИНА, если значение аргумента не является текстом.
|
||||||
|
ISNUMBER = ЕЧИСЛО ## Возвращает значение ИСТИНА, если аргумент ссылается на число.
|
||||||
|
ISODD = ЕНЕЧЁТ ## Возвращает значение ИСТИНА, если значение аргумента является нечетным числом.
|
||||||
|
ISREF = ЕССЫЛКА ## Возвращает значение ИСТИНА, если значение аргумента является ссылкой.
|
||||||
|
ISTEXT = ЕТЕКСТ ## Возвращает значение ИСТИНА, если значение аргумента является текстом.
|
||||||
|
N = Ч ## Возвращает значение, преобразованное в число.
|
||||||
|
NA = НД ## Возвращает значение ошибки #Н/Д.
|
||||||
|
TYPE = ТИП ## Возвращает число, обозначающее тип данных значения.
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## Logical functions Логические функции
|
||||||
|
##
|
||||||
|
AND = И ## Renvoie VRAI si tous ses arguments sont VRAI.
|
||||||
|
FALSE = ЛОЖЬ ## Возвращает логическое значение ЛОЖЬ.
|
||||||
|
IF = ЕСЛИ ## Выполняет проверку условия.
|
||||||
|
IFERROR = ЕСЛИОШИБКА ## Возвращает введённое значение, если вычисление по формуле вызывает ошибку; в противном случае функция возвращает результат вычисления.
|
||||||
|
NOT = НЕ ## Меняет логическое значение своего аргумента на противоположное.
|
||||||
|
OR = ИЛИ ## Возвращает значение ИСТИНА, если хотя бы один аргумент имеет значение ИСТИНА.
|
||||||
|
TRUE = ИСТИНА ## Возвращает логическое значение ИСТИНА.
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## Lookup and reference functions Функции ссылки и поиска
|
||||||
|
##
|
||||||
|
ADDRESS = АДРЕС ## Возвращает ссылку на отдельную ячейку листа в виде текста.
|
||||||
|
AREAS = ОБЛАСТИ ## Возвращает количество областей в ссылке.
|
||||||
|
CHOOSE = ВЫБОР ## Выбирает значение из списка значений по индексу.
|
||||||
|
COLUMN = СТОЛБЕЦ ## Возвращает номер столбца, на который указывает ссылка.
|
||||||
|
COLUMNS = ЧИСЛСТОЛБ ## Возвращает количество столбцов в ссылке.
|
||||||
|
HLOOKUP = ГПР ## Ищет в первой строке массива и возвращает значение отмеченной ячейки
|
||||||
|
HYPERLINK = ГИПЕРССЫЛКА ## Создает ссылку, открывающую документ, который находится на сервере сети, в интрасети или в Интернете.
|
||||||
|
INDEX = ИНДЕКС ## Использует индекс для выбора значения из ссылки или массива.
|
||||||
|
INDIRECT = ДВССЫЛ ## Возвращает ссылку, заданную текстовым значением.
|
||||||
|
LOOKUP = ПРОСМОТР ## Ищет значения в векторе или массиве.
|
||||||
|
MATCH = ПОИСКПОЗ ## Ищет значения в ссылке или массиве.
|
||||||
|
OFFSET = СМЕЩ ## Возвращает смещение ссылки относительно заданной ссылки.
|
||||||
|
ROW = СТРОКА ## Возвращает номер строки, определяемой ссылкой.
|
||||||
|
ROWS = ЧСТРОК ## Возвращает количество строк в ссылке.
|
||||||
|
RTD = ДРВ ## Извлекает данные реального времени из программ, поддерживающих автоматизацию COM (Программирование объектов. Стандартное средство для работы с объектами некоторого приложения из другого приложения или средства разработки. Программирование объектов (ранее называемое программированием OLE) является функцией модели COM (Component Object Model, модель компонентных объектов).).
|
||||||
|
TRANSPOSE = ТРАНСП ## Возвращает транспонированный массив.
|
||||||
|
VLOOKUP = ВПР ## Ищет значение в первом столбце массива и возвращает значение из ячейки в найденной строке и указанном столбце.
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## Math and trigonometry functions Математические и тригонометрические функции
|
||||||
|
##
|
||||||
|
ABS = ABS ## Возвращает модуль (абсолютную величину) числа.
|
||||||
|
ACOS = ACOS ## Возвращает арккосинус числа.
|
||||||
|
ACOSH = ACOSH ## Возвращает гиперболический арккосинус числа.
|
||||||
|
ASIN = ASIN ## Возвращает арксинус числа.
|
||||||
|
ASINH = ASINH ## Возвращает гиперболический арксинус числа.
|
||||||
|
ATAN = ATAN ## Возвращает арктангенс числа.
|
||||||
|
ATAN2 = ATAN2 ## Возвращает арктангенс для заданных координат x и y.
|
||||||
|
ATANH = ATANH ## Возвращает гиперболический арктангенс числа.
|
||||||
|
CEILING = ОКРВВЕРХ ## Округляет число до ближайшего целого или до ближайшего кратного указанному значению.
|
||||||
|
COMBIN = ЧИСЛКОМБ ## Возвращает количество комбинаций для заданного числа объектов.
|
||||||
|
COS = COS ## Возвращает косинус числа.
|
||||||
|
COSH = COSH ## Возвращает гиперболический косинус числа.
|
||||||
|
DEGREES = ГРАДУСЫ ## Преобразует радианы в градусы.
|
||||||
|
EVEN = ЧЁТН ## Округляет число до ближайшего четного целого.
|
||||||
|
EXP = EXP ## Возвращает число e, возведенное в указанную степень.
|
||||||
|
FACT = ФАКТР ## Возвращает факториал числа.
|
||||||
|
FACTDOUBLE = ДВФАКТР ## Возвращает двойной факториал числа.
|
||||||
|
FLOOR = ОКРВНИЗ ## Округляет число до ближайшего меньшего по модулю значения.
|
||||||
|
GCD = НОД ## Возвращает наибольший общий делитель.
|
||||||
|
INT = ЦЕЛОЕ ## Округляет число до ближайшего меньшего целого.
|
||||||
|
LCM = НОК ## Возвращает наименьшее общее кратное.
|
||||||
|
LN = LN ## Возвращает натуральный логарифм числа.
|
||||||
|
LOG = LOG ## Возвращает логарифм числа по заданному основанию.
|
||||||
|
LOG10 = LOG10 ## Возвращает десятичный логарифм числа.
|
||||||
|
MDETERM = МОПРЕД ## Возвращает определитель матрицы массива.
|
||||||
|
MINVERSE = МОБР ## Возвращает обратную матрицу массива.
|
||||||
|
MMULT = МУМНОЖ ## Возвращает произведение матриц двух массивов.
|
||||||
|
MOD = ОСТАТ ## Возвращает остаток от деления.
|
||||||
|
MROUND = ОКРУГЛТ ## Возвращает число, округленное с требуемой точностью.
|
||||||
|
MULTINOMIAL = МУЛЬТИНОМ ## Возвращает мультиномиальный коэффициент множества чисел.
|
||||||
|
ODD = НЕЧЁТ ## Округляет число до ближайшего нечетного целого.
|
||||||
|
PI = ПИ ## Возвращает число пи.
|
||||||
|
POWER = СТЕПЕНЬ ## Возвращает результат возведения числа в степень.
|
||||||
|
PRODUCT = ПРОИЗВЕД ## Возвращает произведение аргументов.
|
||||||
|
QUOTIENT = ЧАСТНОЕ ## Возвращает целую часть частного при делении.
|
||||||
|
RADIANS = РАДИАНЫ ## Преобразует градусы в радианы.
|
||||||
|
RAND = СЛЧИС ## Возвращает случайное число в интервале от 0 до 1.
|
||||||
|
RANDBETWEEN = СЛУЧМЕЖДУ ## Возвращает случайное число в интервале между двумя заданными числами.
|
||||||
|
ROMAN = РИМСКОЕ ## Преобразует арабские цифры в римские в виде текста.
|
||||||
|
ROUND = ОКРУГЛ ## Округляет число до указанного количества десятичных разрядов.
|
||||||
|
ROUNDDOWN = ОКРУГЛВНИЗ ## Округляет число до ближайшего меньшего по модулю значения.
|
||||||
|
ROUNDUP = ОКРУГЛВВЕРХ ## Округляет число до ближайшего большего по модулю значения.
|
||||||
|
SERIESSUM = РЯД.СУММ ## Возвращает сумму степенного ряда, вычисленную по формуле.
|
||||||
|
SIGN = ЗНАК ## Возвращает знак числа.
|
||||||
|
SIN = SIN ## Возвращает синус заданного угла.
|
||||||
|
SINH = SINH ## Возвращает гиперболический синус числа.
|
||||||
|
SQRT = КОРЕНЬ ## Возвращает положительное значение квадратного корня.
|
||||||
|
SQRTPI = КОРЕНЬПИ ## Возвращает квадратный корень из значения выражения (число * ПИ).
|
||||||
|
SUBTOTAL = ПРОМЕЖУТОЧНЫЕ.ИТОГИ ## Возвращает промежуточный итог в списке или базе данных.
|
||||||
|
SUM = СУММ ## Суммирует аргументы.
|
||||||
|
SUMIF = СУММЕСЛИ ## Суммирует ячейки, удовлетворяющие заданному условию.
|
||||||
|
SUMIFS = СУММЕСЛИМН ## Суммирует диапазон ячеек, удовлетворяющих нескольким условиям.
|
||||||
|
SUMPRODUCT = СУММПРОИЗВ ## Возвращает сумму произведений соответствующих элементов массивов.
|
||||||
|
SUMSQ = СУММКВ ## Возвращает сумму квадратов аргументов.
|
||||||
|
SUMX2MY2 = СУММРАЗНКВ ## Возвращает сумму разностей квадратов соответствующих значений в двух массивах.
|
||||||
|
SUMX2PY2 = СУММСУММКВ ## Возвращает сумму сумм квадратов соответствующих элементов двух массивов.
|
||||||
|
SUMXMY2 = СУММКВРАЗН ## Возвращает сумму квадратов разностей соответствующих значений в двух массивах.
|
||||||
|
TAN = TAN ## Возвращает тангенс числа.
|
||||||
|
TANH = TANH ## Возвращает гиперболический тангенс числа.
|
||||||
|
TRUNC = ОТБР ## Отбрасывает дробную часть числа.
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## Statistical functions Статистические функции
|
||||||
|
##
|
||||||
|
AVEDEV = СРОТКЛ ## Возвращает среднее арифметическое абсолютных значений отклонений точек данных от среднего.
|
||||||
|
AVERAGE = СРЗНАЧ ## Возвращает среднее арифметическое аргументов.
|
||||||
|
AVERAGEA = СРЗНАЧА ## Возвращает среднее арифметическое аргументов, включая числа, текст и логические значения.
|
||||||
|
AVERAGEIF = СРЗНАЧЕСЛИ ## Возвращает среднее значение (среднее арифметическое) всех ячеек в диапазоне, которые удовлетворяют данному условию.
|
||||||
|
AVERAGEIFS = СРЗНАЧЕСЛИМН ## Возвращает среднее значение (среднее арифметическое) всех ячеек, которые удовлетворяют нескольким условиям.
|
||||||
|
BETADIST = БЕТАРАСП ## Возвращает интегральную функцию бета-распределения.
|
||||||
|
BETAINV = БЕТАОБР ## Возвращает обратную интегральную функцию указанного бета-распределения.
|
||||||
|
BINOMDIST = БИНОМРАСП ## Возвращает отдельное значение биномиального распределения.
|
||||||
|
CHIDIST = ХИ2РАСП ## Возвращает одностороннюю вероятность распределения хи-квадрат.
|
||||||
|
CHIINV = ХИ2ОБР ## Возвращает обратное значение односторонней вероятности распределения хи-квадрат.
|
||||||
|
CHITEST = ХИ2ТЕСТ ## Возвращает тест на независимость.
|
||||||
|
CONFIDENCE = ДОВЕРИТ ## Возвращает доверительный интервал для среднего значения по генеральной совокупности.
|
||||||
|
CORREL = КОРРЕЛ ## Возвращает коэффициент корреляции между двумя множествами данных.
|
||||||
|
COUNT = СЧЁТ ## Подсчитывает количество чисел в списке аргументов.
|
||||||
|
COUNTA = СЧЁТЗ ## Подсчитывает количество значений в списке аргументов.
|
||||||
|
COUNTBLANK = СЧИТАТЬПУСТОТЫ ## Подсчитывает количество пустых ячеек в диапазоне
|
||||||
|
COUNTIF = СЧЁТЕСЛИ ## Подсчитывает количество ячеек в диапазоне, удовлетворяющих заданному условию
|
||||||
|
COUNTIFS = СЧЁТЕСЛИМН ## Подсчитывает количество ячеек внутри диапазона, удовлетворяющих нескольким условиям.
|
||||||
|
COVAR = КОВАР ## Возвращает ковариацию, среднее произведений парных отклонений
|
||||||
|
CRITBINOM = КРИТБИНОМ ## Возвращает наименьшее значение, для которого интегральное биномиальное распределение меньше или равно заданному критерию.
|
||||||
|
DEVSQ = КВАДРОТКЛ ## Возвращает сумму квадратов отклонений.
|
||||||
|
EXPONDIST = ЭКСПРАСП ## Возвращает экспоненциальное распределение.
|
||||||
|
FDIST = FРАСП ## Возвращает F-распределение вероятности.
|
||||||
|
FINV = FРАСПОБР ## Возвращает обратное значение для F-распределения вероятности.
|
||||||
|
FISHER = ФИШЕР ## Возвращает преобразование Фишера.
|
||||||
|
FISHERINV = ФИШЕРОБР ## Возвращает обратное преобразование Фишера.
|
||||||
|
FORECAST = ПРЕДСКАЗ ## Возвращает значение линейного тренда.
|
||||||
|
FREQUENCY = ЧАСТОТА ## Возвращает распределение частот в виде вертикального массива.
|
||||||
|
FTEST = ФТЕСТ ## Возвращает результат F-теста.
|
||||||
|
GAMMADIST = ГАММАРАСП ## Возвращает гамма-распределение.
|
||||||
|
GAMMAINV = ГАММАОБР ## Возвращает обратное гамма-распределение.
|
||||||
|
GAMMALN = ГАММАНЛОГ ## Возвращает натуральный логарифм гамма функции, Γ(x).
|
||||||
|
GEOMEAN = СРГЕОМ ## Возвращает среднее геометрическое.
|
||||||
|
GROWTH = РОСТ ## Возвращает значения в соответствии с экспоненциальным трендом.
|
||||||
|
HARMEAN = СРГАРМ ## Возвращает среднее гармоническое.
|
||||||
|
HYPGEOMDIST = ГИПЕРГЕОМЕТ ## Возвращает гипергеометрическое распределение.
|
||||||
|
INTERCEPT = ОТРЕЗОК ## Возвращает отрезок, отсекаемый на оси линией линейной регрессии.
|
||||||
|
KURT = ЭКСЦЕСС ## Возвращает эксцесс множества данных.
|
||||||
|
LARGE = НАИБОЛЬШИЙ ## Возвращает k-ое наибольшее значение в множестве данных.
|
||||||
|
LINEST = ЛИНЕЙН ## Возвращает параметры линейного тренда.
|
||||||
|
LOGEST = ЛГРФПРИБЛ ## Возвращает параметры экспоненциального тренда.
|
||||||
|
LOGINV = ЛОГНОРМОБР ## Возвращает обратное логарифмическое нормальное распределение.
|
||||||
|
LOGNORMDIST = ЛОГНОРМРАСП ## Возвращает интегральное логарифмическое нормальное распределение.
|
||||||
|
MAX = МАКС ## Возвращает наибольшее значение в списке аргументов.
|
||||||
|
MAXA = МАКСА ## Возвращает наибольшее значение в списке аргументов, включая числа, текст и логические значения.
|
||||||
|
MEDIAN = МЕДИАНА ## Возвращает медиану заданных чисел.
|
||||||
|
MIN = МИН ## Возвращает наименьшее значение в списке аргументов.
|
||||||
|
MINA = МИНА ## Возвращает наименьшее значение в списке аргументов, включая числа, текст и логические значения.
|
||||||
|
MODE = МОДА ## Возвращает значение моды множества данных.
|
||||||
|
NEGBINOMDIST = ОТРБИНОМРАСП ## Возвращает отрицательное биномиальное распределение.
|
||||||
|
NORMDIST = НОРМРАСП ## Возвращает нормальную функцию распределения.
|
||||||
|
NORMINV = НОРМОБР ## Возвращает обратное нормальное распределение.
|
||||||
|
NORMSDIST = НОРМСТРАСП ## Возвращает стандартное нормальное интегральное распределение.
|
||||||
|
NORMSINV = НОРМСТОБР ## Возвращает обратное значение стандартного нормального распределения.
|
||||||
|
PEARSON = ПИРСОН ## Возвращает коэффициент корреляции Пирсона.
|
||||||
|
PERCENTILE = ПЕРСЕНТИЛЬ ## Возвращает k-ую персентиль для значений диапазона.
|
||||||
|
PERCENTRANK = ПРОЦЕНТРАНГ ## Возвращает процентную норму значения в множестве данных.
|
||||||
|
PERMUT = ПЕРЕСТ ## Возвращает количество перестановок для заданного числа объектов.
|
||||||
|
POISSON = ПУАССОН ## Возвращает распределение Пуассона.
|
||||||
|
PROB = ВЕРОЯТНОСТЬ ## Возвращает вероятность того, что значение из диапазона находится внутри заданных пределов.
|
||||||
|
QUARTILE = КВАРТИЛЬ ## Возвращает квартиль множества данных.
|
||||||
|
RANK = РАНГ ## Возвращает ранг числа в списке чисел.
|
||||||
|
RSQ = КВПИРСОН ## Возвращает квадрат коэффициента корреляции Пирсона.
|
||||||
|
SKEW = СКОС ## Возвращает асимметрию распределения.
|
||||||
|
SLOPE = НАКЛОН ## Возвращает наклон линии линейной регрессии.
|
||||||
|
SMALL = НАИМЕНЬШИЙ ## Возвращает k-ое наименьшее значение в множестве данных.
|
||||||
|
STANDARDIZE = НОРМАЛИЗАЦИЯ ## Возвращает нормализованное значение.
|
||||||
|
STDEV = СТАНДОТКЛОН ## Оценивает стандартное отклонение по выборке.
|
||||||
|
STDEVA = СТАНДОТКЛОНА ## Оценивает стандартное отклонение по выборке, включая числа, текст и логические значения.
|
||||||
|
STDEVP = СТАНДОТКЛОНП ## Вычисляет стандартное отклонение по генеральной совокупности.
|
||||||
|
STDEVPA = СТАНДОТКЛОНПА ## Вычисляет стандартное отклонение по генеральной совокупности, включая числа, текст и логические значения.
|
||||||
|
STEYX = СТОШYX ## Возвращает стандартную ошибку предсказанных значений y для каждого значения x в регрессии.
|
||||||
|
TDIST = СТЬЮДРАСП ## Возвращает t-распределение Стьюдента.
|
||||||
|
TINV = СТЬЮДРАСПОБР ## Возвращает обратное t-распределение Стьюдента.
|
||||||
|
TREND = ТЕНДЕНЦИЯ ## Возвращает значения в соответствии с линейным трендом.
|
||||||
|
TRIMMEAN = УРЕЗСРЕДНЕЕ ## Возвращает среднее внутренности множества данных.
|
||||||
|
TTEST = ТТЕСТ ## Возвращает вероятность, соответствующую критерию Стьюдента.
|
||||||
|
VAR = ДИСП ## Оценивает дисперсию по выборке.
|
||||||
|
VARA = ДИСПА ## Оценивает дисперсию по выборке, включая числа, текст и логические значения.
|
||||||
|
VARP = ДИСПР ## Вычисляет дисперсию для генеральной совокупности.
|
||||||
|
VARPA = ДИСПРА ## Вычисляет дисперсию для генеральной совокупности, включая числа, текст и логические значения.
|
||||||
|
WEIBULL = ВЕЙБУЛЛ ## Возвращает распределение Вейбулла.
|
||||||
|
ZTEST = ZТЕСТ ## Возвращает двустороннее P-значение z-теста.
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## Text functions Текстовые функции
|
||||||
|
##
|
||||||
|
ASC = ASC ## Для языков с двухбайтовыми наборами знаков (например, катакана) преобразует полноширинные (двухбайтовые) знаки в полуширинные (однобайтовые).
|
||||||
|
BAHTTEXT = БАТТЕКСТ ## Преобразует число в текст, используя денежный формат ß (БАТ).
|
||||||
|
CHAR = СИМВОЛ ## Возвращает знак с заданным кодом.
|
||||||
|
CLEAN = ПЕЧСИМВ ## Удаляет все непечатаемые знаки из текста.
|
||||||
|
CODE = КОДСИМВ ## Возвращает числовой код первого знака в текстовой строке.
|
||||||
|
CONCATENATE = СЦЕПИТЬ ## Объединяет несколько текстовых элементов в один.
|
||||||
|
DOLLAR = РУБЛЬ ## Преобразует число в текст, используя денежный формат.
|
||||||
|
EXACT = СОВПАД ## Проверяет идентичность двух текстовых значений.
|
||||||
|
FIND = НАЙТИ ## Ищет вхождения одного текстового значения в другом (с учетом регистра).
|
||||||
|
FINDB = НАЙТИБ ## Ищет вхождения одного текстового значения в другом (с учетом регистра).
|
||||||
|
FIXED = ФИКСИРОВАННЫЙ ## Форматирует число и преобразует его в текст с заданным числом десятичных знаков.
|
||||||
|
JIS = JIS ## Для языков с двухбайтовыми наборами знаков (например, катакана) преобразует полуширинные (однобайтовые) знаки в текстовой строке в полноширинные (двухбайтовые).
|
||||||
|
LEFT = ЛЕВСИМВ ## Возвращает крайние слева знаки текстового значения.
|
||||||
|
LEFTB = ЛЕВБ ## Возвращает крайние слева знаки текстового значения.
|
||||||
|
LEN = ДЛСТР ## Возвращает количество знаков в текстовой строке.
|
||||||
|
LENB = ДЛИНБ ## Возвращает количество знаков в текстовой строке.
|
||||||
|
LOWER = СТРОЧН ## Преобразует все буквы текста в строчные.
|
||||||
|
MID = ПСТР ## Возвращает заданное число знаков из строки текста, начиная с указанной позиции.
|
||||||
|
MIDB = ПСТРБ ## Возвращает заданное число знаков из строки текста, начиная с указанной позиции.
|
||||||
|
PHONETIC = PHONETIC ## Извлекает фонетические (фуригана) знаки из текстовой строки.
|
||||||
|
PROPER = ПРОПНАЧ ## Преобразует первую букву в каждом слове текста в прописную.
|
||||||
|
REPLACE = ЗАМЕНИТЬ ## Заменяет знаки в тексте.
|
||||||
|
REPLACEB = ЗАМЕНИТЬБ ## Заменяет знаки в тексте.
|
||||||
|
REPT = ПОВТОР ## Повторяет текст заданное число раз.
|
||||||
|
RIGHT = ПРАВСИМВ ## Возвращает крайние справа знаки текстовой строки.
|
||||||
|
RIGHTB = ПРАВБ ## Возвращает крайние справа знаки текстовой строки.
|
||||||
|
SEARCH = ПОИСК ## Ищет вхождения одного текстового значения в другом (без учета регистра).
|
||||||
|
SEARCHB = ПОИСКБ ## Ищет вхождения одного текстового значения в другом (без учета регистра).
|
||||||
|
SUBSTITUTE = ПОДСТАВИТЬ ## Заменяет в текстовой строке старый текст новым.
|
||||||
|
T = Т ## Преобразует аргументы в текст.
|
||||||
|
TEXT = ТЕКСТ ## Форматирует число и преобразует его в текст.
|
||||||
|
TRIM = СЖПРОБЕЛЫ ## Удаляет из текста пробелы.
|
||||||
|
UPPER = ПРОПИСН ## Преобразует все буквы текста в прописные.
|
||||||
|
VALUE = ЗНАЧЕН ## Преобразует текстовый аргумент в число.
|
||||||
24
PhpOffice/PhpSpreadsheet/Calculation/locale/sv/config
Normal file
24
PhpOffice/PhpSpreadsheet/Calculation/locale/sv/config
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
##
|
||||||
|
## PhpSpreadsheet
|
||||||
|
##
|
||||||
|
|
||||||
|
ArgumentSeparator = ;
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## (For future use)
|
||||||
|
##
|
||||||
|
currencySymbol = kr
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## Excel Error Codes (For future use)
|
||||||
|
|
||||||
|
##
|
||||||
|
NULL = #Skärning!
|
||||||
|
DIV0 = #Division/0!
|
||||||
|
VALUE = #Värdefel!
|
||||||
|
REF = #Referens!
|
||||||
|
NAME = #Namn?
|
||||||
|
NUM = #Ogiltigt!
|
||||||
|
NA = #Saknas!
|
||||||
24
PhpOffice/PhpSpreadsheet/Calculation/locale/tr/config
Normal file
24
PhpOffice/PhpSpreadsheet/Calculation/locale/tr/config
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
##
|
||||||
|
## PhpSpreadsheet
|
||||||
|
##
|
||||||
|
|
||||||
|
ArgumentSeparator = ;
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## (For future use)
|
||||||
|
##
|
||||||
|
currencySymbol = YTL
|
||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
## Excel Error Codes (For future use)
|
||||||
|
|
||||||
|
##
|
||||||
|
NULL = #BOŞ!
|
||||||
|
DIV0 = #SAYI/0!
|
||||||
|
VALUE = #DEĞER!
|
||||||
|
REF = #BAŞV!
|
||||||
|
NAME = #AD?
|
||||||
|
NUM = #SAYI!
|
||||||
|
NA = #YOK
|
||||||
|
|
@ -1,438 +1,416 @@
|
||||||
##
|
##
|
||||||
## PHPExcel
|
## PhpSpreadsheet
|
||||||
##
|
##
|
||||||
## Copyright (c) 2006 - 2013 PHPExcel
|
## Data in this file derived from https://www.excel-function-translation.com/
|
||||||
##
|
##
|
||||||
## This library is free software; you can redistribute it and/or
|
##
|
||||||
## modify it under the terms of the GNU Lesser General Public
|
|
||||||
## License as published by the Free Software Foundation; either
|
|
||||||
## version 2.1 of the License, or (at your option) any later version.
|
##
|
||||||
##
|
## Add-in and Automation functions Eklenti ve Otomasyon fonksiyonları
|
||||||
## This library is distributed in the hope that it will be useful,
|
##
|
||||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
GETPIVOTDATA = ÖZETVERİAL ## Bir Özet Tablo raporunda saklanan verileri verir.
|
||||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
## Lesser General Public License for more details.
|
|
||||||
##
|
##
|
||||||
## You should have received a copy of the GNU Lesser General Public
|
## Cube functions Küp işlevleri
|
||||||
## License along with this library; if not, write to the Free Software
|
##
|
||||||
## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
CUBEKPIMEMBER = KÜPKPIÜYE ## Kilit performans göstergesi (KPI-Key Performance Indicator) adını, özelliğini ve ölçüsünü verir ve hücredeki ad ve özelliği gösterir. KPI, bir kurumun performansını izlemek için kullanılan aylık brüt kâr ya da üç aylık çalışan giriş çıkışları gibi ölçülebilen bir birimdir.
|
||||||
##
|
CUBEMEMBER = KÜPÜYE ## Bir küp hiyerarşisinde bir üyeyi veya kaydı verir. Üye veya kaydın küpte varolduğunu doğrulamak için kullanılır.
|
||||||
## @category PHPExcel
|
CUBEMEMBERPROPERTY = KÜPÜYEÖZELLİĞİ ## Bir küpte bir üyenin özelliğinin değerini verir. Küp içinde üye adının varlığını doğrulamak ve bu üyenin belli özelliklerini getirmek için kullanılır.
|
||||||
## @package PHPExcel_Calculation
|
CUBERANKEDMEMBER = KÜPÜYESIRASI ## Bir küme içindeki üyenin derecesini veya kaçıncı olduğunu verir. En iyi satış elemanı, veya en iyi on öğrenci gibi bir kümedeki bir veya daha fazla öğeyi getirmek için kullanılır.
|
||||||
## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)
|
CUBESET = KÜPKÜME ## Kümeyi oluşturan ve ardından bu kümeyi Microsoft Office Excel'e getiren sunucudaki küpe küme ifadelerini göndererek hesaplanan üye veya kayıt kümesini tanımlar.
|
||||||
## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
CUBESETCOUNT = KÜPKÜMESAY ## Bir kümedeki öğelerin sayısını getirir.
|
||||||
## @version ##VERSION##, ##DATE##
|
CUBEVALUE = KÜPDEĞER ## Bir küpten toplam değeri getirir.
|
||||||
##
|
|
||||||
## Data in this file derived from http://www.piuha.fi/excel-function-name-translation/
|
|
||||||
##
|
##
|
||||||
##
|
## Database functions Veritabanı işlevleri
|
||||||
|
##
|
||||||
|
DAVERAGE = VSEÇORT ## Seçili veritabanı girdilerinin ortalamasını verir.
|
||||||
##
|
DCOUNT = VSEÇSAY ## Veritabanında sayı içeren hücre sayısını hesaplar.
|
||||||
## Add-in and Automation functions Eklenti ve Otomasyon fonksiyonları
|
DCOUNTA = VSEÇSAYDOLU ## Veritabanındaki boş olmayan hücreleri sayar.
|
||||||
##
|
DGET = VAL ## Veritabanından, belirtilen ölçütlerle eşleşen tek bir rapor çıkarır.
|
||||||
GETPIVOTDATA = ÖZETVERİAL ## Bir Özet Tablo raporunda saklanan verileri verir.
|
DMAX = VSEÇMAK ## Seçili veritabanı girişlerinin en yüksek değerini verir.
|
||||||
|
DMIN = VSEÇMİN ## Seçili veritabanı girişlerinin en düşük değerini verir.
|
||||||
|
DPRODUCT = VSEÇÇARP ## Kayıtların belli bir alanında bulunan, bir veritabanındaki ölçütlerle eşleşen değerleri çarpar.
|
||||||
##
|
DSTDEV = VSEÇSTDSAPMA ## Seçili veritabanı girişlerinden oluşan bir örneğe dayanarak, standart sapmayı tahmin eder.
|
||||||
## Cube functions Küp işlevleri
|
DSTDEVP = VSEÇSTDSAPMAS ## Standart sapmayı, seçili veritabanı girişlerinin tüm popülasyonunu esas alarak hesaplar.
|
||||||
##
|
DSUM = VSEÇTOPLA ## Kayıtların alan sütununda bulunan, ölçütle eşleşen sayıları toplar.
|
||||||
CUBEKPIMEMBER = KÜPKPIÜYE ## Kilit performans göstergesi (KPI-Key Performance Indicator) adını, özelliğini ve ölçüsünü verir ve hücredeki ad ve özelliği gösterir. KPI, bir kurumun performansını izlemek için kullanılan aylık brüt kâr ya da üç aylık çalışan giriş çıkışları gibi ölçülebilen bir birimdir.
|
DVAR = VSEÇVAR ## Seçili veritabanı girişlerinden oluşan bir örneği esas alarak farkı tahmin eder.
|
||||||
CUBEMEMBER = KÜPÜYE ## Bir küp hiyerarşisinde bir üyeyi veya kaydı verir. Üye veya kaydın küpte varolduğunu doğrulamak için kullanılır.
|
DVARP = VSEÇVARS ## Seçili veritabanı girişlerinin tüm popülasyonunu esas alarak farkı hesaplar.
|
||||||
CUBEMEMBERPROPERTY = KÜPÜYEÖZELLİĞİ ## Bir küpte bir üyenin özelliğinin değerini verir. Küp içinde üye adının varlığını doğrulamak ve bu üyenin belli özelliklerini getirmek için kullanılır.
|
|
||||||
CUBERANKEDMEMBER = KÜPÜYESIRASI ## Bir küme içindeki üyenin derecesini veya kaçıncı olduğunu verir. En iyi satış elemanı, veya en iyi on öğrenci gibi bir kümedeki bir veya daha fazla öğeyi getirmek için kullanılır.
|
|
||||||
CUBESET = KÜPKÜME ## Kümeyi oluşturan ve ardından bu kümeyi Microsoft Office Excel'e getiren sunucudaki küpe küme ifadelerini göndererek hesaplanan üye veya kayıt kümesini tanımlar.
|
##
|
||||||
CUBESETCOUNT = KÜPKÜMESAY ## Bir kümedeki öğelerin sayısını getirir.
|
## Date and time functions Tarih ve saat işlevleri
|
||||||
CUBEVALUE = KÜPDEĞER ## Bir küpten toplam değeri getirir.
|
##
|
||||||
|
DATE = TARİH ## Belirli bir tarihin seri numarasını verir.
|
||||||
|
DATEVALUE = TARİHSAYISI ## Metin biçimindeki bir tarihi seri numarasına dönüştürür.
|
||||||
##
|
DAY = GÜN ## Seri numarasını, ayın bir gününe dönüştürür.
|
||||||
## Database functions Veritabanı işlevleri
|
DAYS360 = GÜN360 ## İki tarih arasındaki gün sayısını, 360 günlük yılı esas alarak hesaplar.
|
||||||
##
|
EDATE = SERİTARİH ## Başlangıç tarihinden itibaren, belirtilen ay sayısından önce veya sonraki tarihin seri numarasını verir.
|
||||||
DAVERAGE = VSEÇORT ## Seçili veritabanı girdilerinin ortalamasını verir.
|
EOMONTH = SERİAY ## Belirtilen sayıda ay önce veya sonraki ayın son gününün seri numarasını verir.
|
||||||
DCOUNT = VSEÇSAY ## Veritabanında sayı içeren hücre sayısını hesaplar.
|
HOUR = SAAT ## Bir seri numarasını saate dönüştürür.
|
||||||
DCOUNTA = VSEÇSAYDOLU ## Veritabanındaki boş olmayan hücreleri sayar.
|
MINUTE = DAKİKA ## Bir seri numarasını dakikaya dönüştürür.
|
||||||
DGET = VAL ## Veritabanından, belirtilen ölçütlerle eşleşen tek bir rapor çıkarır.
|
MONTH = AY ## Bir seri numarasını aya dönüştürür.
|
||||||
DMAX = VSEÇMAK ## Seçili veritabanı girişlerinin en yüksek değerini verir.
|
NETWORKDAYS = TAMİŞGÜNÜ ## İki tarih arasındaki tam çalışma günlerinin sayısını verir.
|
||||||
DMIN = VSEÇMİN ## Seçili veritabanı girişlerinin en düşük değerini verir.
|
NOW = ŞİMDİ ## Geçerli tarihin ve saatin seri numarasını verir.
|
||||||
DPRODUCT = VSEÇÇARP ## Kayıtların belli bir alanında bulunan, bir veritabanındaki ölçütlerle eşleşen değerleri çarpar.
|
SECOND = SANİYE ## Bir seri numarasını saniyeye dönüştürür.
|
||||||
DSTDEV = VSEÇSTDSAPMA ## Seçili veritabanı girişlerinden oluşan bir örneğe dayanarak, standart sapmayı tahmin eder.
|
TIME = ZAMAN ## Belirli bir zamanın seri numarasını verir.
|
||||||
DSTDEVP = VSEÇSTDSAPMAS ## Standart sapmayı, seçili veritabanı girişlerinin tüm popülasyonunu esas alarak hesaplar.
|
TIMEVALUE = ZAMANSAYISI ## Metin biçimindeki zamanı seri numarasına dönüştürür.
|
||||||
DSUM = VSEÇTOPLA ## Kayıtların alan sütununda bulunan, ölçütle eşleşen sayıları toplar.
|
TODAY = BUGÜN ## Bugünün tarihini seri numarasına dönüştürür.
|
||||||
DVAR = VSEÇVAR ## Seçili veritabanı girişlerinden oluşan bir örneği esas alarak farkı tahmin eder.
|
WEEKDAY = HAFTANINGÜNÜ ## Bir seri numarasını, haftanın gününe dönüştürür.
|
||||||
DVARP = VSEÇVARS ## Seçili veritabanı girişlerinin tüm popülasyonunu esas alarak farkı hesaplar.
|
WEEKNUM = HAFTASAY ## Dizisel değerini, haftanın yıl içinde bulunduğu konumu sayısal olarak gösteren sayıya dönüştürür.
|
||||||
|
WORKDAY = İŞGÜNÜ ## Belirtilen sayıda çalışma günü öncesinin ya da sonrasının tarihinin seri numarasını verir.
|
||||||
|
YEAR = YIL ## Bir seri numarasını yıla dönüştürür.
|
||||||
##
|
YEARFRAC = YILORAN ## Başlangıç_tarihi ve bitiş_tarihi arasındaki tam günleri gösteren yıl kesrini verir.
|
||||||
## Date and time functions Tarih ve saat işlevleri
|
|
||||||
##
|
|
||||||
DATE = TARİH ## Belirli bir tarihin seri numarasını verir.
|
##
|
||||||
DATEVALUE = TARİHSAYISI ## Metin biçimindeki bir tarihi seri numarasına dönüştürür.
|
## Engineering functions Mühendislik işlevleri
|
||||||
DAY = GÜN ## Seri numarasını, ayın bir gününe dönüştürür.
|
##
|
||||||
DAYS360 = GÜN360 ## İki tarih arasındaki gün sayısını, 360 günlük yılı esas alarak hesaplar.
|
BESSELI = BESSELI ## Değiştirilmiş Bessel fonksiyonu In(x)'i verir.
|
||||||
EDATE = SERİTARİH ## Başlangıç tarihinden itibaren, belirtilen ay sayısından önce veya sonraki tarihin seri numarasını verir.
|
BESSELJ = BESSELJ ## Bessel fonksiyonu Jn(x)'i verir.
|
||||||
EOMONTH = SERİAY ## Belirtilen sayıda ay önce veya sonraki ayın son gününün seri numarasını verir.
|
BESSELK = BESSELK ## Değiştirilmiş Bessel fonksiyonu Kn(x)'i verir.
|
||||||
HOUR = SAAT ## Bir seri numarasını saate dönüştürür.
|
BESSELY = BESSELY ## Bessel fonksiyonu Yn(x)'i verir.
|
||||||
MINUTE = DAKİKA ## Bir seri numarasını dakikaya dönüştürür.
|
BIN2DEC = BIN2DEC ## İkili bir sayıyı, ondalık sayıya dönüştürür.
|
||||||
MONTH = AY ## Bir seri numarasını aya dönüştürür.
|
BIN2HEX = BIN2HEX ## İkili bir sayıyı, onaltılıya dönüştürür.
|
||||||
NETWORKDAYS = TAMİŞGÜNÜ ## İki tarih arasındaki tam çalışma günlerinin sayısını verir.
|
BIN2OCT = BIN2OCT ## İkili bir sayıyı, sekizliye dönüştürür.
|
||||||
NOW = ŞİMDİ ## Geçerli tarihin ve saatin seri numarasını verir.
|
COMPLEX = KARMAŞIK ## Gerçek ve sanal katsayıları, karmaşık sayıya dönüştürür.
|
||||||
SECOND = SANİYE ## Bir seri numarasını saniyeye dönüştürür.
|
CONVERT = ÇEVİR ## Bir sayıyı, bir ölçüm sisteminden bir başka ölçüm sistemine dönüştürür.
|
||||||
TIME = ZAMAN ## Belirli bir zamanın seri numarasını verir.
|
DEC2BIN = DEC2BIN ## Ondalık bir sayıyı, ikiliye dönüştürür.
|
||||||
TIMEVALUE = ZAMANSAYISI ## Metin biçimindeki zamanı seri numarasına dönüştürür.
|
DEC2HEX = DEC2HEX ## Ondalık bir sayıyı, onaltılıya dönüştürür.
|
||||||
TODAY = BUGÜN ## Bugünün tarihini seri numarasına dönüştürür.
|
DEC2OCT = DEC2OCT ## Ondalık bir sayıyı sekizliğe dönüştürür.
|
||||||
WEEKDAY = HAFTANINGÜNÜ ## Bir seri numarasını, haftanın gününe dönüştürür.
|
DELTA = DELTA ## İki değerin eşit olup olmadığını sınar.
|
||||||
WEEKNUM = HAFTASAY ## Dizisel değerini, haftanın yıl içinde bulunduğu konumu sayısal olarak gösteren sayıya dönüştürür.
|
ERF = HATAİŞLEV ## Hata işlevini verir.
|
||||||
WORKDAY = İŞGÜNÜ ## Belirtilen sayıda çalışma günü öncesinin ya da sonrasının tarihinin seri numarasını verir.
|
ERFC = TÜMHATAİŞLEV ## Tümleyici hata işlevini verir.
|
||||||
YEAR = YIL ## Bir seri numarasını yıla dönüştürür.
|
GESTEP = BESINIR ## Bir sayının eşik değerinden büyük olup olmadığını sınar.
|
||||||
YEARFRAC = YILORAN ## Başlangıç_tarihi ve bitiş_tarihi arasındaki tam günleri gösteren yıl kesrini verir.
|
HEX2BIN = HEX2BIN ## Onaltılı bir sayıyı ikiliye dönüştürür.
|
||||||
|
HEX2DEC = HEX2DEC ## Onaltılı bir sayıyı ondalığa dönüştürür.
|
||||||
|
HEX2OCT = HEX2OCT ## Onaltılı bir sayıyı sekizliğe dönüştürür.
|
||||||
##
|
IMABS = SANMUTLAK ## Karmaşık bir sayının mutlak değerini (modül) verir.
|
||||||
## Engineering functions Mühendislik işlevleri
|
IMAGINARY = SANAL ## Karmaşık bir sayının sanal katsayısını verir.
|
||||||
##
|
IMARGUMENT = SANBAĞ_DEĞİŞKEN ## Radyanlarla belirtilen bir açı olan teta bağımsız değişkenini verir.
|
||||||
BESSELI = BESSELI ## Değiştirilmiş Bessel fonksiyonu In(x)'i verir.
|
IMCONJUGATE = SANEŞLENEK ## Karmaşık bir sayının karmaşık eşleniğini verir.
|
||||||
BESSELJ = BESSELJ ## Bessel fonksiyonu Jn(x)'i verir.
|
IMCOS = SANCOS ## Karmaşık bir sayının kosinüsünü verir.
|
||||||
BESSELK = BESSELK ## Değiştirilmiş Bessel fonksiyonu Kn(x)'i verir.
|
IMDIV = SANBÖL ## İki karmaşık sayının bölümünü verir.
|
||||||
BESSELY = BESSELY ## Bessel fonksiyonu Yn(x)'i verir.
|
IMEXP = SANÜS ## Karmaşık bir sayının üssünü verir.
|
||||||
BIN2DEC = BIN2DEC ## İkili bir sayıyı, ondalık sayıya dönüştürür.
|
IMLN = SANLN ## Karmaşık bir sayının doğal logaritmasını verir.
|
||||||
BIN2HEX = BIN2HEX ## İkili bir sayıyı, onaltılıya dönüştürür.
|
IMLOG10 = SANLOG10 ## Karmaşık bir sayının, 10 tabanında logaritmasını verir.
|
||||||
BIN2OCT = BIN2OCT ## İkili bir sayıyı, sekizliye dönüştürür.
|
IMLOG2 = SANLOG2 ## Karmaşık bir sayının 2 tabanında logaritmasını verir.
|
||||||
COMPLEX = KARMAŞIK ## Gerçek ve sanal katsayıları, karmaşık sayıya dönüştürür.
|
IMPOWER = SANÜSSÜ ## Karmaşık bir sayıyı, bir tamsayı üssüne yükseltilmiş olarak verir.
|
||||||
CONVERT = ÇEVİR ## Bir sayıyı, bir ölçüm sisteminden bir başka ölçüm sistemine dönüştürür.
|
IMPRODUCT = SANÇARP ## Karmaşık sayıların çarpımını verir.
|
||||||
DEC2BIN = DEC2BIN ## Ondalık bir sayıyı, ikiliye dönüştürür.
|
IMREAL = SANGERÇEK ## Karmaşık bir sayının, gerçek katsayısını verir.
|
||||||
DEC2HEX = DEC2HEX ## Ondalık bir sayıyı, onaltılıya dönüştürür.
|
IMSIN = SANSIN ## Karmaşık bir sayının sinüsünü verir.
|
||||||
DEC2OCT = DEC2OCT ## Ondalık bir sayıyı sekizliğe dönüştürür.
|
IMSQRT = SANKAREKÖK ## Karmaşık bir sayının karekökünü verir.
|
||||||
DELTA = DELTA ## İki değerin eşit olup olmadığını sınar.
|
IMSUB = SANÇIKAR ## İki karmaşık sayının farkını verir.
|
||||||
ERF = HATAİŞLEV ## Hata işlevini verir.
|
IMSUM = SANTOPLA ## Karmaşık sayıların toplamını verir.
|
||||||
ERFC = TÜMHATAİŞLEV ## Tümleyici hata işlevini verir.
|
OCT2BIN = OCT2BIN ## Sekizli bir sayıyı ikiliye dönüştürür.
|
||||||
GESTEP = BESINIR ## Bir sayının eşik değerinden büyük olup olmadığını sınar.
|
OCT2DEC = OCT2DEC ## Sekizli bir sayıyı ondalığa dönüştürür.
|
||||||
HEX2BIN = HEX2BIN ## Onaltılı bir sayıyı ikiliye dönüştürür.
|
OCT2HEX = OCT2HEX ## Sekizli bir sayıyı onaltılıya dönüştürür.
|
||||||
HEX2DEC = HEX2DEC ## Onaltılı bir sayıyı ondalığa dönüştürür.
|
|
||||||
HEX2OCT = HEX2OCT ## Onaltılı bir sayıyı sekizliğe dönüştürür.
|
|
||||||
IMABS = SANMUTLAK ## Karmaşık bir sayının mutlak değerini (modül) verir.
|
##
|
||||||
IMAGINARY = SANAL ## Karmaşık bir sayının sanal katsayısını verir.
|
## Financial functions Finansal fonksiyonlar
|
||||||
IMARGUMENT = SANBAĞ_DEĞİŞKEN ## Radyanlarla belirtilen bir açı olan teta bağımsız değişkenini verir.
|
##
|
||||||
IMCONJUGATE = SANEŞLENEK ## Karmaşık bir sayının karmaşık eşleniğini verir.
|
ACCRINT = GERÇEKFAİZ ## Dönemsel faiz ödeyen hisse senedine ilişkin tahakkuk eden faizi getirir.
|
||||||
IMCOS = SANCOS ## Karmaşık bir sayının kosinüsünü verir.
|
ACCRINTM = GERÇEKFAİZV ## Vadesinde ödeme yapan bir tahvilin tahakkuk etmiş faizini verir.
|
||||||
IMDIV = SANBÖL ## İki karmaşık sayının bölümünü verir.
|
AMORDEGRC = AMORDEGRC ## Yıpranma katsayısı kullanarak her hesap döneminin değer kaybını verir.
|
||||||
IMEXP = SANÜS ## Karmaşık bir sayının üssünü verir.
|
AMORLINC = AMORLINC ## Her hesap dönemi içindeki yıpranmayı verir.
|
||||||
IMLN = SANLN ## Karmaşık bir sayının doğal logaritmasını verir.
|
COUPDAYBS = KUPONGÜNBD ## Kupon süresinin başlangıcından alış tarihine kadar olan süredeki gün sayısını verir.
|
||||||
IMLOG10 = SANLOG10 ## Karmaşık bir sayının, 10 tabanında logaritmasını verir.
|
COUPDAYS = KUPONGÜN ## Kupon süresindeki, gün sayısını, alış tarihini de içermek üzere, verir.
|
||||||
IMLOG2 = SANLOG2 ## Karmaşık bir sayının 2 tabanında logaritmasını verir.
|
COUPDAYSNC = KUPONGÜNDSK ## Alış tarihinden bir sonraki kupon tarihine kadar olan gün sayısını verir.
|
||||||
IMPOWER = SANÜSSÜ ## Karmaşık bir sayıyı, bir tamsayı üssüne yükseltilmiş olarak verir.
|
COUPNCD = KUPONGÜNSKT ## Alış tarihinden bir sonraki kupon tarihini verir.
|
||||||
IMPRODUCT = SANÇARP ## Karmaşık sayıların çarpımını verir.
|
COUPNUM = KUPONSAYI ## Alış tarihiyle vade tarihi arasında ödenecek kuponların sayısını verir.
|
||||||
IMREAL = SANGERÇEK ## Karmaşık bir sayının, gerçek katsayısını verir.
|
COUPPCD = KUPONGÜNÖKT ## Alış tarihinden bir önceki kupon tarihini verir.
|
||||||
IMSIN = SANSIN ## Karmaşık bir sayının sinüsünü verir.
|
CUMIPMT = AİÇVERİMORANI ## İki dönem arasında ödenen kümülatif faizi verir.
|
||||||
IMSQRT = SANKAREKÖK ## Karmaşık bir sayının karekökünü verir.
|
CUMPRINC = ANA_PARA_ÖDEMESİ ## İki dönem arasında bir borç üzerine ödenen birikimli temeli verir.
|
||||||
IMSUB = SANÇIKAR ## İki karmaşık sayının farkını verir.
|
DB = AZALANBAKİYE ## Bir malın belirtilen bir süre içindeki yıpranmasını, sabit azalan bakiye yöntemini kullanarak verir.
|
||||||
IMSUM = SANTOPLA ## Karmaşık sayıların toplamını verir.
|
DDB = ÇİFTAZALANBAKİYE ## Bir malın belirtilen bir süre içindeki yıpranmasını, çift azalan bakiye yöntemi ya da sizin belirttiğiniz başka bir yöntemi kullanarak verir.
|
||||||
OCT2BIN = OCT2BIN ## Sekizli bir sayıyı ikiliye dönüştürür.
|
DISC = İNDİRİM ## Bir tahvilin indirim oranını verir.
|
||||||
OCT2DEC = OCT2DEC ## Sekizli bir sayıyı ondalığa dönüştürür.
|
DOLLARDE = LİRAON ## Kesir olarak tanımlanmış lira fiyatını, ondalık sayı olarak tanımlanmış lira fiyatına dönüştürür.
|
||||||
OCT2HEX = OCT2HEX ## Sekizli bir sayıyı onaltılıya dönüştürür.
|
DOLLARFR = LİRAKES ## Ondalık sayı olarak tanımlanmış lira fiyatını, kesir olarak tanımlanmış lira fiyatına dönüştürür.
|
||||||
|
DURATION = SÜRE ## Belli aralıklarla faiz ödemesi yapan bir tahvilin yıllık süresini verir.
|
||||||
|
EFFECT = ETKİN ## Efektif yıllık faiz oranını verir.
|
||||||
##
|
FV = ANBD ## Bir yatırımın gelecekteki değerini verir.
|
||||||
## Financial functions Finansal fonksiyonlar
|
FVSCHEDULE = GDPROGRAM ## Bir seri birleşik faiz oranı uyguladıktan sonra, bir başlangıçtaki anaparanın gelecekteki değerini verir.
|
||||||
##
|
INTRATE = FAİZORANI ## Tam olarak yatırım yapılmış bir tahvilin faiz oranını verir.
|
||||||
ACCRINT = GERÇEKFAİZ ## Dönemsel faiz ödeyen hisse senedine ilişkin tahakkuk eden faizi getirir.
|
IPMT = FAİZTUTARI ## Bir yatırımın verilen bir süre için faiz ödemesini verir.
|
||||||
ACCRINTM = GERÇEKFAİZV ## Vadesinde ödeme yapan bir tahvilin tahakkuk etmiş faizini verir.
|
IRR = İÇ_VERİM_ORANI ## Bir para akışı serisi için, iç verim oranını verir.
|
||||||
AMORDEGRC = AMORDEGRC ## Yıpranma katsayısı kullanarak her hesap döneminin değer kaybını verir.
|
ISPMT = ISPMT ## Yatırımın belirli bir dönemi boyunca ödenen faizi hesaplar.
|
||||||
AMORLINC = AMORLINC ## Her hesap dönemi içindeki yıpranmayı verir.
|
MDURATION = MSÜRE ## Varsayılan par değeri 10.000.000 lira olan bir tahvil için Macauley değiştirilmiş süreyi verir.
|
||||||
COUPDAYBS = KUPONGÜNBD ## Kupon süresinin başlangıcından alış tarihine kadar olan süredeki gün sayısını verir.
|
MIRR = D_İÇ_VERİM_ORANI ## Pozitif ve negatif para akışlarının farklı oranlarda finanse edildiği durumlarda, iç verim oranını verir.
|
||||||
COUPDAYS = KUPONGÜN ## Kupon süresindeki, gün sayısını, alış tarihini de içermek üzere, verir.
|
NOMINAL = NOMİNAL ## Yıllık nominal faiz oranını verir.
|
||||||
COUPDAYSNC = KUPONGÜNDSK ## Alış tarihinden bir sonraki kupon tarihine kadar olan gün sayısını verir.
|
NPER = DÖNEM_SAYISI ## Bir yatırımın dönem sayısını verir.
|
||||||
COUPNCD = KUPONGÜNSKT ## Alış tarihinden bir sonraki kupon tarihini verir.
|
NPV = NBD ## Bir yatırımın bugünkü net değerini, bir dönemsel para akışları serisine ve bir indirim oranına bağlı olarak verir.
|
||||||
COUPNUM = KUPONSAYI ## Alış tarihiyle vade tarihi arasında ödenecek kuponların sayısını verir.
|
ODDFPRICE = TEKYDEĞER ## Tek bir ilk dönemi olan bir tahvilin değerini, her 100.000.000 lirada bir verir.
|
||||||
COUPPCD = KUPONGÜNÖKT ## Alış tarihinden bir önceki kupon tarihini verir.
|
ODDFYIELD = TEKYÖDEME ## Tek bir ilk dönemi olan bir tahvilin ödemesini verir.
|
||||||
CUMIPMT = AİÇVERİMORANI ## İki dönem arasında ödenen kümülatif faizi verir.
|
ODDLPRICE = TEKSDEĞER ## Tek bir son dönemi olan bir tahvilin fiyatını her 10.000.000 lirada bir verir.
|
||||||
CUMPRINC = ANA_PARA_ÖDEMESİ ## İki dönem arasında bir borç üzerine ödenen birikimli temeli verir.
|
ODDLYIELD = TEKSÖDEME ## Tek bir son dönemi olan bir tahvilin ödemesini verir.
|
||||||
DB = AZALANBAKİYE ## Bir malın belirtilen bir süre içindeki yıpranmasını, sabit azalan bakiye yöntemini kullanarak verir.
|
PMT = DEVRESEL_ÖDEME ## Bir yıllık dönemsel ödemeyi verir.
|
||||||
DDB = ÇİFTAZALANBAKİYE ## Bir malın belirtilen bir süre içindeki yıpranmasını, çift azalan bakiye yöntemi ya da sizin belirttiğiniz başka bir yöntemi kullanarak verir.
|
PPMT = ANA_PARA_ÖDEMESİ ## Verilen bir süre için, bir yatırımın anaparasına dayanan ödemeyi verir.
|
||||||
DISC = İNDİRİM ## Bir tahvilin indirim oranını verir.
|
PRICE = DEĞER ## Dönemsel faiz ödeyen bir tahvilin fiyatını 10.000.00 liralık değer başına verir.
|
||||||
DOLLARDE = LİRAON ## Kesir olarak tanımlanmış lira fiyatını, ondalık sayı olarak tanımlanmış lira fiyatına dönüştürür.
|
PRICEDISC = DEĞERİND ## İndirimli bir tahvilin fiyatını 10.000.000 liralık nominal değer başına verir.
|
||||||
DOLLARFR = LİRAKES ## Ondalık sayı olarak tanımlanmış lira fiyatını, kesir olarak tanımlanmış lira fiyatına dönüştürür.
|
PRICEMAT = DEĞERVADE ## Faizini vade sonunda ödeyen bir tahvilin fiyatını 10.000.000 nominal değer başına verir.
|
||||||
DURATION = SÜRE ## Belli aralıklarla faiz ödemesi yapan bir tahvilin yıllık süresini verir.
|
PV = BD ## Bir yatırımın bugünkü değerini verir.
|
||||||
EFFECT = ETKİN ## Efektif yıllık faiz oranını verir.
|
RATE = FAİZ_ORANI ## Bir yıllık dönem başına düşen faiz oranını verir.
|
||||||
FV = ANBD ## Bir yatırımın gelecekteki değerini verir.
|
RECEIVED = GETİRİ ## Tam olarak yatırılmış bir tahvilin vadesinin bitiminde alınan miktarı verir.
|
||||||
FVSCHEDULE = GDPROGRAM ## Bir seri birleşik faiz oranı uyguladıktan sonra, bir başlangıçtaki anaparanın gelecekteki değerini verir.
|
SLN = DA ## Bir malın bir dönem içindeki doğrusal yıpranmasını verir.
|
||||||
INTRATE = FAİZORANI ## Tam olarak yatırım yapılmış bir tahvilin faiz oranını verir.
|
SYD = YAT ## Bir malın belirli bir dönem için olan amortismanını verir.
|
||||||
IPMT = FAİZTUTARI ## Bir yatırımın verilen bir süre için faiz ödemesini verir.
|
TBILLEQ = HTAHEŞ ## Bir Hazine bonosunun bono eşdeğeri ödemesini verir.
|
||||||
IRR = İÇ_VERİM_ORANI ## Bir para akışı serisi için, iç verim oranını verir.
|
TBILLPRICE = HTAHDEĞER ## Bir Hazine bonosunun değerini, 10.000.000 liralık nominal değer başına verir.
|
||||||
ISPMT = ISPMT ## Yatırımın belirli bir dönemi boyunca ödenen faizi hesaplar.
|
TBILLYIELD = HTAHÖDEME ## Bir Hazine bonosunun ödemesini verir.
|
||||||
MDURATION = MSÜRE ## Varsayılan par değeri 10.000.000 lira olan bir tahvil için Macauley değiştirilmiş süreyi verir.
|
VDB = DAB ## Bir malın amortismanını, belirlenmiş ya da kısmi bir dönem için, bir azalan bakiye yöntemi kullanarak verir.
|
||||||
MIRR = D_İÇ_VERİM_ORANI ## Pozitif ve negatif para akışlarının farklı oranlarda finanse edildiği durumlarda, iç verim oranını verir.
|
XIRR = AİÇVERİMORANI ## Dönemsel olması gerekmeyen bir para akışları programı için, iç verim oranını verir.
|
||||||
NOMINAL = NOMİNAL ## Yıllık nominal faiz oranını verir.
|
XNPV = ANBD ## Dönemsel olması gerekmeyen bir para akışları programı için, bugünkü net değeri verir.
|
||||||
NPER = DÖNEM_SAYISI ## Bir yatırımın dönem sayısını verir.
|
YIELD = ÖDEME ## Belirli aralıklarla faiz ödeyen bir tahvilin ödemesini verir.
|
||||||
NPV = NBD ## Bir yatırımın bugünkü net değerini, bir dönemsel para akışları serisine ve bir indirim oranına bağlı olarak verir.
|
YIELDDISC = ÖDEMEİND ## İndirimli bir tahvilin yıllık ödemesini verir; örneğin, bir Hazine bonosunun.
|
||||||
ODDFPRICE = TEKYDEĞER ## Tek bir ilk dönemi olan bir tahvilin değerini, her 100.000.000 lirada bir verir.
|
YIELDMAT = ÖDEMEVADE ## Vadesinin bitiminde faiz ödeyen bir tahvilin yıllık ödemesini verir.
|
||||||
ODDFYIELD = TEKYÖDEME ## Tek bir ilk dönemi olan bir tahvilin ödemesini verir.
|
|
||||||
ODDLPRICE = TEKSDEĞER ## Tek bir son dönemi olan bir tahvilin fiyatını her 10.000.000 lirada bir verir.
|
|
||||||
ODDLYIELD = TEKSÖDEME ## Tek bir son dönemi olan bir tahvilin ödemesini verir.
|
##
|
||||||
PMT = DEVRESEL_ÖDEME ## Bir yıllık dönemsel ödemeyi verir.
|
## Information functions Bilgi fonksiyonları
|
||||||
PPMT = ANA_PARA_ÖDEMESİ ## Verilen bir süre için, bir yatırımın anaparasına dayanan ödemeyi verir.
|
##
|
||||||
PRICE = DEĞER ## Dönemsel faiz ödeyen bir tahvilin fiyatını 10.000.00 liralık değer başına verir.
|
CELL = HÜCRE ## Bir hücrenin biçimlendirmesi, konumu ya da içeriği hakkında bilgi verir.
|
||||||
PRICEDISC = DEĞERİND ## İndirimli bir tahvilin fiyatını 10.000.000 liralık nominal değer başına verir.
|
ERROR.TYPE = HATA.TİPİ ## Bir hata türüne ilişkin sayıları verir.
|
||||||
PRICEMAT = DEĞERVADE ## Faizini vade sonunda ödeyen bir tahvilin fiyatını 10.000.000 nominal değer başına verir.
|
INFO = BİLGİ ## Geçerli işletim ortamı hakkında bilgi verir.
|
||||||
PV = BD ## Bir yatırımın bugünkü değerini verir.
|
ISBLANK = EBOŞSA ## Değer boşsa, DOĞRU verir.
|
||||||
RATE = FAİZ_ORANI ## Bir yıllık dönem başına düşen faiz oranını verir.
|
ISERR = EHATA ## Değer, #YOK dışındaki bir hata değeriyse, DOĞRU verir.
|
||||||
RECEIVED = GETİRİ ## Tam olarak yatırılmış bir tahvilin vadesinin bitiminde alınan miktarı verir.
|
ISERROR = EHATALIYSA ## Değer, herhangi bir hata değeriyse, DOĞRU verir.
|
||||||
SLN = DA ## Bir malın bir dönem içindeki doğrusal yıpranmasını verir.
|
ISEVEN = ÇİFTTİR ## Sayı çiftse, DOĞRU verir.
|
||||||
SYD = YAT ## Bir malın belirli bir dönem için olan amortismanını verir.
|
ISLOGICAL = EMANTIKSALSA ## Değer, mantıksal bir değerse, DOĞRU verir.
|
||||||
TBILLEQ = HTAHEŞ ## Bir Hazine bonosunun bono eşdeğeri ödemesini verir.
|
ISNA = EYOKSA ## Değer, #YOK hata değeriyse, DOĞRU verir.
|
||||||
TBILLPRICE = HTAHDEĞER ## Bir Hazine bonosunun değerini, 10.000.000 liralık nominal değer başına verir.
|
ISNONTEXT = EMETİNDEĞİLSE ## Değer, metin değilse, DOĞRU verir.
|
||||||
TBILLYIELD = HTAHÖDEME ## Bir Hazine bonosunun ödemesini verir.
|
ISNUMBER = ESAYIYSA ## Değer, bir sayıysa, DOĞRU verir.
|
||||||
VDB = DAB ## Bir malın amortismanını, belirlenmiş ya da kısmi bir dönem için, bir azalan bakiye yöntemi kullanarak verir.
|
ISODD = TEKTİR ## Sayı tekse, DOĞRU verir.
|
||||||
XIRR = AİÇVERİMORANI ## Dönemsel olması gerekmeyen bir para akışları programı için, iç verim oranını verir.
|
ISREF = EREFSE ## Değer bir başvuruysa, DOĞRU verir.
|
||||||
XNPV = ANBD ## Dönemsel olması gerekmeyen bir para akışları programı için, bugünkü net değeri verir.
|
ISTEXT = EMETİNSE ## Değer bir metinse DOĞRU verir.
|
||||||
YIELD = ÖDEME ## Belirli aralıklarla faiz ödeyen bir tahvilin ödemesini verir.
|
N = N ## Sayıya dönüştürülmüş bir değer verir.
|
||||||
YIELDDISC = ÖDEMEİND ## İndirimli bir tahvilin yıllık ödemesini verir; örneğin, bir Hazine bonosunun.
|
NA = YOKSAY ## #YOK hata değerini verir.
|
||||||
YIELDMAT = ÖDEMEVADE ## Vadesinin bitiminde faiz ödeyen bir tahvilin yıllık ödemesini verir.
|
TYPE = TİP ## Bir değerin veri türünü belirten bir sayı verir.
|
||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Information functions Bilgi fonksiyonları
|
## Logical functions Mantıksal fonksiyonlar
|
||||||
##
|
##
|
||||||
CELL = HÜCRE ## Bir hücrenin biçimlendirmesi, konumu ya da içeriği hakkında bilgi verir.
|
AND = VE ## Bütün bağımsız değişkenleri DOĞRU ise, DOĞRU verir.
|
||||||
ERROR.TYPE = HATA.TİPİ ## Bir hata türüne ilişkin sayıları verir.
|
FALSE = YANLIŞ ## YANLIŞ mantıksal değerini verir.
|
||||||
INFO = BİLGİ ## Geçerli işletim ortamı hakkında bilgi verir.
|
IF = EĞER ## Gerçekleştirilecek bir mantıksal sınama belirtir.
|
||||||
ISBLANK = EBOŞSA ## Değer boşsa, DOĞRU verir.
|
IFERROR = EĞERHATA ## Formül hatalıysa belirttiğiniz değeri verir; bunun dışındaki durumlarda formülün sonucunu verir.
|
||||||
ISERR = EHATA ## Değer, #YOK dışındaki bir hata değeriyse, DOĞRU verir.
|
NOT = DEĞİL ## Bağımsız değişkeninin mantığını tersine çevirir.
|
||||||
ISERROR = EHATALIYSA ## Değer, herhangi bir hata değeriyse, DOĞRU verir.
|
OR = YADA ## Bağımsız değişkenlerden herhangi birisi DOĞRU ise, DOĞRU verir.
|
||||||
ISEVEN = ÇİFTTİR ## Sayı çiftse, DOĞRU verir.
|
TRUE = DOĞRU ## DOĞRU mantıksal değerini verir.
|
||||||
ISLOGICAL = EMANTIKSALSA ## Değer, mantıksal bir değerse, DOĞRU verir.
|
|
||||||
ISNA = EYOKSA ## Değer, #YOK hata değeriyse, DOĞRU verir.
|
|
||||||
ISNONTEXT = EMETİNDEĞİLSE ## Değer, metin değilse, DOĞRU verir.
|
##
|
||||||
ISNUMBER = ESAYIYSA ## Değer, bir sayıysa, DOĞRU verir.
|
## Lookup and reference functions Arama ve Başvuru fonksiyonları
|
||||||
ISODD = TEKTİR ## Sayı tekse, DOĞRU verir.
|
##
|
||||||
ISREF = EREFSE ## Değer bir başvuruysa, DOĞRU verir.
|
ADDRESS = ADRES ## Bir başvuruyu, çalışma sayfasındaki tek bir hücreye metin olarak verir.
|
||||||
ISTEXT = EMETİNSE ## Değer bir metinse DOĞRU verir.
|
AREAS = ALANSAY ## Renvoie le nombre de zones dans une référence.
|
||||||
N = N ## Sayıya dönüştürülmüş bir değer verir.
|
CHOOSE = ELEMAN ## Değerler listesinden bir değer seçer.
|
||||||
NA = YOKSAY ## #YOK hata değerini verir.
|
COLUMN = SÜTUN ## Bir başvurunun sütun sayısını verir.
|
||||||
TYPE = TİP ## Bir değerin veri türünü belirten bir sayı verir.
|
COLUMNS = SÜTUNSAY ## Bir başvurudaki sütunların sayısını verir.
|
||||||
|
HLOOKUP = YATAYARA ## Bir dizinin en üst satırına bakar ve belirtilen hücrenin değerini verir.
|
||||||
|
HYPERLINK = KÖPRÜ ## Bir ağ sunucusunda, bir intranette ya da Internet'te depolanan bir belgeyi açan bir kısayol ya da atlama oluşturur.
|
||||||
##
|
INDEX = İNDİS ## Başvurudan veya diziden bir değer seçmek için, bir dizin kullanır.
|
||||||
## Logical functions Mantıksal fonksiyonlar
|
INDIRECT = DOLAYLI ## Metin değeriyle belirtilen bir başvuru verir.
|
||||||
##
|
LOOKUP = ARA ## Bir vektördeki veya dizideki değerleri arar.
|
||||||
AND = VE ## Bütün bağımsız değişkenleri DOĞRU ise, DOĞRU verir.
|
MATCH = KAÇINCI ## Bir başvurudaki veya dizideki değerleri arar.
|
||||||
FALSE = YANLIŞ ## YANLIŞ mantıksal değerini verir.
|
OFFSET = KAYDIR ## Verilen bir başvurudan, bir başvuru kaydırmayı verir.
|
||||||
IF = EĞER ## Gerçekleştirilecek bir mantıksal sınama belirtir.
|
ROW = SATIR ## Bir başvurunun satır sayısını verir.
|
||||||
IFERROR = EĞERHATA ## Formül hatalıysa belirttiğiniz değeri verir; bunun dışındaki durumlarda formülün sonucunu verir.
|
ROWS = SATIRSAY ## Bir başvurudaki satırların sayısını verir.
|
||||||
NOT = DEĞİL ## Bağımsız değişkeninin mantığını tersine çevirir.
|
RTD = RTD ## COM otomasyonunu destekleyen programdan gerçek zaman verileri alır.
|
||||||
OR = YADA ## Bağımsız değişkenlerden herhangi birisi DOĞRU ise, DOĞRU verir.
|
TRANSPOSE = DEVRİK_DÖNÜŞÜM ## Bir dizinin devrik dönüşümünü verir.
|
||||||
TRUE = DOĞRU ## DOĞRU mantıksal değerini verir.
|
VLOOKUP = DÜŞEYARA ## Bir dizinin ilk sütununa bakar ve bir hücrenin değerini vermek için satır boyunca hareket eder.
|
||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Lookup and reference functions Arama ve Başvuru fonksiyonları
|
## Math and trigonometry functions Matematik ve trigonometri fonksiyonları
|
||||||
##
|
##
|
||||||
ADDRESS = ADRES ## Bir başvuruyu, çalışma sayfasındaki tek bir hücreye metin olarak verir.
|
ABS = MUTLAK ## Bir sayının mutlak değerini verir.
|
||||||
AREAS = ALANSAY ## Renvoie le nombre de zones dans une référence.
|
ACOS = ACOS ## Bir sayının ark kosinüsünü verir.
|
||||||
CHOOSE = ELEMAN ## Değerler listesinden bir değer seçer.
|
ACOSH = ACOSH ## Bir sayının ters hiperbolik kosinüsünü verir.
|
||||||
COLUMN = SÜTUN ## Bir başvurunun sütun sayısını verir.
|
ASIN = ASİN ## Bir sayının ark sinüsünü verir.
|
||||||
COLUMNS = SÜTUNSAY ## Bir başvurudaki sütunların sayısını verir.
|
ASINH = ASİNH ## Bir sayının ters hiperbolik sinüsünü verir.
|
||||||
HLOOKUP = YATAYARA ## Bir dizinin en üst satırına bakar ve belirtilen hücrenin değerini verir.
|
ATAN = ATAN ## Bir sayının ark tanjantını verir.
|
||||||
HYPERLINK = KÖPRÜ ## Bir ağ sunucusunda, bir intranette ya da Internet'te depolanan bir belgeyi açan bir kısayol ya da atlama oluşturur.
|
ATAN2 = ATAN2 ## Ark tanjantı, x- ve y- koordinatlarından verir.
|
||||||
INDEX = İNDİS ## Başvurudan veya diziden bir değer seçmek için, bir dizin kullanır.
|
ATANH = ATANH ## Bir sayının ters hiperbolik tanjantını verir.
|
||||||
INDIRECT = DOLAYLI ## Metin değeriyle belirtilen bir başvuru verir.
|
CEILING = TAVANAYUVARLA ## Bir sayıyı, en yakın tamsayıya ya da en yakın katına yuvarlar.
|
||||||
LOOKUP = ARA ## Bir vektördeki veya dizideki değerleri arar.
|
COMBIN = KOMBİNASYON ## Verilen sayıda öğenin kombinasyon sayısını verir.
|
||||||
MATCH = KAÇINCI ## Bir başvurudaki veya dizideki değerleri arar.
|
COS = COS ## Bir sayının kosinüsünü verir.
|
||||||
OFFSET = KAYDIR ## Verilen bir başvurudan, bir başvuru kaydırmayı verir.
|
COSH = COSH ## Bir sayının hiperbolik kosinüsünü verir.
|
||||||
ROW = SATIR ## Bir başvurunun satır sayısını verir.
|
DEGREES = DERECE ## Radyanları dereceye dönüştürür.
|
||||||
ROWS = SATIRSAY ## Bir başvurudaki satırların sayısını verir.
|
EVEN = ÇİFT ## Bir sayıyı, en yakın daha büyük çift tamsayıya yuvarlar.
|
||||||
RTD = RTD ## COM otomasyonunu destekleyen programdan gerçek zaman verileri alır.
|
EXP = ÜS ## e'yi, verilen bir sayının üssüne yükseltilmiş olarak verir.
|
||||||
TRANSPOSE = DEVRİK_DÖNÜŞÜM ## Bir dizinin devrik dönüşümünü verir.
|
FACT = ÇARPINIM ## Bir sayının faktörünü verir.
|
||||||
VLOOKUP = DÜŞEYARA ## Bir dizinin ilk sütununa bakar ve bir hücrenin değerini vermek için satır boyunca hareket eder.
|
FACTDOUBLE = ÇİFTFAKTÖR ## Bir sayının çift çarpınımını verir.
|
||||||
|
FLOOR = TABANAYUVARLA ## Bir sayıyı, daha küçük sayıya, sıfıra yakınsayarak yuvarlar.
|
||||||
|
GCD = OBEB ## En büyük ortak böleni verir.
|
||||||
##
|
INT = TAMSAYI ## Bir sayıyı aşağıya doğru en yakın tamsayıya yuvarlar.
|
||||||
## Math and trigonometry functions Matematik ve trigonometri fonksiyonları
|
LCM = OKEK ## En küçük ortak katı verir.
|
||||||
##
|
LN = LN ## Bir sayının doğal logaritmasını verir.
|
||||||
ABS = MUTLAK ## Bir sayının mutlak değerini verir.
|
LOG = LOG ## Bir sayının, belirtilen bir tabandaki logaritmasını verir.
|
||||||
ACOS = ACOS ## Bir sayının ark kosinüsünü verir.
|
LOG10 = LOG10 ## Bir sayının 10 tabanında logaritmasını verir.
|
||||||
ACOSH = ACOSH ## Bir sayının ters hiperbolik kosinüsünü verir.
|
MDETERM = DETERMİNANT ## Bir dizinin dizey determinantını verir.
|
||||||
ASIN = ASİN ## Bir sayının ark sinüsünü verir.
|
MINVERSE = DİZEY_TERS ## Bir dizinin dizey tersini verir.
|
||||||
ASINH = ASİNH ## Bir sayının ters hiperbolik sinüsünü verir.
|
MMULT = DÇARP ## İki dizinin dizey çarpımını verir.
|
||||||
ATAN = ATAN ## Bir sayının ark tanjantını verir.
|
MOD = MODÜLO ## Bölmeden kalanı verir.
|
||||||
ATAN2 = ATAN2 ## Ark tanjantı, x- ve y- koordinatlarından verir.
|
MROUND = KYUVARLA ## İstenen kata yuvarlanmış bir sayı verir.
|
||||||
ATANH = ATANH ## Bir sayının ters hiperbolik tanjantını verir.
|
MULTINOMIAL = ÇOKTERİMLİ ## Bir sayılar kümesinin çok terimlisini verir.
|
||||||
CEILING = TAVANAYUVARLA ## Bir sayıyı, en yakın tamsayıya ya da en yakın katına yuvarlar.
|
ODD = TEK ## Bir sayıyı en yakın daha büyük tek sayıya yuvarlar.
|
||||||
COMBIN = KOMBİNASYON ## Verilen sayıda öğenin kombinasyon sayısını verir.
|
PI = Pİ ## Pi değerini verir.
|
||||||
COS = COS ## Bir sayının kosinüsünü verir.
|
POWER = KUVVET ## Bir üsse yükseltilmiş sayının sonucunu verir.
|
||||||
COSH = COSH ## Bir sayının hiperbolik kosinüsünü verir.
|
PRODUCT = ÇARPIM ## Bağımsız değişkenlerini çarpar.
|
||||||
DEGREES = DERECE ## Radyanları dereceye dönüştürür.
|
QUOTIENT = BÖLÜM ## Bir bölme işleminin tamsayı kısmını verir.
|
||||||
EVEN = ÇİFT ## Bir sayıyı, en yakın daha büyük çift tamsayıya yuvarlar.
|
RADIANS = RADYAN ## Dereceleri radyanlara dönüştürür.
|
||||||
EXP = ÜS ## e'yi, verilen bir sayının üssüne yükseltilmiş olarak verir.
|
RAND = S_SAYI_ÜRET ## 0 ile 1 arasında rastgele bir sayı verir.
|
||||||
FACT = ÇARPINIM ## Bir sayının faktörünü verir.
|
RANDBETWEEN = RASTGELEARALIK ## Belirttiğiniz sayılar arasında rastgele bir sayı verir.
|
||||||
FACTDOUBLE = ÇİFTFAKTÖR ## Bir sayının çift çarpınımını verir.
|
ROMAN = ROMEN ## Bir normal rakamı, metin olarak, romen rakamına çevirir.
|
||||||
FLOOR = TABANAYUVARLA ## Bir sayıyı, daha küçük sayıya, sıfıra yakınsayarak yuvarlar.
|
ROUND = YUVARLA ## Bir sayıyı, belirtilen basamak sayısına yuvarlar.
|
||||||
GCD = OBEB ## En büyük ortak böleni verir.
|
ROUNDDOWN = AŞAĞIYUVARLA ## Bir sayıyı, daha küçük sayıya, sıfıra yakınsayarak yuvarlar.
|
||||||
INT = TAMSAYI ## Bir sayıyı aşağıya doğru en yakın tamsayıya yuvarlar.
|
ROUNDUP = YUKARIYUVARLA ## Bir sayıyı daha büyük sayıya, sıfırdan ıraksayarak yuvarlar.
|
||||||
LCM = OKEK ## En küçük ortak katı verir.
|
SERIESSUM = SERİTOPLA ## Bir üs serisinin toplamını, formüle bağlı olarak verir.
|
||||||
LN = LN ## Bir sayının doğal logaritmasını verir.
|
SIGN = İŞARET ## Bir sayının işaretini verir.
|
||||||
LOG = LOG ## Bir sayının, belirtilen bir tabandaki logaritmasını verir.
|
SIN = SİN ## Verilen bir açının sinüsünü verir.
|
||||||
LOG10 = LOG10 ## Bir sayının 10 tabanında logaritmasını verir.
|
SINH = SİNH ## Bir sayının hiperbolik sinüsünü verir.
|
||||||
MDETERM = DETERMİNANT ## Bir dizinin dizey determinantını verir.
|
SQRT = KAREKÖK ## Pozitif bir karekök verir.
|
||||||
MINVERSE = DİZEY_TERS ## Bir dizinin dizey tersini verir.
|
SQRTPI = KAREKÖKPİ ## (* Pi sayısının) kare kökünü verir.
|
||||||
MMULT = DÇARP ## İki dizinin dizey çarpımını verir.
|
SUBTOTAL = ALTTOPLAM ## Bir listedeki ya da veritabanındaki bir alt toplamı verir.
|
||||||
MOD = MODÜLO ## Bölmeden kalanı verir.
|
SUM = TOPLA ## Bağımsız değişkenlerini toplar.
|
||||||
MROUND = KYUVARLA ## İstenen kata yuvarlanmış bir sayı verir.
|
SUMIF = ETOPLA ## Verilen ölçütle belirlenen hücreleri toplar.
|
||||||
MULTINOMIAL = ÇOKTERİMLİ ## Bir sayılar kümesinin çok terimlisini verir.
|
SUMIFS = SUMIFS ## Bir aralıktaki, birden fazla ölçüte uyan hücreleri ekler.
|
||||||
ODD = TEK ## Bir sayıyı en yakın daha büyük tek sayıya yuvarlar.
|
SUMPRODUCT = TOPLA.ÇARPIM ## İlişkili dizi bileşenlerinin çarpımlarının toplamını verir.
|
||||||
PI = Pİ ## Pi değerini verir.
|
SUMSQ = TOPKARE ## Bağımsız değişkenlerin karelerinin toplamını verir.
|
||||||
POWER = KUVVET ## Bir üsse yükseltilmiş sayının sonucunu verir.
|
SUMX2MY2 = TOPX2EY2 ## İki dizideki ilişkili değerlerin farkının toplamını verir.
|
||||||
PRODUCT = ÇARPIM ## Bağımsız değişkenlerini çarpar.
|
SUMX2PY2 = TOPX2AY2 ## İki dizideki ilişkili değerlerin karelerinin toplamının toplamını verir.
|
||||||
QUOTIENT = BÖLÜM ## Bir bölme işleminin tamsayı kısmını verir.
|
SUMXMY2 = TOPXEY2 ## İki dizideki ilişkili değerlerin farklarının karelerinin toplamını verir.
|
||||||
RADIANS = RADYAN ## Dereceleri radyanlara dönüştürür.
|
TAN = TAN ## Bir sayının tanjantını verir.
|
||||||
RAND = S_SAYI_ÜRET ## 0 ile 1 arasında rastgele bir sayı verir.
|
TANH = TANH ## Bir sayının hiperbolik tanjantını verir.
|
||||||
RANDBETWEEN = RASTGELEARALIK ## Belirttiğiniz sayılar arasında rastgele bir sayı verir.
|
TRUNC = NSAT ## Bir sayının, tamsayı durumuna gelecek şekilde, fazlalıklarını atar.
|
||||||
ROMAN = ROMEN ## Bir normal rakamı, metin olarak, romen rakamına çevirir.
|
|
||||||
ROUND = YUVARLA ## Bir sayıyı, belirtilen basamak sayısına yuvarlar.
|
|
||||||
ROUNDDOWN = AŞAĞIYUVARLA ## Bir sayıyı, daha küçük sayıya, sıfıra yakınsayarak yuvarlar.
|
##
|
||||||
ROUNDUP = YUKARIYUVARLA ## Bir sayıyı daha büyük sayıya, sıfırdan ıraksayarak yuvarlar.
|
## Statistical functions İstatistiksel fonksiyonlar
|
||||||
SERIESSUM = SERİTOPLA ## Bir üs serisinin toplamını, formüle bağlı olarak verir.
|
##
|
||||||
SIGN = İŞARET ## Bir sayının işaretini verir.
|
AVEDEV = ORTSAP ## Veri noktalarının ortalamalarından mutlak sapmalarının ortalamasını verir.
|
||||||
SIN = SİN ## Verilen bir açının sinüsünü verir.
|
AVERAGE = ORTALAMA ## Bağımsız değişkenlerinin ortalamasını verir.
|
||||||
SINH = SİNH ## Bir sayının hiperbolik sinüsünü verir.
|
AVERAGEA = ORTALAMAA ## Bağımsız değişkenlerinin, sayılar, metin ve mantıksal değerleri içermek üzere ortalamasını verir.
|
||||||
SQRT = KAREKÖK ## Pozitif bir karekök verir.
|
AVERAGEIF = EĞERORTALAMA ## Verili ölçütü karşılayan bir aralıktaki bütün hücrelerin ortalamasını (aritmetik ortalama) hesaplar.
|
||||||
SQRTPI = KAREKÖKPİ ## (* Pi sayısının) kare kökünü verir.
|
AVERAGEIFS = EĞERLERORTALAMA ## Birden çok ölçüte uyan tüm hücrelerin ortalamasını (aritmetik ortalama) hesaplar.
|
||||||
SUBTOTAL = ALTTOPLAM ## Bir listedeki ya da veritabanındaki bir alt toplamı verir.
|
BETADIST = BETADAĞ ## Beta birikimli dağılım fonksiyonunu verir.
|
||||||
SUM = TOPLA ## Bağımsız değişkenlerini toplar.
|
BETAINV = BETATERS ## Belirli bir beta dağılımı için birikimli dağılım fonksiyonunun tersini verir.
|
||||||
SUMIF = ETOPLA ## Verilen ölçütle belirlenen hücreleri toplar.
|
BINOMDIST = BİNOMDAĞ ## Tek terimli binom dağılımı olasılığını verir.
|
||||||
SUMIFS = SUMIFS ## Bir aralıktaki, birden fazla ölçüte uyan hücreleri ekler.
|
CHIDIST = KİKAREDAĞ ## Kikare dağılımın tek kuyruklu olasılığını verir.
|
||||||
SUMPRODUCT = TOPLA.ÇARPIM ## İlişkili dizi bileşenlerinin çarpımlarının toplamını verir.
|
CHIINV = KİKARETERS ## Kikare dağılımın kuyruklu olasılığının tersini verir.
|
||||||
SUMSQ = TOPKARE ## Bağımsız değişkenlerin karelerinin toplamını verir.
|
CHITEST = KİKARETEST ## Bağımsızlık sınamalarını verir.
|
||||||
SUMX2MY2 = TOPX2EY2 ## İki dizideki ilişkili değerlerin farkının toplamını verir.
|
CONFIDENCE = GÜVENİRLİK ## Bir popülasyon ortalaması için güvenirlik aralığını verir.
|
||||||
SUMX2PY2 = TOPX2AY2 ## İki dizideki ilişkili değerlerin karelerinin toplamının toplamını verir.
|
CORREL = KORELASYON ## İki veri kümesi arasındaki bağlantı katsayısını verir.
|
||||||
SUMXMY2 = TOPXEY2 ## İki dizideki ilişkili değerlerin farklarının karelerinin toplamını verir.
|
COUNT = BAĞ_DEĞ_SAY ## Bağımsız değişkenler listesinde kaç tane sayı bulunduğunu sayar.
|
||||||
TAN = TAN ## Bir sayının tanjantını verir.
|
COUNTA = BAĞ_DEĞ_DOLU_SAY ## Bağımsız değişkenler listesinde kaç tane değer bulunduğunu sayar.
|
||||||
TANH = TANH ## Bir sayının hiperbolik tanjantını verir.
|
COUNTBLANK = BOŞLUKSAY ## Aralıktaki boş hücre sayısını hesaplar.
|
||||||
TRUNC = NSAT ## Bir sayının, tamsayı durumuna gelecek şekilde, fazlalıklarını atar.
|
COUNTIF = EĞERSAY ## Verilen ölçütlere uyan bir aralık içindeki hücreleri sayar.
|
||||||
|
COUNTIFS = ÇOKEĞERSAY ## Birden çok ölçüte uyan bir aralık içindeki hücreleri sayar.
|
||||||
|
COVAR = KOVARYANS ## Eşleştirilmiş sapmaların ortalaması olan kovaryansı verir.
|
||||||
##
|
CRITBINOM = KRİTİKBİNOM ## Birikimli binom dağılımının bir ölçüt değerinden küçük veya ölçüt değerine eşit olduğu en küçük değeri verir.
|
||||||
## Statistical functions İstatistiksel fonksiyonlar
|
DEVSQ = SAPKARE ## Sapmaların karelerinin toplamını verir.
|
||||||
##
|
EXPONDIST = ÜSTELDAĞ ## Üstel dağılımı verir.
|
||||||
AVEDEV = ORTSAP ## Veri noktalarının ortalamalarından mutlak sapmalarının ortalamasını verir.
|
FDIST = FDAĞ ## F olasılık dağılımını verir.
|
||||||
AVERAGE = ORTALAMA ## Bağımsız değişkenlerinin ortalamasını verir.
|
FINV = FTERS ## F olasılık dağılımının tersini verir.
|
||||||
AVERAGEA = ORTALAMAA ## Bağımsız değişkenlerinin, sayılar, metin ve mantıksal değerleri içermek üzere ortalamasını verir.
|
FISHER = FISHER ## Fisher dönüşümünü verir.
|
||||||
AVERAGEIF = EĞERORTALAMA ## Verili ölçütü karşılayan bir aralıktaki bütün hücrelerin ortalamasını (aritmetik ortalama) hesaplar.
|
FISHERINV = FISHERTERS ## Fisher dönüşümünün tersini verir.
|
||||||
AVERAGEIFS = EĞERLERORTALAMA ## Birden çok ölçüte uyan tüm hücrelerin ortalamasını (aritmetik ortalama) hesaplar.
|
FORECAST = TAHMİN ## Bir doğrusal eğilim boyunca bir değer verir.
|
||||||
BETADIST = BETADAĞ ## Beta birikimli dağılım fonksiyonunu verir.
|
FREQUENCY = SIKLIK ## Bir sıklık dağılımını, dikey bir dizi olarak verir.
|
||||||
BETAINV = BETATERS ## Belirli bir beta dağılımı için birikimli dağılım fonksiyonunun tersini verir.
|
FTEST = FTEST ## Bir F-test'in sonucunu verir.
|
||||||
BINOMDIST = BİNOMDAĞ ## Tek terimli binom dağılımı olasılığını verir.
|
GAMMADIST = GAMADAĞ ## Gama dağılımını verir.
|
||||||
CHIDIST = KİKAREDAĞ ## Kikare dağılımın tek kuyruklu olasılığını verir.
|
GAMMAINV = GAMATERS ## Gama kümülatif dağılımının tersini verir.
|
||||||
CHIINV = KİKARETERS ## Kikare dağılımın kuyruklu olasılığının tersini verir.
|
GAMMALN = GAMALN ## Gama fonksiyonunun (?(x)) doğal logaritmasını verir.
|
||||||
CHITEST = KİKARETEST ## Bağımsızlık sınamalarını verir.
|
GEOMEAN = GEOORT ## Geometrik ortayı verir.
|
||||||
CONFIDENCE = GÜVENİRLİK ## Bir popülasyon ortalaması için güvenirlik aralığını verir.
|
GROWTH = BÜYÜME ## Üstel bir eğilim boyunca değerler verir.
|
||||||
CORREL = KORELASYON ## İki veri kümesi arasındaki bağlantı katsayısını verir.
|
HARMEAN = HARORT ## Harmonik ortayı verir.
|
||||||
COUNT = BAĞ_DEĞ_SAY ## Bağımsız değişkenler listesinde kaç tane sayı bulunduğunu sayar.
|
HYPGEOMDIST = HİPERGEOMDAĞ ## Hipergeometrik dağılımı verir.
|
||||||
COUNTA = BAĞ_DEĞ_DOLU_SAY ## Bağımsız değişkenler listesinde kaç tane değer bulunduğunu sayar.
|
INTERCEPT = KESMENOKTASI ## Doğrusal çakıştırma çizgisinin kesişme noktasını verir.
|
||||||
COUNTBLANK = BOŞLUKSAY ## Aralıktaki boş hücre sayısını hesaplar.
|
KURT = BASIKLIK ## Bir veri kümesinin basıklığını verir.
|
||||||
COUNTIF = EĞERSAY ## Verilen ölçütlere uyan bir aralık içindeki hücreleri sayar.
|
LARGE = BÜYÜK ## Bir veri kümesinde k. en büyük değeri verir.
|
||||||
COUNTIFS = ÇOKEĞERSAY ## Birden çok ölçüte uyan bir aralık içindeki hücreleri sayar.
|
LINEST = DOT ## Doğrusal bir eğilimin parametrelerini verir.
|
||||||
COVAR = KOVARYANS ## Eşleştirilmiş sapmaların ortalaması olan kovaryansı verir.
|
LOGEST = LOT ## Üstel bir eğilimin parametrelerini verir.
|
||||||
CRITBINOM = KRİTİKBİNOM ## Birikimli binom dağılımının bir ölçüt değerinden küçük veya ölçüt değerine eşit olduğu en küçük değeri verir.
|
LOGINV = LOGTERS ## Bir lognormal dağılımının tersini verir.
|
||||||
DEVSQ = SAPKARE ## Sapmaların karelerinin toplamını verir.
|
LOGNORMDIST = LOGNORMDAĞ ## Birikimli lognormal dağılımını verir.
|
||||||
EXPONDIST = ÜSTELDAĞ ## Üstel dağılımı verir.
|
MAX = MAK ## Bir bağımsız değişkenler listesindeki en büyük değeri verir.
|
||||||
FDIST = FDAĞ ## F olasılık dağılımını verir.
|
MAXA = MAKA ## Bir bağımsız değişkenler listesindeki, sayılar, metin ve mantıksal değerleri içermek üzere, en büyük değeri verir.
|
||||||
FINV = FTERS ## F olasılık dağılımının tersini verir.
|
MEDIAN = ORTANCA ## Belirtilen sayıların orta değerini verir.
|
||||||
FISHER = FISHER ## Fisher dönüşümünü verir.
|
MIN = MİN ## Bir bağımsız değişkenler listesindeki en küçük değeri verir.
|
||||||
FISHERINV = FISHERTERS ## Fisher dönüşümünün tersini verir.
|
MINA = MİNA ## Bir bağımsız değişkenler listesindeki, sayılar, metin ve mantıksal değerleri de içermek üzere, en küçük değeri verir.
|
||||||
FORECAST = TAHMİN ## Bir doğrusal eğilim boyunca bir değer verir.
|
MODE = ENÇOK_OLAN ## Bir veri kümesindeki en sık rastlanan değeri verir.
|
||||||
FREQUENCY = SIKLIK ## Bir sıklık dağılımını, dikey bir dizi olarak verir.
|
NEGBINOMDIST = NEGBİNOMDAĞ ## Negatif binom dağılımını verir.
|
||||||
FTEST = FTEST ## Bir F-test'in sonucunu verir.
|
NORMDIST = NORMDAĞ ## Normal birikimli dağılımı verir.
|
||||||
GAMMADIST = GAMADAĞ ## Gama dağılımını verir.
|
NORMINV = NORMTERS ## Normal kümülatif dağılımın tersini verir.
|
||||||
GAMMAINV = GAMATERS ## Gama kümülatif dağılımının tersini verir.
|
NORMSDIST = NORMSDAĞ ## Standart normal birikimli dağılımı verir.
|
||||||
GAMMALN = GAMALN ## Gama fonksiyonunun (?(x)) doğal logaritmasını verir.
|
NORMSINV = NORMSTERS ## Standart normal birikimli dağılımın tersini verir.
|
||||||
GEOMEAN = GEOORT ## Geometrik ortayı verir.
|
PEARSON = PEARSON ## Pearson çarpım moment korelasyon katsayısını verir.
|
||||||
GROWTH = BÜYÜME ## Üstel bir eğilim boyunca değerler verir.
|
PERCENTILE = YÜZDEBİRLİK ## Bir aralık içerisinde bulunan değerlerin k. frekans toplamını verir.
|
||||||
HARMEAN = HARORT ## Harmonik ortayı verir.
|
PERCENTRANK = YÜZDERANK ## Bir veri kümesindeki bir değerin yüzde mertebesini verir.
|
||||||
HYPGEOMDIST = HİPERGEOMDAĞ ## Hipergeometrik dağılımı verir.
|
PERMUT = PERMÜTASYON ## Verilen sayıda nesne için permütasyon sayısını verir.
|
||||||
INTERCEPT = KESMENOKTASI ## Doğrusal çakıştırma çizgisinin kesişme noktasını verir.
|
POISSON = POISSON ## Poisson dağılımını verir.
|
||||||
KURT = BASIKLIK ## Bir veri kümesinin basıklığını verir.
|
PROB = OLASILIK ## Bir aralıktaki değerlerin iki sınır arasında olması olasılığını verir.
|
||||||
LARGE = BÜYÜK ## Bir veri kümesinde k. en büyük değeri verir.
|
QUARTILE = DÖRTTEBİRLİK ## Bir veri kümesinin dörtte birliğini verir.
|
||||||
LINEST = DOT ## Doğrusal bir eğilimin parametrelerini verir.
|
RANK = RANK ## Bir sayılar listesinde bir sayının mertebesini verir.
|
||||||
LOGEST = LOT ## Üstel bir eğilimin parametrelerini verir.
|
RSQ = RKARE ## Pearson çarpım moment korelasyon katsayısının karesini verir.
|
||||||
LOGINV = LOGTERS ## Bir lognormal dağılımının tersini verir.
|
SKEW = ÇARPIKLIK ## Bir dağılımın çarpıklığını verir.
|
||||||
LOGNORMDIST = LOGNORMDAĞ ## Birikimli lognormal dağılımını verir.
|
SLOPE = EĞİM ## Doğrusal çakışma çizgisinin eğimini verir.
|
||||||
MAX = MAK ## Bir bağımsız değişkenler listesindeki en büyük değeri verir.
|
SMALL = KÜÇÜK ## Bir veri kümesinde k. en küçük değeri verir.
|
||||||
MAXA = MAKA ## Bir bağımsız değişkenler listesindeki, sayılar, metin ve mantıksal değerleri içermek üzere, en büyük değeri verir.
|
STANDARDIZE = STANDARTLAŞTIRMA ## Normalleştirilmiş bir değer verir.
|
||||||
MEDIAN = ORTANCA ## Belirtilen sayıların orta değerini verir.
|
STDEV = STDSAPMA ## Bir örneğe dayanarak standart sapmayı tahmin eder.
|
||||||
MIN = MİN ## Bir bağımsız değişkenler listesindeki en küçük değeri verir.
|
STDEVA = STDSAPMAA ## Standart sapmayı, sayılar, metin ve mantıksal değerleri içermek üzere, bir örneğe bağlı olarak tahmin eder.
|
||||||
MINA = MİNA ## Bir bağımsız değişkenler listesindeki, sayılar, metin ve mantıksal değerleri de içermek üzere, en küçük değeri verir.
|
STDEVP = STDSAPMAS ## Standart sapmayı, tüm popülasyona bağlı olarak hesaplar.
|
||||||
MODE = ENÇOK_OLAN ## Bir veri kümesindeki en sık rastlanan değeri verir.
|
STDEVPA = STDSAPMASA ## Standart sapmayı, sayılar, metin ve mantıksal değerleri içermek üzere, tüm popülasyona bağlı olarak hesaplar.
|
||||||
NEGBINOMDIST = NEGBİNOMDAĞ ## Negatif binom dağılımını verir.
|
STEYX = STHYX ## Regresyondaki her x için tahmini y değerinin standart hatasını verir.
|
||||||
NORMDIST = NORMDAĞ ## Normal birikimli dağılımı verir.
|
TDIST = TDAĞ ## T-dağılımını verir.
|
||||||
NORMINV = NORMTERS ## Normal kümülatif dağılımın tersini verir.
|
TINV = TTERS ## T-dağılımının tersini verir.
|
||||||
NORMSDIST = NORMSDAĞ ## Standart normal birikimli dağılımı verir.
|
TREND = EĞİLİM ## Doğrusal bir eğilim boyunca değerler verir.
|
||||||
NORMSINV = NORMSTERS ## Standart normal birikimli dağılımın tersini verir.
|
TRIMMEAN = KIRPORTALAMA ## Bir veri kümesinin içinin ortalamasını verir.
|
||||||
PEARSON = PEARSON ## Pearson çarpım moment korelasyon katsayısını verir.
|
TTEST = TTEST ## T-test'le ilişkilendirilmiş olasılığı verir.
|
||||||
PERCENTILE = YÜZDEBİRLİK ## Bir aralık içerisinde bulunan değerlerin k. frekans toplamını verir.
|
VAR = VAR ## Varyansı, bir örneğe bağlı olarak tahmin eder.
|
||||||
PERCENTRANK = YÜZDERANK ## Bir veri kümesindeki bir değerin yüzde mertebesini verir.
|
VARA = VARA ## Varyansı, sayılar, metin ve mantıksal değerleri içermek üzere, bir örneğe bağlı olarak tahmin eder.
|
||||||
PERMUT = PERMÜTASYON ## Verilen sayıda nesne için permütasyon sayısını verir.
|
VARP = VARS ## Varyansı, tüm popülasyona dayanarak hesaplar.
|
||||||
POISSON = POISSON ## Poisson dağılımını verir.
|
VARPA = VARSA ## Varyansı, sayılar, metin ve mantıksal değerleri içermek üzere, tüm popülasyona bağlı olarak hesaplar.
|
||||||
PROB = OLASILIK ## Bir aralıktaki değerlerin iki sınır arasında olması olasılığını verir.
|
WEIBULL = WEIBULL ## Weibull dağılımını hesaplar.
|
||||||
QUARTILE = DÖRTTEBİRLİK ## Bir veri kümesinin dörtte birliğini verir.
|
ZTEST = ZTEST ## Z-testinin tek kuyruklu olasılık değerini hesaplar.
|
||||||
RANK = RANK ## Bir sayılar listesinde bir sayının mertebesini verir.
|
|
||||||
RSQ = RKARE ## Pearson çarpım moment korelasyon katsayısının karesini verir.
|
|
||||||
SKEW = ÇARPIKLIK ## Bir dağılımın çarpıklığını verir.
|
##
|
||||||
SLOPE = EĞİM ## Doğrusal çakışma çizgisinin eğimini verir.
|
## Text functions Metin fonksiyonları
|
||||||
SMALL = KÜÇÜK ## Bir veri kümesinde k. en küçük değeri verir.
|
##
|
||||||
STANDARDIZE = STANDARTLAŞTIRMA ## Normalleştirilmiş bir değer verir.
|
ASC = ASC ## Bir karakter dizesindeki çift enli (iki bayt) İngilizce harfleri veya katakanayı yarım enli (tek bayt) karakterlerle değiştirir.
|
||||||
STDEV = STDSAPMA ## Bir örneğe dayanarak standart sapmayı tahmin eder.
|
BAHTTEXT = BAHTTEXT ## Sayıyı, ß (baht) para birimi biçimini kullanarak metne dönüştürür.
|
||||||
STDEVA = STDSAPMAA ## Standart sapmayı, sayılar, metin ve mantıksal değerleri içermek üzere, bir örneğe bağlı olarak tahmin eder.
|
CHAR = DAMGA ## Kod sayısıyla belirtilen karakteri verir.
|
||||||
STDEVP = STDSAPMAS ## Standart sapmayı, tüm popülasyona bağlı olarak hesaplar.
|
CLEAN = TEMİZ ## Metindeki bütün yazdırılamaz karakterleri kaldırır.
|
||||||
STDEVPA = STDSAPMASA ## Standart sapmayı, sayılar, metin ve mantıksal değerleri içermek üzere, tüm popülasyona bağlı olarak hesaplar.
|
CODE = KOD ## Bir metin dizesindeki ilk karakter için sayısal bir kod verir.
|
||||||
STEYX = STHYX ## Regresyondaki her x için tahmini y değerinin standart hatasını verir.
|
CONCATENATE = BİRLEŞTİR ## Pek çok metin öğesini bir metin öğesi olarak birleştirir.
|
||||||
TDIST = TDAĞ ## T-dağılımını verir.
|
DOLLAR = LİRA ## Bir sayıyı YTL (yeni Türk lirası) para birimi biçimini kullanarak metne dönüştürür.
|
||||||
TINV = TTERS ## T-dağılımının tersini verir.
|
EXACT = ÖZDEŞ ## İki metin değerinin özdeş olup olmadığını anlamak için, değerleri denetler.
|
||||||
TREND = EĞİLİM ## Doğrusal bir eğilim boyunca değerler verir.
|
FIND = BUL ## Bir metin değerini, bir başkasının içinde bulur (büyük küçük harf duyarlıdır).
|
||||||
TRIMMEAN = KIRPORTALAMA ## Bir veri kümesinin içinin ortalamasını verir.
|
FINDB = BULB ## Bir metin değerini, bir başkasının içinde bulur (büyük küçük harf duyarlıdır).
|
||||||
TTEST = TTEST ## T-test'le ilişkilendirilmiş olasılığı verir.
|
FIXED = SAYIDÜZENLE ## Bir sayıyı, sabit sayıda ondalıkla, metin olarak biçimlendirir.
|
||||||
VAR = VAR ## Varyansı, bir örneğe bağlı olarak tahmin eder.
|
JIS = JIS ## Bir karakter dizesindeki tek enli (tek bayt) İngilizce harfleri veya katakanayı çift enli (iki bayt) karakterlerle değiştirir.
|
||||||
VARA = VARA ## Varyansı, sayılar, metin ve mantıksal değerleri içermek üzere, bir örneğe bağlı olarak tahmin eder.
|
LEFT = SOL ## Bir metin değerinden en soldaki karakterleri verir.
|
||||||
VARP = VARS ## Varyansı, tüm popülasyona dayanarak hesaplar.
|
LEFTB = SOLB ## Bir metin değerinden en soldaki karakterleri verir.
|
||||||
VARPA = VARSA ## Varyansı, sayılar, metin ve mantıksal değerleri içermek üzere, tüm popülasyona bağlı olarak hesaplar.
|
LEN = UZUNLUK ## Bir metin dizesindeki karakter sayısını verir.
|
||||||
WEIBULL = WEIBULL ## Weibull dağılımını hesaplar.
|
LENB = UZUNLUKB ## Bir metin dizesindeki karakter sayısını verir.
|
||||||
ZTEST = ZTEST ## Z-testinin tek kuyruklu olasılık değerini hesaplar.
|
LOWER = KÜÇÜKHARF ## Metni küçük harfe çevirir.
|
||||||
|
MID = ORTA ## Bir metin dizesinden belirli sayıda karakteri, belirttiğiniz konumdan başlamak üzere verir.
|
||||||
|
MIDB = ORTAB ## Bir metin dizesinden belirli sayıda karakteri, belirttiğiniz konumdan başlamak üzere verir.
|
||||||
##
|
PHONETIC = SES ## Metin dizesinden ses (furigana) karakterlerini ayıklar.
|
||||||
## Text functions Metin fonksiyonları
|
PROPER = YAZIM.DÜZENİ ## Bir metin değerinin her bir sözcüğünün ilk harfini büyük harfe çevirir.
|
||||||
##
|
REPLACE = DEĞİŞTİR ## Metnin içindeki karakterleri değiştirir.
|
||||||
ASC = ASC ## Bir karakter dizesindeki çift enli (iki bayt) İngilizce harfleri veya katakanayı yarım enli (tek bayt) karakterlerle değiştirir.
|
REPLACEB = DEĞİŞTİRB ## Metnin içindeki karakterleri değiştirir.
|
||||||
BAHTTEXT = BAHTTEXT ## Sayıyı, ß (baht) para birimi biçimini kullanarak metne dönüştürür.
|
REPT = YİNELE ## Metni belirtilen sayıda yineler.
|
||||||
CHAR = DAMGA ## Kod sayısıyla belirtilen karakteri verir.
|
RIGHT = SAĞ ## Bir metin değerinden en sağdaki karakterleri verir.
|
||||||
CLEAN = TEMİZ ## Metindeki bütün yazdırılamaz karakterleri kaldırır.
|
RIGHTB = SAĞB ## Bir metin değerinden en sağdaki karakterleri verir.
|
||||||
CODE = KOD ## Bir metin dizesindeki ilk karakter için sayısal bir kod verir.
|
SEARCH = BUL ## Bir metin değerini, bir başkasının içinde bulur (büyük küçük harf duyarlı değildir).
|
||||||
CONCATENATE = BİRLEŞTİR ## Pek çok metin öğesini bir metin öğesi olarak birleştirir.
|
SEARCHB = BULB ## Bir metin değerini, bir başkasının içinde bulur (büyük küçük harf duyarlı değildir).
|
||||||
DOLLAR = LİRA ## Bir sayıyı YTL (yeni Türk lirası) para birimi biçimini kullanarak metne dönüştürür.
|
SUBSTITUTE = YERİNEKOY ## Bir metin dizesinde, eski metnin yerine yeni metin koyar.
|
||||||
EXACT = ÖZDEŞ ## İki metin değerinin özdeş olup olmadığını anlamak için, değerleri denetler.
|
T = M ## Bağımsız değerlerini metne dönüştürür.
|
||||||
FIND = BUL ## Bir metin değerini, bir başkasının içinde bulur (büyük küçük harf duyarlıdır).
|
TEXT = METNEÇEVİR ## Bir sayıyı biçimlendirir ve metne dönüştürür.
|
||||||
FINDB = BULB ## Bir metin değerini, bir başkasının içinde bulur (büyük küçük harf duyarlıdır).
|
TRIM = KIRP ## Metindeki boşlukları kaldırır.
|
||||||
FIXED = SAYIDÜZENLE ## Bir sayıyı, sabit sayıda ondalıkla, metin olarak biçimlendirir.
|
UPPER = BÜYÜKHARF ## Metni büyük harfe çevirir.
|
||||||
JIS = JIS ## Bir karakter dizesindeki tek enli (tek bayt) İngilizce harfleri veya katakanayı çift enli (iki bayt) karakterlerle değiştirir.
|
VALUE = SAYIYAÇEVİR ## Bir metin bağımsız değişkenini sayıya dönüştürür.
|
||||||
LEFT = SOL ## Bir metin değerinden en soldaki karakterleri verir.
|
|
||||||
LEFTB = SOLB ## Bir metin değerinden en soldaki karakterleri verir.
|
|
||||||
LEN = UZUNLUK ## Bir metin dizesindeki karakter sayısını verir.
|
|
||||||
LENB = UZUNLUKB ## Bir metin dizesindeki karakter sayısını verir.
|
|
||||||
LOWER = KÜÇÜKHARF ## Metni küçük harfe çevirir.
|
|
||||||
MID = ORTA ## Bir metin dizesinden belirli sayıda karakteri, belirttiğiniz konumdan başlamak üzere verir.
|
|
||||||
MIDB = ORTAB ## Bir metin dizesinden belirli sayıda karakteri, belirttiğiniz konumdan başlamak üzere verir.
|
|
||||||
PHONETIC = SES ## Metin dizesinden ses (furigana) karakterlerini ayıklar.
|
|
||||||
PROPER = YAZIM.DÜZENİ ## Bir metin değerinin her bir sözcüğünün ilk harfini büyük harfe çevirir.
|
|
||||||
REPLACE = DEĞİŞTİR ## Metnin içindeki karakterleri değiştirir.
|
|
||||||
REPLACEB = DEĞİŞTİRB ## Metnin içindeki karakterleri değiştirir.
|
|
||||||
REPT = YİNELE ## Metni belirtilen sayıda yineler.
|
|
||||||
RIGHT = SAĞ ## Bir metin değerinden en sağdaki karakterleri verir.
|
|
||||||
RIGHTB = SAĞB ## Bir metin değerinden en sağdaki karakterleri verir.
|
|
||||||
SEARCH = BUL ## Bir metin değerini, bir başkasının içinde bulur (büyük küçük harf duyarlı değildir).
|
|
||||||
SEARCHB = BULB ## Bir metin değerini, bir başkasının içinde bulur (büyük küçük harf duyarlı değildir).
|
|
||||||
SUBSTITUTE = YERİNEKOY ## Bir metin dizesinde, eski metnin yerine yeni metin koyar.
|
|
||||||
T = M ## Bağımsız değerlerini metne dönüştürür.
|
|
||||||
TEXT = METNEÇEVİR ## Bir sayıyı biçimlendirir ve metne dönüştürür.
|
|
||||||
TRIM = KIRP ## Metindeki boşlukları kaldırır.
|
|
||||||
UPPER = BÜYÜKHARF ## Metni büyük harfe çevirir.
|
|
||||||
VALUE = SAYIYAÇEVİR ## Bir metin bağımsız değişkenini sayıya dönüştürür.
|
|
||||||
176
PhpOffice/PhpSpreadsheet/Cell/AdvancedValueBinder.php
Normal file
176
PhpOffice/PhpSpreadsheet/Cell/AdvancedValueBinder.php
Normal file
|
|
@ -0,0 +1,176 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Cell;
|
||||||
|
|
||||||
|
use PhpOffice\PhpSpreadsheet\Calculation\Calculation;
|
||||||
|
use PhpOffice\PhpSpreadsheet\RichText\RichText;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Shared\Date;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Shared\StringHelper;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
|
||||||
|
|
||||||
|
class AdvancedValueBinder extends DefaultValueBinder implements IValueBinder
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Bind value to a cell.
|
||||||
|
*
|
||||||
|
* @param Cell $cell Cell to bind value to
|
||||||
|
* @param mixed $value Value to bind in cell
|
||||||
|
*
|
||||||
|
* @throws \PhpOffice\PhpSpreadsheet\Exception
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function bindValue(Cell $cell, $value = null)
|
||||||
|
{
|
||||||
|
// sanitize UTF-8 strings
|
||||||
|
if (is_string($value)) {
|
||||||
|
$value = StringHelper::sanitizeUTF8($value);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Find out data type
|
||||||
|
$dataType = parent::dataTypeForValue($value);
|
||||||
|
|
||||||
|
// Style logic - strings
|
||||||
|
if ($dataType === DataType::TYPE_STRING && !$value instanceof RichText) {
|
||||||
|
// Test for booleans using locale-setting
|
||||||
|
if ($value == Calculation::getTRUE()) {
|
||||||
|
$cell->setValueExplicit(true, DataType::TYPE_BOOL);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
} elseif ($value == Calculation::getFALSE()) {
|
||||||
|
$cell->setValueExplicit(false, DataType::TYPE_BOOL);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check for number in scientific format
|
||||||
|
if (preg_match('/^' . Calculation::CALCULATION_REGEXP_NUMBER . '$/', $value)) {
|
||||||
|
$cell->setValueExplicit((float) $value, DataType::TYPE_NUMERIC);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check for fraction
|
||||||
|
if (preg_match('/^([+-]?)\s*(\d+)\s?\/\s*(\d+)$/', $value, $matches)) {
|
||||||
|
// Convert value to number
|
||||||
|
$value = $matches[2] / $matches[3];
|
||||||
|
if ($matches[1] == '-') {
|
||||||
|
$value = 0 - $value;
|
||||||
|
}
|
||||||
|
$cell->setValueExplicit((float) $value, DataType::TYPE_NUMERIC);
|
||||||
|
// Set style
|
||||||
|
$cell->getWorksheet()->getStyle($cell->getCoordinate())
|
||||||
|
->getNumberFormat()->setFormatCode('??/??');
|
||||||
|
|
||||||
|
return true;
|
||||||
|
} elseif (preg_match('/^([+-]?)(\d*) +(\d*)\s?\/\s*(\d*)$/', $value, $matches)) {
|
||||||
|
// Convert value to number
|
||||||
|
$value = $matches[2] + ($matches[3] / $matches[4]);
|
||||||
|
if ($matches[1] == '-') {
|
||||||
|
$value = 0 - $value;
|
||||||
|
}
|
||||||
|
$cell->setValueExplicit((float) $value, DataType::TYPE_NUMERIC);
|
||||||
|
// Set style
|
||||||
|
$cell->getWorksheet()->getStyle($cell->getCoordinate())
|
||||||
|
->getNumberFormat()->setFormatCode('# ??/??');
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check for percentage
|
||||||
|
if (preg_match('/^\-?\d*\.?\d*\s?\%$/', $value)) {
|
||||||
|
// Convert value to number
|
||||||
|
$value = (float) str_replace('%', '', $value) / 100;
|
||||||
|
$cell->setValueExplicit($value, DataType::TYPE_NUMERIC);
|
||||||
|
// Set style
|
||||||
|
$cell->getWorksheet()->getStyle($cell->getCoordinate())
|
||||||
|
->getNumberFormat()->setFormatCode(NumberFormat::FORMAT_PERCENTAGE_00);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check for currency
|
||||||
|
$currencyCode = StringHelper::getCurrencyCode();
|
||||||
|
$decimalSeparator = StringHelper::getDecimalSeparator();
|
||||||
|
$thousandsSeparator = StringHelper::getThousandsSeparator();
|
||||||
|
if (preg_match('/^' . preg_quote($currencyCode, '/') . ' *(\d{1,3}(' . preg_quote($thousandsSeparator, '/') . '\d{3})*|(\d+))(' . preg_quote($decimalSeparator, '/') . '\d{2})?$/', $value)) {
|
||||||
|
// Convert value to number
|
||||||
|
$value = (float) trim(str_replace([$currencyCode, $thousandsSeparator, $decimalSeparator], ['', '', '.'], $value));
|
||||||
|
$cell->setValueExplicit($value, DataType::TYPE_NUMERIC);
|
||||||
|
// Set style
|
||||||
|
$cell->getWorksheet()->getStyle($cell->getCoordinate())
|
||||||
|
->getNumberFormat()->setFormatCode(
|
||||||
|
str_replace('$', $currencyCode, NumberFormat::FORMAT_CURRENCY_USD_SIMPLE)
|
||||||
|
);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
} elseif (preg_match('/^\$ *(\d{1,3}(\,\d{3})*|(\d+))(\.\d{2})?$/', $value)) {
|
||||||
|
// Convert value to number
|
||||||
|
$value = (float) trim(str_replace(['$', ','], '', $value));
|
||||||
|
$cell->setValueExplicit($value, DataType::TYPE_NUMERIC);
|
||||||
|
// Set style
|
||||||
|
$cell->getWorksheet()->getStyle($cell->getCoordinate())
|
||||||
|
->getNumberFormat()->setFormatCode(NumberFormat::FORMAT_CURRENCY_USD_SIMPLE);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check for time without seconds e.g. '9:45', '09:45'
|
||||||
|
if (preg_match('/^(\d|[0-1]\d|2[0-3]):[0-5]\d$/', $value)) {
|
||||||
|
// Convert value to number
|
||||||
|
[$h, $m] = explode(':', $value);
|
||||||
|
$days = $h / 24 + $m / 1440;
|
||||||
|
$cell->setValueExplicit($days, DataType::TYPE_NUMERIC);
|
||||||
|
// Set style
|
||||||
|
$cell->getWorksheet()->getStyle($cell->getCoordinate())
|
||||||
|
->getNumberFormat()->setFormatCode(NumberFormat::FORMAT_DATE_TIME3);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check for time with seconds '9:45:59', '09:45:59'
|
||||||
|
if (preg_match('/^(\d|[0-1]\d|2[0-3]):[0-5]\d:[0-5]\d$/', $value)) {
|
||||||
|
// Convert value to number
|
||||||
|
[$h, $m, $s] = explode(':', $value);
|
||||||
|
$days = $h / 24 + $m / 1440 + $s / 86400;
|
||||||
|
// Convert value to number
|
||||||
|
$cell->setValueExplicit($days, DataType::TYPE_NUMERIC);
|
||||||
|
// Set style
|
||||||
|
$cell->getWorksheet()->getStyle($cell->getCoordinate())
|
||||||
|
->getNumberFormat()->setFormatCode(NumberFormat::FORMAT_DATE_TIME4);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check for datetime, e.g. '2008-12-31', '2008-12-31 15:59', '2008-12-31 15:59:10'
|
||||||
|
if (($d = Date::stringToExcel($value)) !== false) {
|
||||||
|
// Convert value to number
|
||||||
|
$cell->setValueExplicit($d, DataType::TYPE_NUMERIC);
|
||||||
|
// Determine style. Either there is a time part or not. Look for ':'
|
||||||
|
if (strpos($value, ':') !== false) {
|
||||||
|
$formatCode = 'yyyy-mm-dd h:mm';
|
||||||
|
} else {
|
||||||
|
$formatCode = 'yyyy-mm-dd';
|
||||||
|
}
|
||||||
|
$cell->getWorksheet()->getStyle($cell->getCoordinate())
|
||||||
|
->getNumberFormat()->setFormatCode($formatCode);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check for newline character "\n"
|
||||||
|
if (strpos($value, "\n") !== false) {
|
||||||
|
$value = StringHelper::sanitizeUTF8($value);
|
||||||
|
$cell->setValueExplicit($value, DataType::TYPE_STRING);
|
||||||
|
// Set style
|
||||||
|
$cell->getWorksheet()->getStyle($cell->getCoordinate())
|
||||||
|
->getAlignment()->setWrapText(true);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Not bound yet? Use parent...
|
||||||
|
return parent::bindValue($cell, $value);
|
||||||
|
}
|
||||||
|
}
|
||||||
698
PhpOffice/PhpSpreadsheet/Cell/Cell.php
Normal file
698
PhpOffice/PhpSpreadsheet/Cell/Cell.php
Normal file
|
|
@ -0,0 +1,698 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Cell;
|
||||||
|
|
||||||
|
use PhpOffice\PhpSpreadsheet\Calculation\Calculation;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Collection\Cells;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Exception;
|
||||||
|
use PhpOffice\PhpSpreadsheet\RichText\RichText;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Style\Style;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
|
||||||
|
|
||||||
|
class Cell
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Value binder to use.
|
||||||
|
*
|
||||||
|
* @var IValueBinder
|
||||||
|
*/
|
||||||
|
private static $valueBinder;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Value of the cell.
|
||||||
|
*
|
||||||
|
* @var mixed
|
||||||
|
*/
|
||||||
|
private $value;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Calculated value of the cell (used for caching)
|
||||||
|
* This returns the value last calculated by MS Excel or whichever spreadsheet program was used to
|
||||||
|
* create the original spreadsheet file.
|
||||||
|
* Note that this value is not guaranteed to reflect the actual calculated value because it is
|
||||||
|
* possible that auto-calculation was disabled in the original spreadsheet, and underlying data
|
||||||
|
* values used by the formula have changed since it was last calculated.
|
||||||
|
*
|
||||||
|
* @var mixed
|
||||||
|
*/
|
||||||
|
private $calculatedValue;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Type of the cell data.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $dataType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Collection of cells.
|
||||||
|
*
|
||||||
|
* @var Cells
|
||||||
|
*/
|
||||||
|
private $parent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Index to cellXf.
|
||||||
|
*
|
||||||
|
* @var int
|
||||||
|
*/
|
||||||
|
private $xfIndex = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Attributes of the formula.
|
||||||
|
*/
|
||||||
|
private $formulaAttributes;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the cell into the cell collection.
|
||||||
|
*
|
||||||
|
* @return self
|
||||||
|
*/
|
||||||
|
public function updateInCollection()
|
||||||
|
{
|
||||||
|
$this->parent->update($this);
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function detach()
|
||||||
|
{
|
||||||
|
$this->parent = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function attach(Cells $parent)
|
||||||
|
{
|
||||||
|
$this->parent = $parent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new Cell.
|
||||||
|
*
|
||||||
|
* @param mixed $pValue
|
||||||
|
* @param string $pDataType
|
||||||
|
* @param Worksheet $pSheet
|
||||||
|
*
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
public function __construct($pValue, $pDataType, Worksheet $pSheet)
|
||||||
|
{
|
||||||
|
// Initialise cell value
|
||||||
|
$this->value = $pValue;
|
||||||
|
|
||||||
|
// Set worksheet cache
|
||||||
|
$this->parent = $pSheet->getCellCollection();
|
||||||
|
|
||||||
|
// Set datatype?
|
||||||
|
if ($pDataType !== null) {
|
||||||
|
if ($pDataType == DataType::TYPE_STRING2) {
|
||||||
|
$pDataType = DataType::TYPE_STRING;
|
||||||
|
}
|
||||||
|
$this->dataType = $pDataType;
|
||||||
|
} elseif (!self::getValueBinder()->bindValue($this, $pValue)) {
|
||||||
|
throw new Exception('Value could not be bound to cell.');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get cell coordinate column.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getColumn()
|
||||||
|
{
|
||||||
|
return $this->parent->getCurrentColumn();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get cell coordinate row.
|
||||||
|
*
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public function getRow()
|
||||||
|
{
|
||||||
|
return $this->parent->getCurrentRow();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get cell coordinate.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getCoordinate()
|
||||||
|
{
|
||||||
|
return $this->parent->getCurrentCoordinate();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get cell value.
|
||||||
|
*
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function getValue()
|
||||||
|
{
|
||||||
|
return $this->value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get cell value with formatting.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getFormattedValue()
|
||||||
|
{
|
||||||
|
return (string) NumberFormat::toFormattedString(
|
||||||
|
$this->getCalculatedValue(),
|
||||||
|
$this->getStyle()
|
||||||
|
->getNumberFormat()->getFormatCode()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set cell value.
|
||||||
|
*
|
||||||
|
* Sets the value for a cell, automatically determining the datatype using the value binder
|
||||||
|
*
|
||||||
|
* @param mixed $pValue Value
|
||||||
|
*
|
||||||
|
* @throws Exception
|
||||||
|
*
|
||||||
|
* @return Cell
|
||||||
|
*/
|
||||||
|
public function setValue($pValue)
|
||||||
|
{
|
||||||
|
if (!self::getValueBinder()->bindValue($this, $pValue)) {
|
||||||
|
throw new Exception('Value could not be bound to cell.');
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the value for a cell, with the explicit data type passed to the method (bypassing any use of the value binder).
|
||||||
|
*
|
||||||
|
* @param mixed $pValue Value
|
||||||
|
* @param string $pDataType Explicit data type, see DataType::TYPE_*
|
||||||
|
*
|
||||||
|
* @throws Exception
|
||||||
|
*
|
||||||
|
* @return Cell
|
||||||
|
*/
|
||||||
|
public function setValueExplicit($pValue, $pDataType)
|
||||||
|
{
|
||||||
|
// set the value according to data type
|
||||||
|
switch ($pDataType) {
|
||||||
|
case DataType::TYPE_NULL:
|
||||||
|
$this->value = $pValue;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case DataType::TYPE_STRING2:
|
||||||
|
$pDataType = DataType::TYPE_STRING;
|
||||||
|
// no break
|
||||||
|
case DataType::TYPE_STRING:
|
||||||
|
// Synonym for string
|
||||||
|
case DataType::TYPE_INLINE:
|
||||||
|
// Rich text
|
||||||
|
$this->value = DataType::checkString($pValue);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case DataType::TYPE_NUMERIC:
|
||||||
|
$this->value = (float) $pValue;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case DataType::TYPE_FORMULA:
|
||||||
|
$this->value = (string) $pValue;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case DataType::TYPE_BOOL:
|
||||||
|
$this->value = (bool) $pValue;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case DataType::TYPE_ERROR:
|
||||||
|
$this->value = DataType::checkErrorCode($pValue);
|
||||||
|
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw new Exception('Invalid datatype: ' . $pDataType);
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// set the datatype
|
||||||
|
$this->dataType = $pDataType;
|
||||||
|
|
||||||
|
return $this->updateInCollection();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get calculated cell value.
|
||||||
|
*
|
||||||
|
* @param bool $resetLog Whether the calculation engine logger should be reset or not
|
||||||
|
*
|
||||||
|
* @throws Exception
|
||||||
|
*
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function getCalculatedValue($resetLog = true)
|
||||||
|
{
|
||||||
|
if ($this->dataType == DataType::TYPE_FORMULA) {
|
||||||
|
try {
|
||||||
|
$result = Calculation::getInstance(
|
||||||
|
$this->getWorksheet()->getParent()
|
||||||
|
)->calculateCellValue($this, $resetLog);
|
||||||
|
// We don't yet handle array returns
|
||||||
|
if (is_array($result)) {
|
||||||
|
while (is_array($result)) {
|
||||||
|
$result = array_pop($result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (Exception $ex) {
|
||||||
|
if (($ex->getMessage() === 'Unable to access External Workbook') && ($this->calculatedValue !== null)) {
|
||||||
|
return $this->calculatedValue; // Fallback for calculations referencing external files.
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new \PhpOffice\PhpSpreadsheet\Calculation\Exception(
|
||||||
|
$this->getWorksheet()->getTitle() . '!' . $this->getCoordinate() . ' -> ' . $ex->getMessage()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($result === '#Not Yet Implemented') {
|
||||||
|
return $this->calculatedValue; // Fallback if calculation engine does not support the formula.
|
||||||
|
}
|
||||||
|
|
||||||
|
return $result;
|
||||||
|
} elseif ($this->value instanceof RichText) {
|
||||||
|
return $this->value->getPlainText();
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set old calculated value (cached).
|
||||||
|
*
|
||||||
|
* @param mixed $pValue Value
|
||||||
|
*
|
||||||
|
* @return Cell
|
||||||
|
*/
|
||||||
|
public function setCalculatedValue($pValue)
|
||||||
|
{
|
||||||
|
if ($pValue !== null) {
|
||||||
|
$this->calculatedValue = (is_numeric($pValue)) ? (float) $pValue : $pValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->updateInCollection();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get old calculated value (cached)
|
||||||
|
* This returns the value last calculated by MS Excel or whichever spreadsheet program was used to
|
||||||
|
* create the original spreadsheet file.
|
||||||
|
* Note that this value is not guaranteed to reflect the actual calculated value because it is
|
||||||
|
* possible that auto-calculation was disabled in the original spreadsheet, and underlying data
|
||||||
|
* values used by the formula have changed since it was last calculated.
|
||||||
|
*
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function getOldCalculatedValue()
|
||||||
|
{
|
||||||
|
return $this->calculatedValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get cell data type.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getDataType()
|
||||||
|
{
|
||||||
|
return $this->dataType;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set cell data type.
|
||||||
|
*
|
||||||
|
* @param string $pDataType see DataType::TYPE_*
|
||||||
|
*
|
||||||
|
* @return Cell
|
||||||
|
*/
|
||||||
|
public function setDataType($pDataType)
|
||||||
|
{
|
||||||
|
if ($pDataType == DataType::TYPE_STRING2) {
|
||||||
|
$pDataType = DataType::TYPE_STRING;
|
||||||
|
}
|
||||||
|
$this->dataType = $pDataType;
|
||||||
|
|
||||||
|
return $this->updateInCollection();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Identify if the cell contains a formula.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function isFormula()
|
||||||
|
{
|
||||||
|
return $this->dataType == DataType::TYPE_FORMULA;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Does this cell contain Data validation rules?
|
||||||
|
*
|
||||||
|
* @throws Exception
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function hasDataValidation()
|
||||||
|
{
|
||||||
|
if (!isset($this->parent)) {
|
||||||
|
throw new Exception('Cannot check for data validation when cell is not bound to a worksheet');
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->getWorksheet()->dataValidationExists($this->getCoordinate());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Data validation rules.
|
||||||
|
*
|
||||||
|
* @throws Exception
|
||||||
|
*
|
||||||
|
* @return DataValidation
|
||||||
|
*/
|
||||||
|
public function getDataValidation()
|
||||||
|
{
|
||||||
|
if (!isset($this->parent)) {
|
||||||
|
throw new Exception('Cannot get data validation for cell that is not bound to a worksheet');
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->getWorksheet()->getDataValidation($this->getCoordinate());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Data validation rules.
|
||||||
|
*
|
||||||
|
* @param DataValidation $pDataValidation
|
||||||
|
*
|
||||||
|
* @throws Exception
|
||||||
|
*
|
||||||
|
* @return Cell
|
||||||
|
*/
|
||||||
|
public function setDataValidation(DataValidation $pDataValidation = null)
|
||||||
|
{
|
||||||
|
if (!isset($this->parent)) {
|
||||||
|
throw new Exception('Cannot set data validation for cell that is not bound to a worksheet');
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->getWorksheet()->setDataValidation($this->getCoordinate(), $pDataValidation);
|
||||||
|
|
||||||
|
return $this->updateInCollection();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Does this cell contain valid value?
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function hasValidValue()
|
||||||
|
{
|
||||||
|
$validator = new DataValidator();
|
||||||
|
|
||||||
|
return $validator->isValid($this);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Does this cell contain a Hyperlink?
|
||||||
|
*
|
||||||
|
* @throws Exception
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function hasHyperlink()
|
||||||
|
{
|
||||||
|
if (!isset($this->parent)) {
|
||||||
|
throw new Exception('Cannot check for hyperlink when cell is not bound to a worksheet');
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->getWorksheet()->hyperlinkExists($this->getCoordinate());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Hyperlink.
|
||||||
|
*
|
||||||
|
* @throws Exception
|
||||||
|
*
|
||||||
|
* @return Hyperlink
|
||||||
|
*/
|
||||||
|
public function getHyperlink()
|
||||||
|
{
|
||||||
|
if (!isset($this->parent)) {
|
||||||
|
throw new Exception('Cannot get hyperlink for cell that is not bound to a worksheet');
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->getWorksheet()->getHyperlink($this->getCoordinate());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Hyperlink.
|
||||||
|
*
|
||||||
|
* @param Hyperlink $pHyperlink
|
||||||
|
*
|
||||||
|
* @throws Exception
|
||||||
|
*
|
||||||
|
* @return Cell
|
||||||
|
*/
|
||||||
|
public function setHyperlink(Hyperlink $pHyperlink = null)
|
||||||
|
{
|
||||||
|
if (!isset($this->parent)) {
|
||||||
|
throw new Exception('Cannot set hyperlink for cell that is not bound to a worksheet');
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->getWorksheet()->setHyperlink($this->getCoordinate(), $pHyperlink);
|
||||||
|
|
||||||
|
return $this->updateInCollection();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get cell collection.
|
||||||
|
*
|
||||||
|
* @return Cells
|
||||||
|
*/
|
||||||
|
public function getParent()
|
||||||
|
{
|
||||||
|
return $this->parent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get parent worksheet.
|
||||||
|
*
|
||||||
|
* @return Worksheet
|
||||||
|
*/
|
||||||
|
public function getWorksheet()
|
||||||
|
{
|
||||||
|
return $this->parent->getParent();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Is this cell in a merge range.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function isInMergeRange()
|
||||||
|
{
|
||||||
|
return (bool) $this->getMergeRange();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Is this cell the master (top left cell) in a merge range (that holds the actual data value).
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function isMergeRangeValueCell()
|
||||||
|
{
|
||||||
|
if ($mergeRange = $this->getMergeRange()) {
|
||||||
|
$mergeRange = Coordinate::splitRange($mergeRange);
|
||||||
|
[$startCell] = $mergeRange[0];
|
||||||
|
if ($this->getCoordinate() === $startCell) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If this cell is in a merge range, then return the range.
|
||||||
|
*
|
||||||
|
* @return false|string
|
||||||
|
*/
|
||||||
|
public function getMergeRange()
|
||||||
|
{
|
||||||
|
foreach ($this->getWorksheet()->getMergeCells() as $mergeRange) {
|
||||||
|
if ($this->isInRange($mergeRange)) {
|
||||||
|
return $mergeRange;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get cell style.
|
||||||
|
*
|
||||||
|
* @return Style
|
||||||
|
*/
|
||||||
|
public function getStyle()
|
||||||
|
{
|
||||||
|
return $this->getWorksheet()->getStyle($this->getCoordinate());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Re-bind parent.
|
||||||
|
*
|
||||||
|
* @param Worksheet $parent
|
||||||
|
*
|
||||||
|
* @return Cell
|
||||||
|
*/
|
||||||
|
public function rebindParent(Worksheet $parent)
|
||||||
|
{
|
||||||
|
$this->parent = $parent->getCellCollection();
|
||||||
|
|
||||||
|
return $this->updateInCollection();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Is cell in a specific range?
|
||||||
|
*
|
||||||
|
* @param string $pRange Cell range (e.g. A1:A1)
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function isInRange($pRange)
|
||||||
|
{
|
||||||
|
[$rangeStart, $rangeEnd] = Coordinate::rangeBoundaries($pRange);
|
||||||
|
|
||||||
|
// Translate properties
|
||||||
|
$myColumn = Coordinate::columnIndexFromString($this->getColumn());
|
||||||
|
$myRow = $this->getRow();
|
||||||
|
|
||||||
|
// Verify if cell is in range
|
||||||
|
return ($rangeStart[0] <= $myColumn) && ($rangeEnd[0] >= $myColumn) &&
|
||||||
|
($rangeStart[1] <= $myRow) && ($rangeEnd[1] >= $myRow);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Compare 2 cells.
|
||||||
|
*
|
||||||
|
* @param Cell $a Cell a
|
||||||
|
* @param Cell $b Cell b
|
||||||
|
*
|
||||||
|
* @return int Result of comparison (always -1 or 1, never zero!)
|
||||||
|
*/
|
||||||
|
public static function compareCells(self $a, self $b)
|
||||||
|
{
|
||||||
|
if ($a->getRow() < $b->getRow()) {
|
||||||
|
return -1;
|
||||||
|
} elseif ($a->getRow() > $b->getRow()) {
|
||||||
|
return 1;
|
||||||
|
} elseif (Coordinate::columnIndexFromString($a->getColumn()) < Coordinate::columnIndexFromString($b->getColumn())) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get value binder to use.
|
||||||
|
*
|
||||||
|
* @return IValueBinder
|
||||||
|
*/
|
||||||
|
public static function getValueBinder()
|
||||||
|
{
|
||||||
|
if (self::$valueBinder === null) {
|
||||||
|
self::$valueBinder = new DefaultValueBinder();
|
||||||
|
}
|
||||||
|
|
||||||
|
return self::$valueBinder;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set value binder to use.
|
||||||
|
*
|
||||||
|
* @param IValueBinder $binder
|
||||||
|
*/
|
||||||
|
public static function setValueBinder(IValueBinder $binder)
|
||||||
|
{
|
||||||
|
self::$valueBinder = $binder;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implement PHP __clone to create a deep clone, not just a shallow copy.
|
||||||
|
*/
|
||||||
|
public function __clone()
|
||||||
|
{
|
||||||
|
$vars = get_object_vars($this);
|
||||||
|
foreach ($vars as $key => $value) {
|
||||||
|
if ((is_object($value)) && ($key != 'parent')) {
|
||||||
|
$this->$key = clone $value;
|
||||||
|
} else {
|
||||||
|
$this->$key = $value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get index to cellXf.
|
||||||
|
*
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public function getXfIndex()
|
||||||
|
{
|
||||||
|
return $this->xfIndex;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set index to cellXf.
|
||||||
|
*
|
||||||
|
* @param int $pValue
|
||||||
|
*
|
||||||
|
* @return Cell
|
||||||
|
*/
|
||||||
|
public function setXfIndex($pValue)
|
||||||
|
{
|
||||||
|
$this->xfIndex = $pValue;
|
||||||
|
|
||||||
|
return $this->updateInCollection();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the formula attributes.
|
||||||
|
*
|
||||||
|
* @param mixed $pAttributes
|
||||||
|
*
|
||||||
|
* @return Cell
|
||||||
|
*/
|
||||||
|
public function setFormulaAttributes($pAttributes)
|
||||||
|
{
|
||||||
|
$this->formulaAttributes = $pAttributes;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the formula attributes.
|
||||||
|
*/
|
||||||
|
public function getFormulaAttributes()
|
||||||
|
{
|
||||||
|
return $this->formulaAttributes;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convert to string.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function __toString()
|
||||||
|
{
|
||||||
|
return (string) $this->getValue();
|
||||||
|
}
|
||||||
|
}
|
||||||
520
PhpOffice/PhpSpreadsheet/Cell/Coordinate.php
Normal file
520
PhpOffice/PhpSpreadsheet/Cell/Coordinate.php
Normal file
|
|
@ -0,0 +1,520 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Cell;
|
||||||
|
|
||||||
|
use PhpOffice\PhpSpreadsheet\Exception;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper class to manipulate cell coordinates.
|
||||||
|
*
|
||||||
|
* Columns indexes and rows are always based on 1, **not** on 0. This match the behavior
|
||||||
|
* that Excel users are used to, and also match the Excel functions `COLUMN()` and `ROW()`.
|
||||||
|
*/
|
||||||
|
abstract class Coordinate
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Default range variable constant.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
const DEFAULT_RANGE = 'A1:A1';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Coordinate from string.
|
||||||
|
*
|
||||||
|
* @param string $pCoordinateString eg: 'A1'
|
||||||
|
*
|
||||||
|
* @throws Exception
|
||||||
|
*
|
||||||
|
* @return string[] Array containing column and row (indexes 0 and 1)
|
||||||
|
*/
|
||||||
|
public static function coordinateFromString($pCoordinateString)
|
||||||
|
{
|
||||||
|
if (preg_match('/^([$]?[A-Z]{1,3})([$]?\\d{1,7})$/', $pCoordinateString, $matches)) {
|
||||||
|
return [$matches[1], $matches[2]];
|
||||||
|
} elseif (self::coordinateIsRange($pCoordinateString)) {
|
||||||
|
throw new Exception('Cell coordinate string can not be a range of cells');
|
||||||
|
} elseif ($pCoordinateString == '') {
|
||||||
|
throw new Exception('Cell coordinate can not be zero-length string');
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new Exception('Invalid cell coordinate ' . $pCoordinateString);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if a coordinate represents a range of cells.
|
||||||
|
*
|
||||||
|
* @param string $coord eg: 'A1' or 'A1:A2' or 'A1:A2,C1:C2'
|
||||||
|
*
|
||||||
|
* @return bool Whether the coordinate represents a range of cells
|
||||||
|
*/
|
||||||
|
public static function coordinateIsRange($coord)
|
||||||
|
{
|
||||||
|
return (strpos($coord, ':') !== false) || (strpos($coord, ',') !== false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Make string row, column or cell coordinate absolute.
|
||||||
|
*
|
||||||
|
* @param string $pCoordinateString e.g. 'A' or '1' or 'A1'
|
||||||
|
* Note that this value can be a row or column reference as well as a cell reference
|
||||||
|
*
|
||||||
|
* @throws Exception
|
||||||
|
*
|
||||||
|
* @return string Absolute coordinate e.g. '$A' or '$1' or '$A$1'
|
||||||
|
*/
|
||||||
|
public static function absoluteReference($pCoordinateString)
|
||||||
|
{
|
||||||
|
if (self::coordinateIsRange($pCoordinateString)) {
|
||||||
|
throw new Exception('Cell coordinate string can not be a range of cells');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Split out any worksheet name from the reference
|
||||||
|
[$worksheet, $pCoordinateString] = Worksheet::extractSheetTitle($pCoordinateString, true);
|
||||||
|
if ($worksheet > '') {
|
||||||
|
$worksheet .= '!';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create absolute coordinate
|
||||||
|
if (ctype_digit($pCoordinateString)) {
|
||||||
|
return $worksheet . '$' . $pCoordinateString;
|
||||||
|
} elseif (ctype_alpha($pCoordinateString)) {
|
||||||
|
return $worksheet . '$' . strtoupper($pCoordinateString);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $worksheet . self::absoluteCoordinate($pCoordinateString);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Make string coordinate absolute.
|
||||||
|
*
|
||||||
|
* @param string $pCoordinateString e.g. 'A1'
|
||||||
|
*
|
||||||
|
* @throws Exception
|
||||||
|
*
|
||||||
|
* @return string Absolute coordinate e.g. '$A$1'
|
||||||
|
*/
|
||||||
|
public static function absoluteCoordinate($pCoordinateString)
|
||||||
|
{
|
||||||
|
if (self::coordinateIsRange($pCoordinateString)) {
|
||||||
|
throw new Exception('Cell coordinate string can not be a range of cells');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Split out any worksheet name from the coordinate
|
||||||
|
[$worksheet, $pCoordinateString] = Worksheet::extractSheetTitle($pCoordinateString, true);
|
||||||
|
if ($worksheet > '') {
|
||||||
|
$worksheet .= '!';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create absolute coordinate
|
||||||
|
[$column, $row] = self::coordinateFromString($pCoordinateString);
|
||||||
|
$column = ltrim($column, '$');
|
||||||
|
$row = ltrim($row, '$');
|
||||||
|
|
||||||
|
return $worksheet . '$' . $column . '$' . $row;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Split range into coordinate strings.
|
||||||
|
*
|
||||||
|
* @param string $pRange e.g. 'B4:D9' or 'B4:D9,H2:O11' or 'B4'
|
||||||
|
*
|
||||||
|
* @return array Array containing one or more arrays containing one or two coordinate strings
|
||||||
|
* e.g. ['B4','D9'] or [['B4','D9'], ['H2','O11']]
|
||||||
|
* or ['B4']
|
||||||
|
*/
|
||||||
|
public static function splitRange($pRange)
|
||||||
|
{
|
||||||
|
// Ensure $pRange is a valid range
|
||||||
|
if (empty($pRange)) {
|
||||||
|
$pRange = self::DEFAULT_RANGE;
|
||||||
|
}
|
||||||
|
|
||||||
|
$exploded = explode(',', $pRange);
|
||||||
|
$counter = count($exploded);
|
||||||
|
for ($i = 0; $i < $counter; ++$i) {
|
||||||
|
$exploded[$i] = explode(':', $exploded[$i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $exploded;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Build range from coordinate strings.
|
||||||
|
*
|
||||||
|
* @param array $pRange Array containg one or more arrays containing one or two coordinate strings
|
||||||
|
*
|
||||||
|
* @throws Exception
|
||||||
|
*
|
||||||
|
* @return string String representation of $pRange
|
||||||
|
*/
|
||||||
|
public static function buildRange(array $pRange)
|
||||||
|
{
|
||||||
|
// Verify range
|
||||||
|
if (empty($pRange) || !is_array($pRange[0])) {
|
||||||
|
throw new Exception('Range does not contain any information');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Build range
|
||||||
|
$counter = count($pRange);
|
||||||
|
for ($i = 0; $i < $counter; ++$i) {
|
||||||
|
$pRange[$i] = implode(':', $pRange[$i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
return implode(',', $pRange);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Calculate range boundaries.
|
||||||
|
*
|
||||||
|
* @param string $pRange Cell range (e.g. A1:A1)
|
||||||
|
*
|
||||||
|
* @return array Range coordinates [Start Cell, End Cell]
|
||||||
|
* where Start Cell and End Cell are arrays (Column Number, Row Number)
|
||||||
|
*/
|
||||||
|
public static function rangeBoundaries($pRange)
|
||||||
|
{
|
||||||
|
// Ensure $pRange is a valid range
|
||||||
|
if (empty($pRange)) {
|
||||||
|
$pRange = self::DEFAULT_RANGE;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Uppercase coordinate
|
||||||
|
$pRange = strtoupper($pRange);
|
||||||
|
|
||||||
|
// Extract range
|
||||||
|
if (strpos($pRange, ':') === false) {
|
||||||
|
$rangeA = $rangeB = $pRange;
|
||||||
|
} else {
|
||||||
|
[$rangeA, $rangeB] = explode(':', $pRange);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Calculate range outer borders
|
||||||
|
$rangeStart = self::coordinateFromString($rangeA);
|
||||||
|
$rangeEnd = self::coordinateFromString($rangeB);
|
||||||
|
|
||||||
|
// Translate column into index
|
||||||
|
$rangeStart[0] = self::columnIndexFromString($rangeStart[0]);
|
||||||
|
$rangeEnd[0] = self::columnIndexFromString($rangeEnd[0]);
|
||||||
|
|
||||||
|
return [$rangeStart, $rangeEnd];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Calculate range dimension.
|
||||||
|
*
|
||||||
|
* @param string $pRange Cell range (e.g. A1:A1)
|
||||||
|
*
|
||||||
|
* @return array Range dimension (width, height)
|
||||||
|
*/
|
||||||
|
public static function rangeDimension($pRange)
|
||||||
|
{
|
||||||
|
// Calculate range outer borders
|
||||||
|
[$rangeStart, $rangeEnd] = self::rangeBoundaries($pRange);
|
||||||
|
|
||||||
|
return [($rangeEnd[0] - $rangeStart[0] + 1), ($rangeEnd[1] - $rangeStart[1] + 1)];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Calculate range boundaries.
|
||||||
|
*
|
||||||
|
* @param string $pRange Cell range (e.g. A1:A1)
|
||||||
|
*
|
||||||
|
* @return array Range coordinates [Start Cell, End Cell]
|
||||||
|
* where Start Cell and End Cell are arrays [Column ID, Row Number]
|
||||||
|
*/
|
||||||
|
public static function getRangeBoundaries($pRange)
|
||||||
|
{
|
||||||
|
// Ensure $pRange is a valid range
|
||||||
|
if (empty($pRange)) {
|
||||||
|
$pRange = self::DEFAULT_RANGE;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Uppercase coordinate
|
||||||
|
$pRange = strtoupper($pRange);
|
||||||
|
|
||||||
|
// Extract range
|
||||||
|
if (strpos($pRange, ':') === false) {
|
||||||
|
$rangeA = $rangeB = $pRange;
|
||||||
|
} else {
|
||||||
|
[$rangeA, $rangeB] = explode(':', $pRange);
|
||||||
|
}
|
||||||
|
|
||||||
|
return [self::coordinateFromString($rangeA), self::coordinateFromString($rangeB)];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Column index from string.
|
||||||
|
*
|
||||||
|
* @param string $pString eg 'A'
|
||||||
|
*
|
||||||
|
* @return int Column index (A = 1)
|
||||||
|
*/
|
||||||
|
public static function columnIndexFromString($pString)
|
||||||
|
{
|
||||||
|
// Using a lookup cache adds a slight memory overhead, but boosts speed
|
||||||
|
// caching using a static within the method is faster than a class static,
|
||||||
|
// though it's additional memory overhead
|
||||||
|
static $indexCache = [];
|
||||||
|
|
||||||
|
if (isset($indexCache[$pString])) {
|
||||||
|
return $indexCache[$pString];
|
||||||
|
}
|
||||||
|
// It's surprising how costly the strtoupper() and ord() calls actually are, so we use a lookup array rather than use ord()
|
||||||
|
// and make it case insensitive to get rid of the strtoupper() as well. Because it's a static, there's no significant
|
||||||
|
// memory overhead either
|
||||||
|
static $columnLookup = [
|
||||||
|
'A' => 1, 'B' => 2, 'C' => 3, 'D' => 4, 'E' => 5, 'F' => 6, 'G' => 7, 'H' => 8, 'I' => 9, 'J' => 10, 'K' => 11, 'L' => 12, 'M' => 13,
|
||||||
|
'N' => 14, 'O' => 15, 'P' => 16, 'Q' => 17, 'R' => 18, 'S' => 19, 'T' => 20, 'U' => 21, 'V' => 22, 'W' => 23, 'X' => 24, 'Y' => 25, 'Z' => 26,
|
||||||
|
'a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5, 'f' => 6, 'g' => 7, 'h' => 8, 'i' => 9, 'j' => 10, 'k' => 11, 'l' => 12, 'm' => 13,
|
||||||
|
'n' => 14, 'o' => 15, 'p' => 16, 'q' => 17, 'r' => 18, 's' => 19, 't' => 20, 'u' => 21, 'v' => 22, 'w' => 23, 'x' => 24, 'y' => 25, 'z' => 26,
|
||||||
|
];
|
||||||
|
|
||||||
|
// We also use the language construct isset() rather than the more costly strlen() function to match the length of $pString
|
||||||
|
// for improved performance
|
||||||
|
if (isset($pString[0])) {
|
||||||
|
if (!isset($pString[1])) {
|
||||||
|
$indexCache[$pString] = $columnLookup[$pString];
|
||||||
|
|
||||||
|
return $indexCache[$pString];
|
||||||
|
} elseif (!isset($pString[2])) {
|
||||||
|
$indexCache[$pString] = $columnLookup[$pString[0]] * 26 + $columnLookup[$pString[1]];
|
||||||
|
|
||||||
|
return $indexCache[$pString];
|
||||||
|
} elseif (!isset($pString[3])) {
|
||||||
|
$indexCache[$pString] = $columnLookup[$pString[0]] * 676 + $columnLookup[$pString[1]] * 26 + $columnLookup[$pString[2]];
|
||||||
|
|
||||||
|
return $indexCache[$pString];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new Exception('Column string index can not be ' . ((isset($pString[0])) ? 'longer than 3 characters' : 'empty'));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* String from column index.
|
||||||
|
*
|
||||||
|
* @param int $columnIndex Column index (A = 1)
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public static function stringFromColumnIndex($columnIndex)
|
||||||
|
{
|
||||||
|
static $indexCache = [];
|
||||||
|
|
||||||
|
if (!isset($indexCache[$columnIndex])) {
|
||||||
|
$indexValue = $columnIndex;
|
||||||
|
$base26 = null;
|
||||||
|
do {
|
||||||
|
$characterValue = ($indexValue % 26) ?: 26;
|
||||||
|
$indexValue = ($indexValue - $characterValue) / 26;
|
||||||
|
$base26 = chr($characterValue + 64) . ($base26 ?: '');
|
||||||
|
} while ($indexValue > 0);
|
||||||
|
$indexCache[$columnIndex] = $base26;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $indexCache[$columnIndex];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Extract all cell references in range, which may be comprised of multiple cell ranges.
|
||||||
|
*
|
||||||
|
* @param string $pRange Range (e.g. A1 or A1:C10 or A1:E10 A20:E25)
|
||||||
|
*
|
||||||
|
* @return array Array containing single cell references
|
||||||
|
*/
|
||||||
|
public static function extractAllCellReferencesInRange($pRange)
|
||||||
|
{
|
||||||
|
$returnValue = [];
|
||||||
|
|
||||||
|
// Explode spaces
|
||||||
|
$cellBlocks = self::getCellBlocksFromRangeString($pRange);
|
||||||
|
foreach ($cellBlocks as $cellBlock) {
|
||||||
|
$returnValue = array_merge($returnValue, self::getReferencesForCellBlock($cellBlock));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Sort the result by column and row
|
||||||
|
$sortKeys = [];
|
||||||
|
foreach (array_unique($returnValue) as $coord) {
|
||||||
|
$column = '';
|
||||||
|
$row = 0;
|
||||||
|
|
||||||
|
sscanf($coord, '%[A-Z]%d', $column, $row);
|
||||||
|
$sortKeys[sprintf('%3s%09d', $column, $row)] = $coord;
|
||||||
|
}
|
||||||
|
ksort($sortKeys);
|
||||||
|
|
||||||
|
// Return value
|
||||||
|
return array_values($sortKeys);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get all cell references for an individual cell block.
|
||||||
|
*
|
||||||
|
* @param string $cellBlock A cell range e.g. A4:B5
|
||||||
|
*
|
||||||
|
* @return array All individual cells in that range
|
||||||
|
*/
|
||||||
|
private static function getReferencesForCellBlock($cellBlock)
|
||||||
|
{
|
||||||
|
$returnValue = [];
|
||||||
|
|
||||||
|
// Single cell?
|
||||||
|
if (!self::coordinateIsRange($cellBlock)) {
|
||||||
|
return (array) $cellBlock;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Range...
|
||||||
|
$ranges = self::splitRange($cellBlock);
|
||||||
|
foreach ($ranges as $range) {
|
||||||
|
// Single cell?
|
||||||
|
if (!isset($range[1])) {
|
||||||
|
$returnValue[] = $range[0];
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Range...
|
||||||
|
[$rangeStart, $rangeEnd] = $range;
|
||||||
|
[$startColumn, $startRow] = self::coordinateFromString($rangeStart);
|
||||||
|
[$endColumn, $endRow] = self::coordinateFromString($rangeEnd);
|
||||||
|
$startColumnIndex = self::columnIndexFromString($startColumn);
|
||||||
|
$endColumnIndex = self::columnIndexFromString($endColumn);
|
||||||
|
++$endColumnIndex;
|
||||||
|
|
||||||
|
// Current data
|
||||||
|
$currentColumnIndex = $startColumnIndex;
|
||||||
|
$currentRow = $startRow;
|
||||||
|
|
||||||
|
self::validateRange($cellBlock, $startColumnIndex, $endColumnIndex, $currentRow, $endRow);
|
||||||
|
|
||||||
|
// Loop cells
|
||||||
|
while ($currentColumnIndex < $endColumnIndex) {
|
||||||
|
while ($currentRow <= $endRow) {
|
||||||
|
$returnValue[] = self::stringFromColumnIndex($currentColumnIndex) . $currentRow;
|
||||||
|
++$currentRow;
|
||||||
|
}
|
||||||
|
++$currentColumnIndex;
|
||||||
|
$currentRow = $startRow;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $returnValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convert an associative array of single cell coordinates to values to an associative array
|
||||||
|
* of cell ranges to values. Only adjacent cell coordinates with the same
|
||||||
|
* value will be merged. If the value is an object, it must implement the method getHashCode().
|
||||||
|
*
|
||||||
|
* For example, this function converts:
|
||||||
|
*
|
||||||
|
* [ 'A1' => 'x', 'A2' => 'x', 'A3' => 'x', 'A4' => 'y' ]
|
||||||
|
*
|
||||||
|
* to:
|
||||||
|
*
|
||||||
|
* [ 'A1:A3' => 'x', 'A4' => 'y' ]
|
||||||
|
*
|
||||||
|
* @param array $pCoordCollection associative array mapping coordinates to values
|
||||||
|
*
|
||||||
|
* @return array associative array mapping coordinate ranges to valuea
|
||||||
|
*/
|
||||||
|
public static function mergeRangesInCollection(array $pCoordCollection)
|
||||||
|
{
|
||||||
|
$hashedValues = [];
|
||||||
|
$mergedCoordCollection = [];
|
||||||
|
|
||||||
|
foreach ($pCoordCollection as $coord => $value) {
|
||||||
|
if (self::coordinateIsRange($coord)) {
|
||||||
|
$mergedCoordCollection[$coord] = $value;
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
[$column, $row] = self::coordinateFromString($coord);
|
||||||
|
$row = (int) (ltrim($row, '$'));
|
||||||
|
$hashCode = $column . '-' . (is_object($value) ? $value->getHashCode() : $value);
|
||||||
|
|
||||||
|
if (!isset($hashedValues[$hashCode])) {
|
||||||
|
$hashedValues[$hashCode] = (object) [
|
||||||
|
'value' => $value,
|
||||||
|
'col' => $column,
|
||||||
|
'rows' => [$row],
|
||||||
|
];
|
||||||
|
} else {
|
||||||
|
$hashedValues[$hashCode]->rows[] = $row;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ksort($hashedValues);
|
||||||
|
|
||||||
|
foreach ($hashedValues as $hashedValue) {
|
||||||
|
sort($hashedValue->rows);
|
||||||
|
$rowStart = null;
|
||||||
|
$rowEnd = null;
|
||||||
|
$ranges = [];
|
||||||
|
|
||||||
|
foreach ($hashedValue->rows as $row) {
|
||||||
|
if ($rowStart === null) {
|
||||||
|
$rowStart = $row;
|
||||||
|
$rowEnd = $row;
|
||||||
|
} elseif ($rowEnd === $row - 1) {
|
||||||
|
$rowEnd = $row;
|
||||||
|
} else {
|
||||||
|
if ($rowStart == $rowEnd) {
|
||||||
|
$ranges[] = $hashedValue->col . $rowStart;
|
||||||
|
} else {
|
||||||
|
$ranges[] = $hashedValue->col . $rowStart . ':' . $hashedValue->col . $rowEnd;
|
||||||
|
}
|
||||||
|
|
||||||
|
$rowStart = $row;
|
||||||
|
$rowEnd = $row;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($rowStart !== null) {
|
||||||
|
if ($rowStart == $rowEnd) {
|
||||||
|
$ranges[] = $hashedValue->col . $rowStart;
|
||||||
|
} else {
|
||||||
|
$ranges[] = $hashedValue->col . $rowStart . ':' . $hashedValue->col . $rowEnd;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($ranges as $range) {
|
||||||
|
$mergedCoordCollection[$range] = $hashedValue->value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $mergedCoordCollection;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the individual cell blocks from a range string, splitting by space and removing any $ characters.
|
||||||
|
*
|
||||||
|
* @param string $pRange
|
||||||
|
*
|
||||||
|
* @return string[]
|
||||||
|
*/
|
||||||
|
private static function getCellBlocksFromRangeString($pRange)
|
||||||
|
{
|
||||||
|
return explode(' ', str_replace('$', '', strtoupper($pRange)));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check that the given range is valid, i.e. that the start column and row are not greater than the end column and
|
||||||
|
* row.
|
||||||
|
*
|
||||||
|
* @param string $cellBlock The original range, for displaying a meaningful error message
|
||||||
|
* @param int $startColumnIndex
|
||||||
|
* @param int $endColumnIndex
|
||||||
|
* @param int $currentRow
|
||||||
|
* @param int $endRow
|
||||||
|
*/
|
||||||
|
private static function validateRange($cellBlock, $startColumnIndex, $endColumnIndex, $currentRow, $endRow)
|
||||||
|
{
|
||||||
|
if ($startColumnIndex >= $endColumnIndex || $currentRow > $endRow) {
|
||||||
|
throw new Exception('Invalid range: "' . $cellBlock . '"');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
85
PhpOffice/PhpSpreadsheet/Cell/DataType.php
Normal file
85
PhpOffice/PhpSpreadsheet/Cell/DataType.php
Normal file
|
|
@ -0,0 +1,85 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Cell;
|
||||||
|
|
||||||
|
use PhpOffice\PhpSpreadsheet\RichText\RichText;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Shared\StringHelper;
|
||||||
|
|
||||||
|
class DataType
|
||||||
|
{
|
||||||
|
// Data types
|
||||||
|
const TYPE_STRING2 = 'str';
|
||||||
|
const TYPE_STRING = 's';
|
||||||
|
const TYPE_FORMULA = 'f';
|
||||||
|
const TYPE_NUMERIC = 'n';
|
||||||
|
const TYPE_BOOL = 'b';
|
||||||
|
const TYPE_NULL = 'null';
|
||||||
|
const TYPE_INLINE = 'inlineStr';
|
||||||
|
const TYPE_ERROR = 'e';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* List of error codes.
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
private static $errorCodes = [
|
||||||
|
'#NULL!' => 0,
|
||||||
|
'#DIV/0!' => 1,
|
||||||
|
'#VALUE!' => 2,
|
||||||
|
'#REF!' => 3,
|
||||||
|
'#NAME?' => 4,
|
||||||
|
'#NUM!' => 5,
|
||||||
|
'#N/A' => 6,
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get list of error codes.
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public static function getErrorCodes()
|
||||||
|
{
|
||||||
|
return self::$errorCodes;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check a string that it satisfies Excel requirements.
|
||||||
|
*
|
||||||
|
* @param null|RichText|string $pValue Value to sanitize to an Excel string
|
||||||
|
*
|
||||||
|
* @return null|RichText|string Sanitized value
|
||||||
|
*/
|
||||||
|
public static function checkString($pValue)
|
||||||
|
{
|
||||||
|
if ($pValue instanceof RichText) {
|
||||||
|
// TODO: Sanitize Rich-Text string (max. character count is 32,767)
|
||||||
|
return $pValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// string must never be longer than 32,767 characters, truncate if necessary
|
||||||
|
$pValue = StringHelper::substring($pValue, 0, 32767);
|
||||||
|
|
||||||
|
// we require that newline is represented as "\n" in core, not as "\r\n" or "\r"
|
||||||
|
$pValue = str_replace(["\r\n", "\r"], "\n", $pValue);
|
||||||
|
|
||||||
|
return $pValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check a value that it is a valid error code.
|
||||||
|
*
|
||||||
|
* @param mixed $pValue Value to sanitize to an Excel error code
|
||||||
|
*
|
||||||
|
* @return string Sanitized value
|
||||||
|
*/
|
||||||
|
public static function checkErrorCode($pValue)
|
||||||
|
{
|
||||||
|
$pValue = (string) $pValue;
|
||||||
|
|
||||||
|
if (!isset(self::$errorCodes[$pValue])) {
|
||||||
|
$pValue = '#NULL!';
|
||||||
|
}
|
||||||
|
|
||||||
|
return $pValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
481
PhpOffice/PhpSpreadsheet/Cell/DataValidation.php
Normal file
481
PhpOffice/PhpSpreadsheet/Cell/DataValidation.php
Normal file
|
|
@ -0,0 +1,481 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Cell;
|
||||||
|
|
||||||
|
class DataValidation
|
||||||
|
{
|
||||||
|
// Data validation types
|
||||||
|
const TYPE_NONE = 'none';
|
||||||
|
const TYPE_CUSTOM = 'custom';
|
||||||
|
const TYPE_DATE = 'date';
|
||||||
|
const TYPE_DECIMAL = 'decimal';
|
||||||
|
const TYPE_LIST = 'list';
|
||||||
|
const TYPE_TEXTLENGTH = 'textLength';
|
||||||
|
const TYPE_TIME = 'time';
|
||||||
|
const TYPE_WHOLE = 'whole';
|
||||||
|
|
||||||
|
// Data validation error styles
|
||||||
|
const STYLE_STOP = 'stop';
|
||||||
|
const STYLE_WARNING = 'warning';
|
||||||
|
const STYLE_INFORMATION = 'information';
|
||||||
|
|
||||||
|
// Data validation operators
|
||||||
|
const OPERATOR_BETWEEN = 'between';
|
||||||
|
const OPERATOR_EQUAL = 'equal';
|
||||||
|
const OPERATOR_GREATERTHAN = 'greaterThan';
|
||||||
|
const OPERATOR_GREATERTHANOREQUAL = 'greaterThanOrEqual';
|
||||||
|
const OPERATOR_LESSTHAN = 'lessThan';
|
||||||
|
const OPERATOR_LESSTHANOREQUAL = 'lessThanOrEqual';
|
||||||
|
const OPERATOR_NOTBETWEEN = 'notBetween';
|
||||||
|
const OPERATOR_NOTEQUAL = 'notEqual';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Formula 1.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $formula1 = '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Formula 2.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $formula2 = '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Type.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $type = self::TYPE_NONE;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Error style.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $errorStyle = self::STYLE_STOP;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Operator.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $operator = self::OPERATOR_BETWEEN;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Allow Blank.
|
||||||
|
*
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
private $allowBlank = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show DropDown.
|
||||||
|
*
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
private $showDropDown = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show InputMessage.
|
||||||
|
*
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
private $showInputMessage = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show ErrorMessage.
|
||||||
|
*
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
private $showErrorMessage = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Error title.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $errorTitle = '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Error.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $error = '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Prompt title.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $promptTitle = '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Prompt.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $prompt = '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new DataValidation.
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Formula 1.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getFormula1()
|
||||||
|
{
|
||||||
|
return $this->formula1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Formula 1.
|
||||||
|
*
|
||||||
|
* @param string $value
|
||||||
|
*
|
||||||
|
* @return DataValidation
|
||||||
|
*/
|
||||||
|
public function setFormula1($value)
|
||||||
|
{
|
||||||
|
$this->formula1 = $value;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Formula 2.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getFormula2()
|
||||||
|
{
|
||||||
|
return $this->formula2;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Formula 2.
|
||||||
|
*
|
||||||
|
* @param string $value
|
||||||
|
*
|
||||||
|
* @return DataValidation
|
||||||
|
*/
|
||||||
|
public function setFormula2($value)
|
||||||
|
{
|
||||||
|
$this->formula2 = $value;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Type.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getType()
|
||||||
|
{
|
||||||
|
return $this->type;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Type.
|
||||||
|
*
|
||||||
|
* @param string $value
|
||||||
|
*
|
||||||
|
* @return DataValidation
|
||||||
|
*/
|
||||||
|
public function setType($value)
|
||||||
|
{
|
||||||
|
$this->type = $value;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Error style.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getErrorStyle()
|
||||||
|
{
|
||||||
|
return $this->errorStyle;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Error style.
|
||||||
|
*
|
||||||
|
* @param string $value see self::STYLE_*
|
||||||
|
*
|
||||||
|
* @return DataValidation
|
||||||
|
*/
|
||||||
|
public function setErrorStyle($value)
|
||||||
|
{
|
||||||
|
$this->errorStyle = $value;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Operator.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getOperator()
|
||||||
|
{
|
||||||
|
return $this->operator;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Operator.
|
||||||
|
*
|
||||||
|
* @param string $value
|
||||||
|
*
|
||||||
|
* @return DataValidation
|
||||||
|
*/
|
||||||
|
public function setOperator($value)
|
||||||
|
{
|
||||||
|
$this->operator = $value;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Allow Blank.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function getAllowBlank()
|
||||||
|
{
|
||||||
|
return $this->allowBlank;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Allow Blank.
|
||||||
|
*
|
||||||
|
* @param bool $value
|
||||||
|
*
|
||||||
|
* @return DataValidation
|
||||||
|
*/
|
||||||
|
public function setAllowBlank($value)
|
||||||
|
{
|
||||||
|
$this->allowBlank = $value;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Show DropDown.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function getShowDropDown()
|
||||||
|
{
|
||||||
|
return $this->showDropDown;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Show DropDown.
|
||||||
|
*
|
||||||
|
* @param bool $value
|
||||||
|
*
|
||||||
|
* @return DataValidation
|
||||||
|
*/
|
||||||
|
public function setShowDropDown($value)
|
||||||
|
{
|
||||||
|
$this->showDropDown = $value;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Show InputMessage.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function getShowInputMessage()
|
||||||
|
{
|
||||||
|
return $this->showInputMessage;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Show InputMessage.
|
||||||
|
*
|
||||||
|
* @param bool $value
|
||||||
|
*
|
||||||
|
* @return DataValidation
|
||||||
|
*/
|
||||||
|
public function setShowInputMessage($value)
|
||||||
|
{
|
||||||
|
$this->showInputMessage = $value;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Show ErrorMessage.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function getShowErrorMessage()
|
||||||
|
{
|
||||||
|
return $this->showErrorMessage;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Show ErrorMessage.
|
||||||
|
*
|
||||||
|
* @param bool $value
|
||||||
|
*
|
||||||
|
* @return DataValidation
|
||||||
|
*/
|
||||||
|
public function setShowErrorMessage($value)
|
||||||
|
{
|
||||||
|
$this->showErrorMessage = $value;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Error title.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getErrorTitle()
|
||||||
|
{
|
||||||
|
return $this->errorTitle;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Error title.
|
||||||
|
*
|
||||||
|
* @param string $value
|
||||||
|
*
|
||||||
|
* @return DataValidation
|
||||||
|
*/
|
||||||
|
public function setErrorTitle($value)
|
||||||
|
{
|
||||||
|
$this->errorTitle = $value;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Error.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getError()
|
||||||
|
{
|
||||||
|
return $this->error;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Error.
|
||||||
|
*
|
||||||
|
* @param string $value
|
||||||
|
*
|
||||||
|
* @return DataValidation
|
||||||
|
*/
|
||||||
|
public function setError($value)
|
||||||
|
{
|
||||||
|
$this->error = $value;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Prompt title.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getPromptTitle()
|
||||||
|
{
|
||||||
|
return $this->promptTitle;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Prompt title.
|
||||||
|
*
|
||||||
|
* @param string $value
|
||||||
|
*
|
||||||
|
* @return DataValidation
|
||||||
|
*/
|
||||||
|
public function setPromptTitle($value)
|
||||||
|
{
|
||||||
|
$this->promptTitle = $value;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Prompt.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getPrompt()
|
||||||
|
{
|
||||||
|
return $this->prompt;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Prompt.
|
||||||
|
*
|
||||||
|
* @param string $value
|
||||||
|
*
|
||||||
|
* @return DataValidation
|
||||||
|
*/
|
||||||
|
public function setPrompt($value)
|
||||||
|
{
|
||||||
|
$this->prompt = $value;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get hash code.
|
||||||
|
*
|
||||||
|
* @return string Hash code
|
||||||
|
*/
|
||||||
|
public function getHashCode()
|
||||||
|
{
|
||||||
|
return md5(
|
||||||
|
$this->formula1 .
|
||||||
|
$this->formula2 .
|
||||||
|
$this->type .
|
||||||
|
$this->errorStyle .
|
||||||
|
$this->operator .
|
||||||
|
($this->allowBlank ? 't' : 'f') .
|
||||||
|
($this->showDropDown ? 't' : 'f') .
|
||||||
|
($this->showInputMessage ? 't' : 'f') .
|
||||||
|
($this->showErrorMessage ? 't' : 'f') .
|
||||||
|
$this->errorTitle .
|
||||||
|
$this->error .
|
||||||
|
$this->promptTitle .
|
||||||
|
$this->prompt .
|
||||||
|
__CLASS__
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implement PHP __clone to create a deep clone, not just a shallow copy.
|
||||||
|
*/
|
||||||
|
public function __clone()
|
||||||
|
{
|
||||||
|
$vars = get_object_vars($this);
|
||||||
|
foreach ($vars as $key => $value) {
|
||||||
|
if (is_object($value)) {
|
||||||
|
$this->$key = clone $value;
|
||||||
|
} else {
|
||||||
|
$this->$key = $value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
77
PhpOffice/PhpSpreadsheet/Cell/DataValidator.php
Normal file
77
PhpOffice/PhpSpreadsheet/Cell/DataValidator.php
Normal file
|
|
@ -0,0 +1,77 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Cell;
|
||||||
|
|
||||||
|
use PhpOffice\PhpSpreadsheet\Calculation\Calculation;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Calculation\Functions;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Exception;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Validate a cell value according to its validation rules.
|
||||||
|
*/
|
||||||
|
class DataValidator
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Does this cell contain valid value?
|
||||||
|
*
|
||||||
|
* @param Cell $cell Cell to check the value
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function isValid(Cell $cell)
|
||||||
|
{
|
||||||
|
if (!$cell->hasDataValidation()) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
$cellValue = $cell->getValue();
|
||||||
|
$dataValidation = $cell->getDataValidation();
|
||||||
|
|
||||||
|
if (!$dataValidation->getAllowBlank() && ($cellValue === null || $cellValue === '')) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: write check on all cases
|
||||||
|
switch ($dataValidation->getType()) {
|
||||||
|
case DataValidation::TYPE_LIST:
|
||||||
|
return $this->isValueInList($cell);
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Does this cell contain valid value, based on list?
|
||||||
|
*
|
||||||
|
* @param Cell $cell Cell to check the value
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
private function isValueInList(Cell $cell)
|
||||||
|
{
|
||||||
|
$cellValue = $cell->getValue();
|
||||||
|
$dataValidation = $cell->getDataValidation();
|
||||||
|
|
||||||
|
$formula1 = $dataValidation->getFormula1();
|
||||||
|
if (!empty($formula1)) {
|
||||||
|
// inline values list
|
||||||
|
if ($formula1[0] === '"') {
|
||||||
|
return in_array(strtolower($cellValue), explode(',', strtolower(trim($formula1, '"'))), true);
|
||||||
|
} elseif (strpos($formula1, ':') > 0) {
|
||||||
|
// values list cells
|
||||||
|
$matchFormula = '=MATCH(' . $cell->getCoordinate() . ', ' . $formula1 . ', 0)';
|
||||||
|
$calculation = Calculation::getInstance($cell->getWorksheet()->getParent());
|
||||||
|
|
||||||
|
try {
|
||||||
|
$result = $calculation->calculateFormula($matchFormula, $cell->getCoordinate(), $cell);
|
||||||
|
|
||||||
|
return $result !== Functions::NA();
|
||||||
|
} catch (Exception $ex) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
82
PhpOffice/PhpSpreadsheet/Cell/DefaultValueBinder.php
Normal file
82
PhpOffice/PhpSpreadsheet/Cell/DefaultValueBinder.php
Normal file
|
|
@ -0,0 +1,82 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Cell;
|
||||||
|
|
||||||
|
use DateTimeInterface;
|
||||||
|
use PhpOffice\PhpSpreadsheet\RichText\RichText;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Shared\StringHelper;
|
||||||
|
|
||||||
|
class DefaultValueBinder implements IValueBinder
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Bind value to a cell.
|
||||||
|
*
|
||||||
|
* @param Cell $cell Cell to bind value to
|
||||||
|
* @param mixed $value Value to bind in cell
|
||||||
|
*
|
||||||
|
* @throws \PhpOffice\PhpSpreadsheet\Exception
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function bindValue(Cell $cell, $value)
|
||||||
|
{
|
||||||
|
// sanitize UTF-8 strings
|
||||||
|
if (is_string($value)) {
|
||||||
|
$value = StringHelper::sanitizeUTF8($value);
|
||||||
|
} elseif (is_object($value)) {
|
||||||
|
// Handle any objects that might be injected
|
||||||
|
if ($value instanceof DateTimeInterface) {
|
||||||
|
$value = $value->format('Y-m-d H:i:s');
|
||||||
|
} elseif (!($value instanceof RichText)) {
|
||||||
|
$value = (string) $value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set value explicit
|
||||||
|
$cell->setValueExplicit($value, static::dataTypeForValue($value));
|
||||||
|
|
||||||
|
// Done!
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DataType for value.
|
||||||
|
*
|
||||||
|
* @param mixed $pValue
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public static function dataTypeForValue($pValue)
|
||||||
|
{
|
||||||
|
// Match the value against a few data types
|
||||||
|
if ($pValue === null) {
|
||||||
|
return DataType::TYPE_NULL;
|
||||||
|
} elseif ($pValue === '') {
|
||||||
|
return DataType::TYPE_STRING;
|
||||||
|
} elseif ($pValue instanceof RichText) {
|
||||||
|
return DataType::TYPE_INLINE;
|
||||||
|
} elseif (strpos($pValue, "=") === 0 && strlen($pValue) > 1) {
|
||||||
|
return DataType::TYPE_FORMULA;
|
||||||
|
} elseif (is_bool($pValue)) {
|
||||||
|
return DataType::TYPE_BOOL;
|
||||||
|
} elseif (is_float($pValue) || is_int($pValue)) {
|
||||||
|
return DataType::TYPE_NUMERIC;
|
||||||
|
} elseif (preg_match('/^[\+\-]?(\d+\\.?\d*|\d*\\.?\d+)([Ee][\-\+]?[0-2]?\d{1,3})?$/', $pValue)) {
|
||||||
|
$tValue = ltrim($pValue, '+-');
|
||||||
|
if (is_string($pValue) && $tValue[0] === '0' && strlen($tValue) > 1 && $tValue[1] !== '.') {
|
||||||
|
return DataType::TYPE_STRING;
|
||||||
|
} elseif ((strpos($pValue, '.') === false) && ($pValue > PHP_INT_MAX)) {
|
||||||
|
return DataType::TYPE_STRING;
|
||||||
|
}
|
||||||
|
|
||||||
|
return DataType::TYPE_NUMERIC;
|
||||||
|
} elseif (is_string($pValue)) {
|
||||||
|
$errorCodes = DataType::getErrorCodes();
|
||||||
|
if (isset($errorCodes[$pValue])) {
|
||||||
|
return DataType::TYPE_ERROR;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return DataType::TYPE_STRING;
|
||||||
|
}
|
||||||
|
}
|
||||||
113
PhpOffice/PhpSpreadsheet/Cell/Hyperlink.php
Normal file
113
PhpOffice/PhpSpreadsheet/Cell/Hyperlink.php
Normal file
|
|
@ -0,0 +1,113 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Cell;
|
||||||
|
|
||||||
|
class Hyperlink
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* URL to link the cell to.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $url;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tooltip to display on the hyperlink.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $tooltip;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new Hyperlink.
|
||||||
|
*
|
||||||
|
* @param string $pUrl Url to link the cell to
|
||||||
|
* @param string $pTooltip Tooltip to display on the hyperlink
|
||||||
|
*/
|
||||||
|
public function __construct($pUrl = '', $pTooltip = '')
|
||||||
|
{
|
||||||
|
// Initialise member variables
|
||||||
|
$this->url = $pUrl;
|
||||||
|
$this->tooltip = $pTooltip;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get URL.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getUrl()
|
||||||
|
{
|
||||||
|
return $this->url;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set URL.
|
||||||
|
*
|
||||||
|
* @param string $value
|
||||||
|
*
|
||||||
|
* @return Hyperlink
|
||||||
|
*/
|
||||||
|
public function setUrl($value)
|
||||||
|
{
|
||||||
|
$this->url = $value;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get tooltip.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getTooltip()
|
||||||
|
{
|
||||||
|
return $this->tooltip;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set tooltip.
|
||||||
|
*
|
||||||
|
* @param string $value
|
||||||
|
*
|
||||||
|
* @return Hyperlink
|
||||||
|
*/
|
||||||
|
public function setTooltip($value)
|
||||||
|
{
|
||||||
|
$this->tooltip = $value;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Is this hyperlink internal? (to another worksheet).
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function isInternal()
|
||||||
|
{
|
||||||
|
return strpos($this->url, 'sheet://') !== false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getTypeHyperlink()
|
||||||
|
{
|
||||||
|
return $this->isInternal() ? '' : 'External';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get hash code.
|
||||||
|
*
|
||||||
|
* @return string Hash code
|
||||||
|
*/
|
||||||
|
public function getHashCode()
|
||||||
|
{
|
||||||
|
return md5(
|
||||||
|
$this->url .
|
||||||
|
$this->tooltip .
|
||||||
|
__CLASS__
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
16
PhpOffice/PhpSpreadsheet/Cell/IValueBinder.php
Normal file
16
PhpOffice/PhpSpreadsheet/Cell/IValueBinder.php
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Cell;
|
||||||
|
|
||||||
|
interface IValueBinder
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Bind value to a cell.
|
||||||
|
*
|
||||||
|
* @param Cell $cell Cell to bind value to
|
||||||
|
* @param mixed $value Value to bind in cell
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function bindValue(Cell $cell, $value);
|
||||||
|
}
|
||||||
31
PhpOffice/PhpSpreadsheet/Cell/StringValueBinder.php
Normal file
31
PhpOffice/PhpSpreadsheet/Cell/StringValueBinder.php
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Cell;
|
||||||
|
|
||||||
|
use PhpOffice\PhpSpreadsheet\Shared\StringHelper;
|
||||||
|
|
||||||
|
class StringValueBinder implements IValueBinder
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Bind value to a cell.
|
||||||
|
*
|
||||||
|
* @param Cell $cell Cell to bind value to
|
||||||
|
* @param mixed $value Value to bind in cell
|
||||||
|
*
|
||||||
|
* @throws \PhpOffice\PhpSpreadsheet\Exception
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function bindValue(Cell $cell, $value)
|
||||||
|
{
|
||||||
|
// sanitize UTF-8 strings
|
||||||
|
if (is_string($value)) {
|
||||||
|
$value = StringHelper::sanitizeUTF8($value);
|
||||||
|
}
|
||||||
|
|
||||||
|
$cell->setValueExplicit((string) $value, DataType::TYPE_STRING);
|
||||||
|
|
||||||
|
// Done!
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
557
PhpOffice/PhpSpreadsheet/Chart/Axis.php
Normal file
557
PhpOffice/PhpSpreadsheet/Chart/Axis.php
Normal file
|
|
@ -0,0 +1,557 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Chart;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by PhpStorm.
|
||||||
|
* User: Wiktor Trzonkowski
|
||||||
|
* Date: 6/17/14
|
||||||
|
* Time: 12:11 PM.
|
||||||
|
*/
|
||||||
|
class Axis extends Properties
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Axis Number.
|
||||||
|
*
|
||||||
|
* @var array of mixed
|
||||||
|
*/
|
||||||
|
private $axisNumber = [
|
||||||
|
'format' => self::FORMAT_CODE_GENERAL,
|
||||||
|
'source_linked' => 1,
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Axis Options.
|
||||||
|
*
|
||||||
|
* @var array of mixed
|
||||||
|
*/
|
||||||
|
private $axisOptions = [
|
||||||
|
'minimum' => null,
|
||||||
|
'maximum' => null,
|
||||||
|
'major_unit' => null,
|
||||||
|
'minor_unit' => null,
|
||||||
|
'orientation' => self::ORIENTATION_NORMAL,
|
||||||
|
'minor_tick_mark' => self::TICK_MARK_NONE,
|
||||||
|
'major_tick_mark' => self::TICK_MARK_NONE,
|
||||||
|
'axis_labels' => self::AXIS_LABELS_NEXT_TO,
|
||||||
|
'horizontal_crosses' => self::HORIZONTAL_CROSSES_AUTOZERO,
|
||||||
|
'horizontal_crosses_value' => null,
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fill Properties.
|
||||||
|
*
|
||||||
|
* @var array of mixed
|
||||||
|
*/
|
||||||
|
private $fillProperties = [
|
||||||
|
'type' => self::EXCEL_COLOR_TYPE_ARGB,
|
||||||
|
'value' => null,
|
||||||
|
'alpha' => 0,
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Line Properties.
|
||||||
|
*
|
||||||
|
* @var array of mixed
|
||||||
|
*/
|
||||||
|
private $lineProperties = [
|
||||||
|
'type' => self::EXCEL_COLOR_TYPE_ARGB,
|
||||||
|
'value' => null,
|
||||||
|
'alpha' => 0,
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Line Style Properties.
|
||||||
|
*
|
||||||
|
* @var array of mixed
|
||||||
|
*/
|
||||||
|
private $lineStyleProperties = [
|
||||||
|
'width' => '9525',
|
||||||
|
'compound' => self::LINE_STYLE_COMPOUND_SIMPLE,
|
||||||
|
'dash' => self::LINE_STYLE_DASH_SOLID,
|
||||||
|
'cap' => self::LINE_STYLE_CAP_FLAT,
|
||||||
|
'join' => self::LINE_STYLE_JOIN_BEVEL,
|
||||||
|
'arrow' => [
|
||||||
|
'head' => [
|
||||||
|
'type' => self::LINE_STYLE_ARROW_TYPE_NOARROW,
|
||||||
|
'size' => self::LINE_STYLE_ARROW_SIZE_5,
|
||||||
|
],
|
||||||
|
'end' => [
|
||||||
|
'type' => self::LINE_STYLE_ARROW_TYPE_NOARROW,
|
||||||
|
'size' => self::LINE_STYLE_ARROW_SIZE_8,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Shadow Properties.
|
||||||
|
*
|
||||||
|
* @var array of mixed
|
||||||
|
*/
|
||||||
|
private $shadowProperties = [
|
||||||
|
'presets' => self::SHADOW_PRESETS_NOSHADOW,
|
||||||
|
'effect' => null,
|
||||||
|
'color' => [
|
||||||
|
'type' => self::EXCEL_COLOR_TYPE_STANDARD,
|
||||||
|
'value' => 'black',
|
||||||
|
'alpha' => 40,
|
||||||
|
],
|
||||||
|
'size' => [
|
||||||
|
'sx' => null,
|
||||||
|
'sy' => null,
|
||||||
|
'kx' => null,
|
||||||
|
],
|
||||||
|
'blur' => null,
|
||||||
|
'direction' => null,
|
||||||
|
'distance' => null,
|
||||||
|
'algn' => null,
|
||||||
|
'rotWithShape' => null,
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Glow Properties.
|
||||||
|
*
|
||||||
|
* @var array of mixed
|
||||||
|
*/
|
||||||
|
private $glowProperties = [
|
||||||
|
'size' => null,
|
||||||
|
'color' => [
|
||||||
|
'type' => self::EXCEL_COLOR_TYPE_STANDARD,
|
||||||
|
'value' => 'black',
|
||||||
|
'alpha' => 40,
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Soft Edge Properties.
|
||||||
|
*
|
||||||
|
* @var array of mixed
|
||||||
|
*/
|
||||||
|
private $softEdges = [
|
||||||
|
'size' => null,
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Series Data Type.
|
||||||
|
*
|
||||||
|
* @param mixed $format_code
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function setAxisNumberProperties($format_code)
|
||||||
|
{
|
||||||
|
$this->axisNumber['format'] = (string) $format_code;
|
||||||
|
$this->axisNumber['source_linked'] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Axis Number Format Data Type.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getAxisNumberFormat()
|
||||||
|
{
|
||||||
|
return $this->axisNumber['format'];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Axis Number Source Linked.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getAxisNumberSourceLinked()
|
||||||
|
{
|
||||||
|
return (string) $this->axisNumber['source_linked'];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Axis Options Properties.
|
||||||
|
*
|
||||||
|
* @param string $axis_labels
|
||||||
|
* @param string $horizontal_crosses_value
|
||||||
|
* @param string $horizontal_crosses
|
||||||
|
* @param string $axis_orientation
|
||||||
|
* @param string $major_tmt
|
||||||
|
* @param string $minor_tmt
|
||||||
|
* @param string $minimum
|
||||||
|
* @param string $maximum
|
||||||
|
* @param string $major_unit
|
||||||
|
* @param string $minor_unit
|
||||||
|
*/
|
||||||
|
public function setAxisOptionsProperties($axis_labels, $horizontal_crosses_value = null, $horizontal_crosses = null, $axis_orientation = null, $major_tmt = null, $minor_tmt = null, $minimum = null, $maximum = null, $major_unit = null, $minor_unit = null)
|
||||||
|
{
|
||||||
|
$this->axisOptions['axis_labels'] = (string) $axis_labels;
|
||||||
|
($horizontal_crosses_value !== null) ? $this->axisOptions['horizontal_crosses_value'] = (string) $horizontal_crosses_value : null;
|
||||||
|
($horizontal_crosses !== null) ? $this->axisOptions['horizontal_crosses'] = (string) $horizontal_crosses : null;
|
||||||
|
($axis_orientation !== null) ? $this->axisOptions['orientation'] = (string) $axis_orientation : null;
|
||||||
|
($major_tmt !== null) ? $this->axisOptions['major_tick_mark'] = (string) $major_tmt : null;
|
||||||
|
($minor_tmt !== null) ? $this->axisOptions['minor_tick_mark'] = (string) $minor_tmt : null;
|
||||||
|
($minor_tmt !== null) ? $this->axisOptions['minor_tick_mark'] = (string) $minor_tmt : null;
|
||||||
|
($minimum !== null) ? $this->axisOptions['minimum'] = (string) $minimum : null;
|
||||||
|
($maximum !== null) ? $this->axisOptions['maximum'] = (string) $maximum : null;
|
||||||
|
($major_unit !== null) ? $this->axisOptions['major_unit'] = (string) $major_unit : null;
|
||||||
|
($minor_unit !== null) ? $this->axisOptions['minor_unit'] = (string) $minor_unit : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Axis Options Property.
|
||||||
|
*
|
||||||
|
* @param string $property
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getAxisOptionsProperty($property)
|
||||||
|
{
|
||||||
|
return $this->axisOptions[$property];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Axis Orientation Property.
|
||||||
|
*
|
||||||
|
* @param string $orientation
|
||||||
|
*/
|
||||||
|
public function setAxisOrientation($orientation)
|
||||||
|
{
|
||||||
|
$this->axisOptions['orientation'] = (string) $orientation;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Fill Property.
|
||||||
|
*
|
||||||
|
* @param string $color
|
||||||
|
* @param int $alpha
|
||||||
|
* @param string $type
|
||||||
|
*/
|
||||||
|
public function setFillParameters($color, $alpha = 0, $type = self::EXCEL_COLOR_TYPE_ARGB)
|
||||||
|
{
|
||||||
|
$this->fillProperties = $this->setColorProperties($color, $alpha, $type);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Line Property.
|
||||||
|
*
|
||||||
|
* @param string $color
|
||||||
|
* @param int $alpha
|
||||||
|
* @param string $type
|
||||||
|
*/
|
||||||
|
public function setLineParameters($color, $alpha = 0, $type = self::EXCEL_COLOR_TYPE_ARGB)
|
||||||
|
{
|
||||||
|
$this->lineProperties = $this->setColorProperties($color, $alpha, $type);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Fill Property.
|
||||||
|
*
|
||||||
|
* @param string $property
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getFillProperty($property)
|
||||||
|
{
|
||||||
|
return $this->fillProperties[$property];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Line Property.
|
||||||
|
*
|
||||||
|
* @param string $property
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getLineProperty($property)
|
||||||
|
{
|
||||||
|
return $this->lineProperties[$property];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Line Style Properties.
|
||||||
|
*
|
||||||
|
* @param float $line_width
|
||||||
|
* @param string $compound_type
|
||||||
|
* @param string $dash_type
|
||||||
|
* @param string $cap_type
|
||||||
|
* @param string $join_type
|
||||||
|
* @param string $head_arrow_type
|
||||||
|
* @param string $head_arrow_size
|
||||||
|
* @param string $end_arrow_type
|
||||||
|
* @param string $end_arrow_size
|
||||||
|
*/
|
||||||
|
public function setLineStyleProperties($line_width = null, $compound_type = null, $dash_type = null, $cap_type = null, $join_type = null, $head_arrow_type = null, $head_arrow_size = null, $end_arrow_type = null, $end_arrow_size = null)
|
||||||
|
{
|
||||||
|
($line_width !== null) ? $this->lineStyleProperties['width'] = $this->getExcelPointsWidth((float) $line_width) : null;
|
||||||
|
($compound_type !== null) ? $this->lineStyleProperties['compound'] = (string) $compound_type : null;
|
||||||
|
($dash_type !== null) ? $this->lineStyleProperties['dash'] = (string) $dash_type : null;
|
||||||
|
($cap_type !== null) ? $this->lineStyleProperties['cap'] = (string) $cap_type : null;
|
||||||
|
($join_type !== null) ? $this->lineStyleProperties['join'] = (string) $join_type : null;
|
||||||
|
($head_arrow_type !== null) ? $this->lineStyleProperties['arrow']['head']['type'] = (string) $head_arrow_type : null;
|
||||||
|
($head_arrow_size !== null) ? $this->lineStyleProperties['arrow']['head']['size'] = (string) $head_arrow_size : null;
|
||||||
|
($end_arrow_type !== null) ? $this->lineStyleProperties['arrow']['end']['type'] = (string) $end_arrow_type : null;
|
||||||
|
($end_arrow_size !== null) ? $this->lineStyleProperties['arrow']['end']['size'] = (string) $end_arrow_size : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Line Style Property.
|
||||||
|
*
|
||||||
|
* @param array|string $elements
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getLineStyleProperty($elements)
|
||||||
|
{
|
||||||
|
return $this->getArrayElementsValue($this->lineStyleProperties, $elements);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Line Style Arrow Excel Width.
|
||||||
|
*
|
||||||
|
* @param string $arrow
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getLineStyleArrowWidth($arrow)
|
||||||
|
{
|
||||||
|
return $this->getLineStyleArrowSize($this->lineStyleProperties['arrow'][$arrow]['size'], 'w');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Line Style Arrow Excel Length.
|
||||||
|
*
|
||||||
|
* @param string $arrow
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getLineStyleArrowLength($arrow)
|
||||||
|
{
|
||||||
|
return $this->getLineStyleArrowSize($this->lineStyleProperties['arrow'][$arrow]['size'], 'len');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Shadow Properties.
|
||||||
|
*
|
||||||
|
* @param int $sh_presets
|
||||||
|
* @param string $sh_color_value
|
||||||
|
* @param string $sh_color_type
|
||||||
|
* @param string $sh_color_alpha
|
||||||
|
* @param float $sh_blur
|
||||||
|
* @param int $sh_angle
|
||||||
|
* @param float $sh_distance
|
||||||
|
*/
|
||||||
|
public function setShadowProperties($sh_presets, $sh_color_value = null, $sh_color_type = null, $sh_color_alpha = null, $sh_blur = null, $sh_angle = null, $sh_distance = null)
|
||||||
|
{
|
||||||
|
$this->setShadowPresetsProperties((int) $sh_presets)
|
||||||
|
->setShadowColor(
|
||||||
|
$sh_color_value === null ? $this->shadowProperties['color']['value'] : $sh_color_value,
|
||||||
|
$sh_color_alpha === null ? (int) $this->shadowProperties['color']['alpha'] : $sh_color_alpha,
|
||||||
|
$sh_color_type === null ? $this->shadowProperties['color']['type'] : $sh_color_type
|
||||||
|
)
|
||||||
|
->setShadowBlur($sh_blur)
|
||||||
|
->setShadowAngle($sh_angle)
|
||||||
|
->setShadowDistance($sh_distance);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Shadow Color.
|
||||||
|
*
|
||||||
|
* @param int $shadow_presets
|
||||||
|
*
|
||||||
|
* @return Axis
|
||||||
|
*/
|
||||||
|
private function setShadowPresetsProperties($shadow_presets)
|
||||||
|
{
|
||||||
|
$this->shadowProperties['presets'] = $shadow_presets;
|
||||||
|
$this->setShadowProperiesMapValues($this->getShadowPresetsMap($shadow_presets));
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Shadow Properties from Mapped Values.
|
||||||
|
*
|
||||||
|
* @param array $properties_map
|
||||||
|
* @param mixed &$reference
|
||||||
|
*
|
||||||
|
* @return Axis
|
||||||
|
*/
|
||||||
|
private function setShadowProperiesMapValues(array $properties_map, &$reference = null)
|
||||||
|
{
|
||||||
|
$base_reference = $reference;
|
||||||
|
foreach ($properties_map as $property_key => $property_val) {
|
||||||
|
if (is_array($property_val)) {
|
||||||
|
if ($reference === null) {
|
||||||
|
$reference = &$this->shadowProperties[$property_key];
|
||||||
|
} else {
|
||||||
|
$reference = &$reference[$property_key];
|
||||||
|
}
|
||||||
|
$this->setShadowProperiesMapValues($property_val, $reference);
|
||||||
|
} else {
|
||||||
|
if ($base_reference === null) {
|
||||||
|
$this->shadowProperties[$property_key] = $property_val;
|
||||||
|
} else {
|
||||||
|
$reference[$property_key] = $property_val;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Shadow Color.
|
||||||
|
*
|
||||||
|
* @param string $color
|
||||||
|
* @param int $alpha
|
||||||
|
* @param string $type
|
||||||
|
*
|
||||||
|
* @return Axis
|
||||||
|
*/
|
||||||
|
private function setShadowColor($color, $alpha, $type)
|
||||||
|
{
|
||||||
|
$this->shadowProperties['color'] = $this->setColorProperties($color, $alpha, $type);
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Shadow Blur.
|
||||||
|
*
|
||||||
|
* @param float $blur
|
||||||
|
*
|
||||||
|
* @return Axis
|
||||||
|
*/
|
||||||
|
private function setShadowBlur($blur)
|
||||||
|
{
|
||||||
|
if ($blur !== null) {
|
||||||
|
$this->shadowProperties['blur'] = (string) $this->getExcelPointsWidth($blur);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Shadow Angle.
|
||||||
|
*
|
||||||
|
* @param int $angle
|
||||||
|
*
|
||||||
|
* @return Axis
|
||||||
|
*/
|
||||||
|
private function setShadowAngle($angle)
|
||||||
|
{
|
||||||
|
if ($angle !== null) {
|
||||||
|
$this->shadowProperties['direction'] = (string) $this->getExcelPointsAngle($angle);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Shadow Distance.
|
||||||
|
*
|
||||||
|
* @param float $distance
|
||||||
|
*
|
||||||
|
* @return Axis
|
||||||
|
*/
|
||||||
|
private function setShadowDistance($distance)
|
||||||
|
{
|
||||||
|
if ($distance !== null) {
|
||||||
|
$this->shadowProperties['distance'] = (string) $this->getExcelPointsWidth($distance);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Shadow Property.
|
||||||
|
*
|
||||||
|
* @param string|string[] $elements
|
||||||
|
*
|
||||||
|
* @return null|array|int|string
|
||||||
|
*/
|
||||||
|
public function getShadowProperty($elements)
|
||||||
|
{
|
||||||
|
return $this->getArrayElementsValue($this->shadowProperties, $elements);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Glow Properties.
|
||||||
|
*
|
||||||
|
* @param float $size
|
||||||
|
* @param string $color_value
|
||||||
|
* @param int $color_alpha
|
||||||
|
* @param string $color_type
|
||||||
|
*/
|
||||||
|
public function setGlowProperties($size, $color_value = null, $color_alpha = null, $color_type = null)
|
||||||
|
{
|
||||||
|
$this->setGlowSize($size)
|
||||||
|
->setGlowColor(
|
||||||
|
$color_value === null ? $this->glowProperties['color']['value'] : $color_value,
|
||||||
|
$color_alpha === null ? (int) $this->glowProperties['color']['alpha'] : $color_alpha,
|
||||||
|
$color_type === null ? $this->glowProperties['color']['type'] : $color_type
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Glow Property.
|
||||||
|
*
|
||||||
|
* @param array|string $property
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getGlowProperty($property)
|
||||||
|
{
|
||||||
|
return $this->getArrayElementsValue($this->glowProperties, $property);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Glow Color.
|
||||||
|
*
|
||||||
|
* @param float $size
|
||||||
|
*
|
||||||
|
* @return Axis
|
||||||
|
*/
|
||||||
|
private function setGlowSize($size)
|
||||||
|
{
|
||||||
|
if ($size !== null) {
|
||||||
|
$this->glowProperties['size'] = $this->getExcelPointsWidth($size);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Glow Color.
|
||||||
|
*
|
||||||
|
* @param string $color
|
||||||
|
* @param int $alpha
|
||||||
|
* @param string $type
|
||||||
|
*
|
||||||
|
* @return Axis
|
||||||
|
*/
|
||||||
|
private function setGlowColor($color, $alpha, $type)
|
||||||
|
{
|
||||||
|
$this->glowProperties['color'] = $this->setColorProperties($color, $alpha, $type);
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Soft Edges Size.
|
||||||
|
*
|
||||||
|
* @param float $size
|
||||||
|
*/
|
||||||
|
public function setSoftEdges($size)
|
||||||
|
{
|
||||||
|
if ($size !== null) {
|
||||||
|
$softEdges['size'] = (string) $this->getExcelPointsWidth($size);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Soft Edges Size.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getSoftEdgesSize()
|
||||||
|
{
|
||||||
|
return $this->softEdges['size'];
|
||||||
|
}
|
||||||
|
}
|
||||||
680
PhpOffice/PhpSpreadsheet/Chart/Chart.php
Normal file
680
PhpOffice/PhpSpreadsheet/Chart/Chart.php
Normal file
|
|
@ -0,0 +1,680 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Chart;
|
||||||
|
|
||||||
|
use PhpOffice\PhpSpreadsheet\Settings;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
|
||||||
|
|
||||||
|
class Chart
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Chart Name.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $name = '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Worksheet.
|
||||||
|
*
|
||||||
|
* @var Worksheet
|
||||||
|
*/
|
||||||
|
private $worksheet;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Chart Title.
|
||||||
|
*
|
||||||
|
* @var Title
|
||||||
|
*/
|
||||||
|
private $title;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Chart Legend.
|
||||||
|
*
|
||||||
|
* @var Legend
|
||||||
|
*/
|
||||||
|
private $legend;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* X-Axis Label.
|
||||||
|
*
|
||||||
|
* @var Title
|
||||||
|
*/
|
||||||
|
private $xAxisLabel;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Y-Axis Label.
|
||||||
|
*
|
||||||
|
* @var Title
|
||||||
|
*/
|
||||||
|
private $yAxisLabel;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Chart Plot Area.
|
||||||
|
*
|
||||||
|
* @var PlotArea
|
||||||
|
*/
|
||||||
|
private $plotArea;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Plot Visible Only.
|
||||||
|
*
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
private $plotVisibleOnly = true;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Display Blanks as.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $displayBlanksAs = '0';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Chart Asix Y as.
|
||||||
|
*
|
||||||
|
* @var Axis
|
||||||
|
*/
|
||||||
|
private $yAxis;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Chart Asix X as.
|
||||||
|
*
|
||||||
|
* @var Axis
|
||||||
|
*/
|
||||||
|
private $xAxis;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Chart Major Gridlines as.
|
||||||
|
*
|
||||||
|
* @var GridLines
|
||||||
|
*/
|
||||||
|
private $majorGridlines;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Chart Minor Gridlines as.
|
||||||
|
*
|
||||||
|
* @var GridLines
|
||||||
|
*/
|
||||||
|
private $minorGridlines;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Top-Left Cell Position.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $topLeftCellRef = 'A1';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Top-Left X-Offset.
|
||||||
|
*
|
||||||
|
* @var int
|
||||||
|
*/
|
||||||
|
private $topLeftXOffset = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Top-Left Y-Offset.
|
||||||
|
*
|
||||||
|
* @var int
|
||||||
|
*/
|
||||||
|
private $topLeftYOffset = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bottom-Right Cell Position.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $bottomRightCellRef = 'A1';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bottom-Right X-Offset.
|
||||||
|
*
|
||||||
|
* @var int
|
||||||
|
*/
|
||||||
|
private $bottomRightXOffset = 10;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bottom-Right Y-Offset.
|
||||||
|
*
|
||||||
|
* @var int
|
||||||
|
*/
|
||||||
|
private $bottomRightYOffset = 10;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new Chart.
|
||||||
|
*
|
||||||
|
* @param mixed $name
|
||||||
|
* @param null|Title $title
|
||||||
|
* @param null|Legend $legend
|
||||||
|
* @param null|PlotArea $plotArea
|
||||||
|
* @param mixed $plotVisibleOnly
|
||||||
|
* @param mixed $displayBlanksAs
|
||||||
|
* @param null|Title $xAxisLabel
|
||||||
|
* @param null|Title $yAxisLabel
|
||||||
|
* @param null|Axis $xAxis
|
||||||
|
* @param null|Axis $yAxis
|
||||||
|
* @param null|GridLines $majorGridlines
|
||||||
|
* @param null|GridLines $minorGridlines
|
||||||
|
*/
|
||||||
|
public function __construct($name, Title $title = null, Legend $legend = null, PlotArea $plotArea = null, $plotVisibleOnly = true, $displayBlanksAs = '0', Title $xAxisLabel = null, Title $yAxisLabel = null, Axis $xAxis = null, Axis $yAxis = null, GridLines $majorGridlines = null, GridLines $minorGridlines = null)
|
||||||
|
{
|
||||||
|
$this->name = $name;
|
||||||
|
$this->title = $title;
|
||||||
|
$this->legend = $legend;
|
||||||
|
$this->xAxisLabel = $xAxisLabel;
|
||||||
|
$this->yAxisLabel = $yAxisLabel;
|
||||||
|
$this->plotArea = $plotArea;
|
||||||
|
$this->plotVisibleOnly = $plotVisibleOnly;
|
||||||
|
$this->displayBlanksAs = $displayBlanksAs;
|
||||||
|
$this->xAxis = $xAxis;
|
||||||
|
$this->yAxis = $yAxis;
|
||||||
|
$this->majorGridlines = $majorGridlines;
|
||||||
|
$this->minorGridlines = $minorGridlines;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Name.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getName()
|
||||||
|
{
|
||||||
|
return $this->name;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Worksheet.
|
||||||
|
*
|
||||||
|
* @return Worksheet
|
||||||
|
*/
|
||||||
|
public function getWorksheet()
|
||||||
|
{
|
||||||
|
return $this->worksheet;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Worksheet.
|
||||||
|
*
|
||||||
|
* @param Worksheet $pValue
|
||||||
|
*
|
||||||
|
* @return Chart
|
||||||
|
*/
|
||||||
|
public function setWorksheet(Worksheet $pValue = null)
|
||||||
|
{
|
||||||
|
$this->worksheet = $pValue;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Title.
|
||||||
|
*
|
||||||
|
* @return Title
|
||||||
|
*/
|
||||||
|
public function getTitle()
|
||||||
|
{
|
||||||
|
return $this->title;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Title.
|
||||||
|
*
|
||||||
|
* @param Title $title
|
||||||
|
*
|
||||||
|
* @return Chart
|
||||||
|
*/
|
||||||
|
public function setTitle(Title $title)
|
||||||
|
{
|
||||||
|
$this->title = $title;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Legend.
|
||||||
|
*
|
||||||
|
* @return Legend
|
||||||
|
*/
|
||||||
|
public function getLegend()
|
||||||
|
{
|
||||||
|
return $this->legend;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Legend.
|
||||||
|
*
|
||||||
|
* @param Legend $legend
|
||||||
|
*
|
||||||
|
* @return Chart
|
||||||
|
*/
|
||||||
|
public function setLegend(Legend $legend)
|
||||||
|
{
|
||||||
|
$this->legend = $legend;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get X-Axis Label.
|
||||||
|
*
|
||||||
|
* @return Title
|
||||||
|
*/
|
||||||
|
public function getXAxisLabel()
|
||||||
|
{
|
||||||
|
return $this->xAxisLabel;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set X-Axis Label.
|
||||||
|
*
|
||||||
|
* @param Title $label
|
||||||
|
*
|
||||||
|
* @return Chart
|
||||||
|
*/
|
||||||
|
public function setXAxisLabel(Title $label)
|
||||||
|
{
|
||||||
|
$this->xAxisLabel = $label;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Y-Axis Label.
|
||||||
|
*
|
||||||
|
* @return Title
|
||||||
|
*/
|
||||||
|
public function getYAxisLabel()
|
||||||
|
{
|
||||||
|
return $this->yAxisLabel;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Y-Axis Label.
|
||||||
|
*
|
||||||
|
* @param Title $label
|
||||||
|
*
|
||||||
|
* @return Chart
|
||||||
|
*/
|
||||||
|
public function setYAxisLabel(Title $label)
|
||||||
|
{
|
||||||
|
$this->yAxisLabel = $label;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Plot Area.
|
||||||
|
*
|
||||||
|
* @return PlotArea
|
||||||
|
*/
|
||||||
|
public function getPlotArea()
|
||||||
|
{
|
||||||
|
return $this->plotArea;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Plot Visible Only.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function getPlotVisibleOnly()
|
||||||
|
{
|
||||||
|
return $this->plotVisibleOnly;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Plot Visible Only.
|
||||||
|
*
|
||||||
|
* @param bool $plotVisibleOnly
|
||||||
|
*
|
||||||
|
* @return Chart
|
||||||
|
*/
|
||||||
|
public function setPlotVisibleOnly($plotVisibleOnly)
|
||||||
|
{
|
||||||
|
$this->plotVisibleOnly = $plotVisibleOnly;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Display Blanks as.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getDisplayBlanksAs()
|
||||||
|
{
|
||||||
|
return $this->displayBlanksAs;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Display Blanks as.
|
||||||
|
*
|
||||||
|
* @param string $displayBlanksAs
|
||||||
|
*
|
||||||
|
* @return Chart
|
||||||
|
*/
|
||||||
|
public function setDisplayBlanksAs($displayBlanksAs)
|
||||||
|
{
|
||||||
|
$this->displayBlanksAs = $displayBlanksAs;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get yAxis.
|
||||||
|
*
|
||||||
|
* @return Axis
|
||||||
|
*/
|
||||||
|
public function getChartAxisY()
|
||||||
|
{
|
||||||
|
if ($this->yAxis !== null) {
|
||||||
|
return $this->yAxis;
|
||||||
|
}
|
||||||
|
|
||||||
|
return new Axis();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get xAxis.
|
||||||
|
*
|
||||||
|
* @return Axis
|
||||||
|
*/
|
||||||
|
public function getChartAxisX()
|
||||||
|
{
|
||||||
|
if ($this->xAxis !== null) {
|
||||||
|
return $this->xAxis;
|
||||||
|
}
|
||||||
|
|
||||||
|
return new Axis();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Major Gridlines.
|
||||||
|
*
|
||||||
|
* @return GridLines
|
||||||
|
*/
|
||||||
|
public function getMajorGridlines()
|
||||||
|
{
|
||||||
|
if ($this->majorGridlines !== null) {
|
||||||
|
return $this->majorGridlines;
|
||||||
|
}
|
||||||
|
|
||||||
|
return new GridLines();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Minor Gridlines.
|
||||||
|
*
|
||||||
|
* @return GridLines
|
||||||
|
*/
|
||||||
|
public function getMinorGridlines()
|
||||||
|
{
|
||||||
|
if ($this->minorGridlines !== null) {
|
||||||
|
return $this->minorGridlines;
|
||||||
|
}
|
||||||
|
|
||||||
|
return new GridLines();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the Top Left position for the chart.
|
||||||
|
*
|
||||||
|
* @param string $cell
|
||||||
|
* @param int $xOffset
|
||||||
|
* @param int $yOffset
|
||||||
|
*
|
||||||
|
* @return Chart
|
||||||
|
*/
|
||||||
|
public function setTopLeftPosition($cell, $xOffset = null, $yOffset = null)
|
||||||
|
{
|
||||||
|
$this->topLeftCellRef = $cell;
|
||||||
|
if ($xOffset !== null) {
|
||||||
|
$this->setTopLeftXOffset($xOffset);
|
||||||
|
}
|
||||||
|
if ($yOffset !== null) {
|
||||||
|
$this->setTopLeftYOffset($yOffset);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the top left position of the chart.
|
||||||
|
*
|
||||||
|
* @return array an associative array containing the cell address, X-Offset and Y-Offset from the top left of that cell
|
||||||
|
*/
|
||||||
|
public function getTopLeftPosition()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'cell' => $this->topLeftCellRef,
|
||||||
|
'xOffset' => $this->topLeftXOffset,
|
||||||
|
'yOffset' => $this->topLeftYOffset,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the cell address where the top left of the chart is fixed.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getTopLeftCell()
|
||||||
|
{
|
||||||
|
return $this->topLeftCellRef;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the Top Left cell position for the chart.
|
||||||
|
*
|
||||||
|
* @param string $cell
|
||||||
|
*
|
||||||
|
* @return Chart
|
||||||
|
*/
|
||||||
|
public function setTopLeftCell($cell)
|
||||||
|
{
|
||||||
|
$this->topLeftCellRef = $cell;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the offset position within the Top Left cell for the chart.
|
||||||
|
*
|
||||||
|
* @param int $xOffset
|
||||||
|
* @param int $yOffset
|
||||||
|
*
|
||||||
|
* @return Chart
|
||||||
|
*/
|
||||||
|
public function setTopLeftOffset($xOffset, $yOffset)
|
||||||
|
{
|
||||||
|
if ($xOffset !== null) {
|
||||||
|
$this->setTopLeftXOffset($xOffset);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($yOffset !== null) {
|
||||||
|
$this->setTopLeftYOffset($yOffset);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the offset position within the Top Left cell for the chart.
|
||||||
|
*
|
||||||
|
* @return int[]
|
||||||
|
*/
|
||||||
|
public function getTopLeftOffset()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'X' => $this->topLeftXOffset,
|
||||||
|
'Y' => $this->topLeftYOffset,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setTopLeftXOffset($xOffset)
|
||||||
|
{
|
||||||
|
$this->topLeftXOffset = $xOffset;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getTopLeftXOffset()
|
||||||
|
{
|
||||||
|
return $this->topLeftXOffset;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setTopLeftYOffset($yOffset)
|
||||||
|
{
|
||||||
|
$this->topLeftYOffset = $yOffset;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getTopLeftYOffset()
|
||||||
|
{
|
||||||
|
return $this->topLeftYOffset;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the Bottom Right position of the chart.
|
||||||
|
*
|
||||||
|
* @param string $cell
|
||||||
|
* @param int $xOffset
|
||||||
|
* @param int $yOffset
|
||||||
|
*
|
||||||
|
* @return Chart
|
||||||
|
*/
|
||||||
|
public function setBottomRightPosition($cell, $xOffset = null, $yOffset = null)
|
||||||
|
{
|
||||||
|
$this->bottomRightCellRef = $cell;
|
||||||
|
if ($xOffset !== null) {
|
||||||
|
$this->setBottomRightXOffset($xOffset);
|
||||||
|
}
|
||||||
|
if ($yOffset !== null) {
|
||||||
|
$this->setBottomRightYOffset($yOffset);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the bottom right position of the chart.
|
||||||
|
*
|
||||||
|
* @return array an associative array containing the cell address, X-Offset and Y-Offset from the top left of that cell
|
||||||
|
*/
|
||||||
|
public function getBottomRightPosition()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'cell' => $this->bottomRightCellRef,
|
||||||
|
'xOffset' => $this->bottomRightXOffset,
|
||||||
|
'yOffset' => $this->bottomRightYOffset,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setBottomRightCell($cell)
|
||||||
|
{
|
||||||
|
$this->bottomRightCellRef = $cell;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the cell address where the bottom right of the chart is fixed.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getBottomRightCell()
|
||||||
|
{
|
||||||
|
return $this->bottomRightCellRef;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the offset position within the Bottom Right cell for the chart.
|
||||||
|
*
|
||||||
|
* @param int $xOffset
|
||||||
|
* @param int $yOffset
|
||||||
|
*
|
||||||
|
* @return Chart
|
||||||
|
*/
|
||||||
|
public function setBottomRightOffset($xOffset, $yOffset)
|
||||||
|
{
|
||||||
|
if ($xOffset !== null) {
|
||||||
|
$this->setBottomRightXOffset($xOffset);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($yOffset !== null) {
|
||||||
|
$this->setBottomRightYOffset($yOffset);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the offset position within the Bottom Right cell for the chart.
|
||||||
|
*
|
||||||
|
* @return int[]
|
||||||
|
*/
|
||||||
|
public function getBottomRightOffset()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'X' => $this->bottomRightXOffset,
|
||||||
|
'Y' => $this->bottomRightYOffset,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setBottomRightXOffset($xOffset)
|
||||||
|
{
|
||||||
|
$this->bottomRightXOffset = $xOffset;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getBottomRightXOffset()
|
||||||
|
{
|
||||||
|
return $this->bottomRightXOffset;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setBottomRightYOffset($yOffset)
|
||||||
|
{
|
||||||
|
$this->bottomRightYOffset = $yOffset;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getBottomRightYOffset()
|
||||||
|
{
|
||||||
|
return $this->bottomRightYOffset;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function refresh()
|
||||||
|
{
|
||||||
|
if ($this->worksheet !== null) {
|
||||||
|
$this->plotArea->refresh($this->worksheet);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Render the chart to given file (or stream).
|
||||||
|
*
|
||||||
|
* @param string $outputDestination Name of the file render to
|
||||||
|
*
|
||||||
|
* @return bool true on success
|
||||||
|
*/
|
||||||
|
public function render($outputDestination = null)
|
||||||
|
{
|
||||||
|
if ($outputDestination == 'php://output') {
|
||||||
|
$outputDestination = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
$libraryName = Settings::getChartRenderer();
|
||||||
|
if ($libraryName === null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ensure that data series values are up-to-date before we render
|
||||||
|
$this->refresh();
|
||||||
|
|
||||||
|
$renderer = new $libraryName($this);
|
||||||
|
|
||||||
|
return $renderer->render($outputDestination);
|
||||||
|
}
|
||||||
|
}
|
||||||
390
PhpOffice/PhpSpreadsheet/Chart/DataSeries.php
Normal file
390
PhpOffice/PhpSpreadsheet/Chart/DataSeries.php
Normal file
|
|
@ -0,0 +1,390 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Chart;
|
||||||
|
|
||||||
|
use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
|
||||||
|
|
||||||
|
class DataSeries
|
||||||
|
{
|
||||||
|
const TYPE_BARCHART = 'barChart';
|
||||||
|
const TYPE_BARCHART_3D = 'bar3DChart';
|
||||||
|
const TYPE_LINECHART = 'lineChart';
|
||||||
|
const TYPE_LINECHART_3D = 'line3DChart';
|
||||||
|
const TYPE_AREACHART = 'areaChart';
|
||||||
|
const TYPE_AREACHART_3D = 'area3DChart';
|
||||||
|
const TYPE_PIECHART = 'pieChart';
|
||||||
|
const TYPE_PIECHART_3D = 'pie3DChart';
|
||||||
|
const TYPE_DOUGHNUTCHART = 'doughnutChart';
|
||||||
|
const TYPE_DONUTCHART = self::TYPE_DOUGHNUTCHART; // Synonym
|
||||||
|
const TYPE_SCATTERCHART = 'scatterChart';
|
||||||
|
const TYPE_SURFACECHART = 'surfaceChart';
|
||||||
|
const TYPE_SURFACECHART_3D = 'surface3DChart';
|
||||||
|
const TYPE_RADARCHART = 'radarChart';
|
||||||
|
const TYPE_BUBBLECHART = 'bubbleChart';
|
||||||
|
const TYPE_STOCKCHART = 'stockChart';
|
||||||
|
const TYPE_CANDLECHART = self::TYPE_STOCKCHART; // Synonym
|
||||||
|
|
||||||
|
const GROUPING_CLUSTERED = 'clustered';
|
||||||
|
const GROUPING_STACKED = 'stacked';
|
||||||
|
const GROUPING_PERCENT_STACKED = 'percentStacked';
|
||||||
|
const GROUPING_STANDARD = 'standard';
|
||||||
|
|
||||||
|
const DIRECTION_BAR = 'bar';
|
||||||
|
const DIRECTION_HORIZONTAL = self::DIRECTION_BAR;
|
||||||
|
const DIRECTION_COL = 'col';
|
||||||
|
const DIRECTION_COLUMN = self::DIRECTION_COL;
|
||||||
|
const DIRECTION_VERTICAL = self::DIRECTION_COL;
|
||||||
|
|
||||||
|
const STYLE_LINEMARKER = 'lineMarker';
|
||||||
|
const STYLE_SMOOTHMARKER = 'smoothMarker';
|
||||||
|
const STYLE_MARKER = 'marker';
|
||||||
|
const STYLE_FILLED = 'filled';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Series Plot Type.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $plotType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Plot Grouping Type.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $plotGrouping;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Plot Direction.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $plotDirection;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Plot Style.
|
||||||
|
*
|
||||||
|
* @var null|string
|
||||||
|
*/
|
||||||
|
private $plotStyle;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Order of plots in Series.
|
||||||
|
*
|
||||||
|
* @var array of integer
|
||||||
|
*/
|
||||||
|
private $plotOrder = [];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Plot Label.
|
||||||
|
*
|
||||||
|
* @var array of DataSeriesValues
|
||||||
|
*/
|
||||||
|
private $plotLabel = [];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Plot Category.
|
||||||
|
*
|
||||||
|
* @var array of DataSeriesValues
|
||||||
|
*/
|
||||||
|
private $plotCategory = [];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Smooth Line.
|
||||||
|
*
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
private $smoothLine;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Plot Values.
|
||||||
|
*
|
||||||
|
* @var array of DataSeriesValues
|
||||||
|
*/
|
||||||
|
private $plotValues = [];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new DataSeries.
|
||||||
|
*
|
||||||
|
* @param null|mixed $plotType
|
||||||
|
* @param null|mixed $plotGrouping
|
||||||
|
* @param int[] $plotOrder
|
||||||
|
* @param DataSeriesValues[] $plotLabel
|
||||||
|
* @param DataSeriesValues[] $plotCategory
|
||||||
|
* @param DataSeriesValues[] $plotValues
|
||||||
|
* @param null|string $plotDirection
|
||||||
|
* @param bool $smoothLine
|
||||||
|
* @param null|string $plotStyle
|
||||||
|
*/
|
||||||
|
public function __construct($plotType = null, $plotGrouping = null, array $plotOrder = [], array $plotLabel = [], array $plotCategory = [], array $plotValues = [], $plotDirection = null, $smoothLine = false, $plotStyle = null)
|
||||||
|
{
|
||||||
|
$this->plotType = $plotType;
|
||||||
|
$this->plotGrouping = $plotGrouping;
|
||||||
|
$this->plotOrder = $plotOrder;
|
||||||
|
$keys = array_keys($plotValues);
|
||||||
|
$this->plotValues = $plotValues;
|
||||||
|
if ((count($plotLabel) == 0) || ($plotLabel[$keys[0]] === null)) {
|
||||||
|
$plotLabel[$keys[0]] = new DataSeriesValues();
|
||||||
|
}
|
||||||
|
$this->plotLabel = $plotLabel;
|
||||||
|
|
||||||
|
if ((count($plotCategory) == 0) || ($plotCategory[$keys[0]] === null)) {
|
||||||
|
$plotCategory[$keys[0]] = new DataSeriesValues();
|
||||||
|
}
|
||||||
|
$this->plotCategory = $plotCategory;
|
||||||
|
|
||||||
|
$this->smoothLine = $smoothLine;
|
||||||
|
$this->plotStyle = $plotStyle;
|
||||||
|
|
||||||
|
if ($plotDirection === null) {
|
||||||
|
$plotDirection = self::DIRECTION_COL;
|
||||||
|
}
|
||||||
|
$this->plotDirection = $plotDirection;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Plot Type.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getPlotType()
|
||||||
|
{
|
||||||
|
return $this->plotType;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Plot Type.
|
||||||
|
*
|
||||||
|
* @param string $plotType
|
||||||
|
*
|
||||||
|
* @return DataSeries
|
||||||
|
*/
|
||||||
|
public function setPlotType($plotType)
|
||||||
|
{
|
||||||
|
$this->plotType = $plotType;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Plot Grouping Type.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getPlotGrouping()
|
||||||
|
{
|
||||||
|
return $this->plotGrouping;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Plot Grouping Type.
|
||||||
|
*
|
||||||
|
* @param string $groupingType
|
||||||
|
*
|
||||||
|
* @return DataSeries
|
||||||
|
*/
|
||||||
|
public function setPlotGrouping($groupingType)
|
||||||
|
{
|
||||||
|
$this->plotGrouping = $groupingType;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Plot Direction.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getPlotDirection()
|
||||||
|
{
|
||||||
|
return $this->plotDirection;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Plot Direction.
|
||||||
|
*
|
||||||
|
* @param string $plotDirection
|
||||||
|
*
|
||||||
|
* @return DataSeries
|
||||||
|
*/
|
||||||
|
public function setPlotDirection($plotDirection)
|
||||||
|
{
|
||||||
|
$this->plotDirection = $plotDirection;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Plot Order.
|
||||||
|
*
|
||||||
|
* @return int[]
|
||||||
|
*/
|
||||||
|
public function getPlotOrder()
|
||||||
|
{
|
||||||
|
return $this->plotOrder;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Plot Labels.
|
||||||
|
*
|
||||||
|
* @return array of DataSeriesValues
|
||||||
|
*/
|
||||||
|
public function getPlotLabels()
|
||||||
|
{
|
||||||
|
return $this->plotLabel;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Plot Label by Index.
|
||||||
|
*
|
||||||
|
* @param mixed $index
|
||||||
|
*
|
||||||
|
* @return DataSeriesValues
|
||||||
|
*/
|
||||||
|
public function getPlotLabelByIndex($index)
|
||||||
|
{
|
||||||
|
$keys = array_keys($this->plotLabel);
|
||||||
|
if (in_array($index, $keys)) {
|
||||||
|
return $this->plotLabel[$index];
|
||||||
|
} elseif (isset($keys[$index])) {
|
||||||
|
return $this->plotLabel[$keys[$index]];
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Plot Categories.
|
||||||
|
*
|
||||||
|
* @return array of DataSeriesValues
|
||||||
|
*/
|
||||||
|
public function getPlotCategories()
|
||||||
|
{
|
||||||
|
return $this->plotCategory;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Plot Category by Index.
|
||||||
|
*
|
||||||
|
* @param mixed $index
|
||||||
|
*
|
||||||
|
* @return DataSeriesValues
|
||||||
|
*/
|
||||||
|
public function getPlotCategoryByIndex($index)
|
||||||
|
{
|
||||||
|
$keys = array_keys($this->plotCategory);
|
||||||
|
if (in_array($index, $keys)) {
|
||||||
|
return $this->plotCategory[$index];
|
||||||
|
} elseif (isset($keys[$index])) {
|
||||||
|
return $this->plotCategory[$keys[$index]];
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Plot Style.
|
||||||
|
*
|
||||||
|
* @return null|string
|
||||||
|
*/
|
||||||
|
public function getPlotStyle()
|
||||||
|
{
|
||||||
|
return $this->plotStyle;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Plot Style.
|
||||||
|
*
|
||||||
|
* @param null|string $plotStyle
|
||||||
|
*
|
||||||
|
* @return DataSeries
|
||||||
|
*/
|
||||||
|
public function setPlotStyle($plotStyle)
|
||||||
|
{
|
||||||
|
$this->plotStyle = $plotStyle;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Plot Values.
|
||||||
|
*
|
||||||
|
* @return array of DataSeriesValues
|
||||||
|
*/
|
||||||
|
public function getPlotValues()
|
||||||
|
{
|
||||||
|
return $this->plotValues;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Plot Values by Index.
|
||||||
|
*
|
||||||
|
* @param mixed $index
|
||||||
|
*
|
||||||
|
* @return DataSeriesValues
|
||||||
|
*/
|
||||||
|
public function getPlotValuesByIndex($index)
|
||||||
|
{
|
||||||
|
$keys = array_keys($this->plotValues);
|
||||||
|
if (in_array($index, $keys)) {
|
||||||
|
return $this->plotValues[$index];
|
||||||
|
} elseif (isset($keys[$index])) {
|
||||||
|
return $this->plotValues[$keys[$index]];
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Number of Plot Series.
|
||||||
|
*
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public function getPlotSeriesCount()
|
||||||
|
{
|
||||||
|
return count($this->plotValues);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Smooth Line.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function getSmoothLine()
|
||||||
|
{
|
||||||
|
return $this->smoothLine;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Smooth Line.
|
||||||
|
*
|
||||||
|
* @param bool $smoothLine
|
||||||
|
*
|
||||||
|
* @return DataSeries
|
||||||
|
*/
|
||||||
|
public function setSmoothLine($smoothLine)
|
||||||
|
{
|
||||||
|
$this->smoothLine = $smoothLine;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function refresh(Worksheet $worksheet)
|
||||||
|
{
|
||||||
|
foreach ($this->plotValues as $plotValues) {
|
||||||
|
if ($plotValues !== null) {
|
||||||
|
$plotValues->refresh($worksheet, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
foreach ($this->plotLabel as $plotValues) {
|
||||||
|
if ($plotValues !== null) {
|
||||||
|
$plotValues->refresh($worksheet, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
foreach ($this->plotCategory as $plotValues) {
|
||||||
|
if ($plotValues !== null) {
|
||||||
|
$plotValues->refresh($worksheet, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
401
PhpOffice/PhpSpreadsheet/Chart/DataSeriesValues.php
Normal file
401
PhpOffice/PhpSpreadsheet/Chart/DataSeriesValues.php
Normal file
|
|
@ -0,0 +1,401 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Chart;
|
||||||
|
|
||||||
|
use PhpOffice\PhpSpreadsheet\Calculation\Calculation;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Calculation\Functions;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Cell\Coordinate;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
|
||||||
|
|
||||||
|
class DataSeriesValues
|
||||||
|
{
|
||||||
|
const DATASERIES_TYPE_STRING = 'String';
|
||||||
|
const DATASERIES_TYPE_NUMBER = 'Number';
|
||||||
|
|
||||||
|
private static $dataTypeValues = [
|
||||||
|
self::DATASERIES_TYPE_STRING,
|
||||||
|
self::DATASERIES_TYPE_NUMBER,
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Series Data Type.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $dataType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Series Data Source.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $dataSource;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Format Code.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $formatCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Series Point Marker.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $pointMarker;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Point Count (The number of datapoints in the dataseries).
|
||||||
|
*
|
||||||
|
* @var int
|
||||||
|
*/
|
||||||
|
private $pointCount = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Data Values.
|
||||||
|
*
|
||||||
|
* @var array of mixed
|
||||||
|
*/
|
||||||
|
private $dataValues = [];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fill color (can be array with colors if dataseries have custom colors).
|
||||||
|
*
|
||||||
|
* @var string|string[]
|
||||||
|
*/
|
||||||
|
private $fillColor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Line Width.
|
||||||
|
*
|
||||||
|
* @var int
|
||||||
|
*/
|
||||||
|
private $lineWidth = 12700;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new DataSeriesValues object.
|
||||||
|
*
|
||||||
|
* @param string $dataType
|
||||||
|
* @param string $dataSource
|
||||||
|
* @param null|mixed $formatCode
|
||||||
|
* @param int $pointCount
|
||||||
|
* @param mixed $dataValues
|
||||||
|
* @param null|mixed $marker
|
||||||
|
* @param null|string|string[] $fillColor
|
||||||
|
*/
|
||||||
|
public function __construct($dataType = self::DATASERIES_TYPE_NUMBER, $dataSource = null, $formatCode = null, $pointCount = 0, $dataValues = [], $marker = null, $fillColor = null)
|
||||||
|
{
|
||||||
|
$this->setDataType($dataType);
|
||||||
|
$this->dataSource = $dataSource;
|
||||||
|
$this->formatCode = $formatCode;
|
||||||
|
$this->pointCount = $pointCount;
|
||||||
|
$this->dataValues = $dataValues;
|
||||||
|
$this->pointMarker = $marker;
|
||||||
|
$this->fillColor = $fillColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Series Data Type.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getDataType()
|
||||||
|
{
|
||||||
|
return $this->dataType;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Series Data Type.
|
||||||
|
*
|
||||||
|
* @param string $dataType Datatype of this data series
|
||||||
|
* Typical values are:
|
||||||
|
* DataSeriesValues::DATASERIES_TYPE_STRING
|
||||||
|
* Normally used for axis point values
|
||||||
|
* DataSeriesValues::DATASERIES_TYPE_NUMBER
|
||||||
|
* Normally used for chart data values
|
||||||
|
*
|
||||||
|
* @throws Exception
|
||||||
|
*
|
||||||
|
* @return DataSeriesValues
|
||||||
|
*/
|
||||||
|
public function setDataType($dataType)
|
||||||
|
{
|
||||||
|
if (!in_array($dataType, self::$dataTypeValues)) {
|
||||||
|
throw new Exception('Invalid datatype for chart data series values');
|
||||||
|
}
|
||||||
|
$this->dataType = $dataType;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Series Data Source (formula).
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getDataSource()
|
||||||
|
{
|
||||||
|
return $this->dataSource;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Series Data Source (formula).
|
||||||
|
*
|
||||||
|
* @param string $dataSource
|
||||||
|
*
|
||||||
|
* @return DataSeriesValues
|
||||||
|
*/
|
||||||
|
public function setDataSource($dataSource)
|
||||||
|
{
|
||||||
|
$this->dataSource = $dataSource;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Point Marker.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getPointMarker()
|
||||||
|
{
|
||||||
|
return $this->pointMarker;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Point Marker.
|
||||||
|
*
|
||||||
|
* @param string $marker
|
||||||
|
*
|
||||||
|
* @return DataSeriesValues
|
||||||
|
*/
|
||||||
|
public function setPointMarker($marker)
|
||||||
|
{
|
||||||
|
$this->pointMarker = $marker;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Series Format Code.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getFormatCode()
|
||||||
|
{
|
||||||
|
return $this->formatCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Series Format Code.
|
||||||
|
*
|
||||||
|
* @param string $formatCode
|
||||||
|
*
|
||||||
|
* @return DataSeriesValues
|
||||||
|
*/
|
||||||
|
public function setFormatCode($formatCode)
|
||||||
|
{
|
||||||
|
$this->formatCode = $formatCode;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Series Point Count.
|
||||||
|
*
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public function getPointCount()
|
||||||
|
{
|
||||||
|
return $this->pointCount;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get fill color.
|
||||||
|
*
|
||||||
|
* @return string|string[] HEX color or array with HEX colors
|
||||||
|
*/
|
||||||
|
public function getFillColor()
|
||||||
|
{
|
||||||
|
return $this->fillColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set fill color for series.
|
||||||
|
*
|
||||||
|
* @param string|string[] $color HEX color or array with HEX colors
|
||||||
|
*
|
||||||
|
* @return DataSeriesValues
|
||||||
|
*/
|
||||||
|
public function setFillColor($color)
|
||||||
|
{
|
||||||
|
if (is_array($color)) {
|
||||||
|
foreach ($color as $colorValue) {
|
||||||
|
$this->validateColor($colorValue);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$this->validateColor($color);
|
||||||
|
}
|
||||||
|
$this->fillColor = $color;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method for validating hex color.
|
||||||
|
*
|
||||||
|
* @param string $color value for color
|
||||||
|
*
|
||||||
|
* @throws \Exception thrown if color is invalid
|
||||||
|
*
|
||||||
|
* @return bool true if validation was successful
|
||||||
|
*/
|
||||||
|
private function validateColor($color)
|
||||||
|
{
|
||||||
|
if (!preg_match('/^[a-f0-9]{6}$/i', $color)) {
|
||||||
|
throw new Exception(sprintf('Invalid hex color for chart series (color: "%s")', $color));
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get line width for series.
|
||||||
|
*
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public function getLineWidth()
|
||||||
|
{
|
||||||
|
return $this->lineWidth;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set line width for the series.
|
||||||
|
*
|
||||||
|
* @param int $width
|
||||||
|
*
|
||||||
|
* @return DataSeriesValues
|
||||||
|
*/
|
||||||
|
public function setLineWidth($width)
|
||||||
|
{
|
||||||
|
$minWidth = 12700;
|
||||||
|
$this->lineWidth = max($minWidth, $width);
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Identify if the Data Series is a multi-level or a simple series.
|
||||||
|
*
|
||||||
|
* @return null|bool
|
||||||
|
*/
|
||||||
|
public function isMultiLevelSeries()
|
||||||
|
{
|
||||||
|
if (count($this->dataValues) > 0) {
|
||||||
|
return is_array(array_values($this->dataValues)[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the level count of a multi-level Data Series.
|
||||||
|
*
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public function multiLevelCount()
|
||||||
|
{
|
||||||
|
$levelCount = 0;
|
||||||
|
foreach ($this->dataValues as $dataValueSet) {
|
||||||
|
$levelCount = max($levelCount, count($dataValueSet));
|
||||||
|
}
|
||||||
|
|
||||||
|
return $levelCount;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Series Data Values.
|
||||||
|
*
|
||||||
|
* @return array of mixed
|
||||||
|
*/
|
||||||
|
public function getDataValues()
|
||||||
|
{
|
||||||
|
return $this->dataValues;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the first Series Data value.
|
||||||
|
*
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function getDataValue()
|
||||||
|
{
|
||||||
|
$count = count($this->dataValues);
|
||||||
|
if ($count == 0) {
|
||||||
|
return null;
|
||||||
|
} elseif ($count == 1) {
|
||||||
|
return $this->dataValues[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->dataValues;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Series Data Values.
|
||||||
|
*
|
||||||
|
* @param array $dataValues
|
||||||
|
*
|
||||||
|
* @return DataSeriesValues
|
||||||
|
*/
|
||||||
|
public function setDataValues($dataValues)
|
||||||
|
{
|
||||||
|
$this->dataValues = Functions::flattenArray($dataValues);
|
||||||
|
$this->pointCount = count($dataValues);
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function refresh(Worksheet $worksheet, $flatten = true)
|
||||||
|
{
|
||||||
|
if ($this->dataSource !== null) {
|
||||||
|
$calcEngine = Calculation::getInstance($worksheet->getParent());
|
||||||
|
$newDataValues = Calculation::unwrapResult(
|
||||||
|
$calcEngine->_calculateFormulaValue(
|
||||||
|
'=' . $this->dataSource,
|
||||||
|
null,
|
||||||
|
$worksheet->getCell('A1')
|
||||||
|
)
|
||||||
|
);
|
||||||
|
if ($flatten) {
|
||||||
|
$this->dataValues = Functions::flattenArray($newDataValues);
|
||||||
|
foreach ($this->dataValues as &$dataValue) {
|
||||||
|
if ((!empty($dataValue)) && ($dataValue[0] == '#')) {
|
||||||
|
$dataValue = 0.0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
unset($dataValue);
|
||||||
|
} else {
|
||||||
|
[$worksheet, $cellRange] = Worksheet::extractSheetTitle($this->dataSource, true);
|
||||||
|
$dimensions = Coordinate::rangeDimension(str_replace('$', '', $cellRange));
|
||||||
|
if (($dimensions[0] == 1) || ($dimensions[1] == 1)) {
|
||||||
|
$this->dataValues = Functions::flattenArray($newDataValues);
|
||||||
|
} else {
|
||||||
|
$newArray = array_values(array_shift($newDataValues));
|
||||||
|
foreach ($newArray as $i => $newDataSet) {
|
||||||
|
$newArray[$i] = [$newDataSet];
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($newDataValues as $newDataSet) {
|
||||||
|
$i = 0;
|
||||||
|
foreach ($newDataSet as $newDataVal) {
|
||||||
|
array_unshift($newArray[$i++], $newDataVal);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$this->dataValues = $newArray;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$this->pointCount = count($this->dataValues);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
9
PhpOffice/PhpSpreadsheet/Chart/Exception.php
Normal file
9
PhpOffice/PhpSpreadsheet/Chart/Exception.php
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Chart;
|
||||||
|
|
||||||
|
use PhpOffice\PhpSpreadsheet\Exception as PhpSpreadsheetException;
|
||||||
|
|
||||||
|
class Exception extends PhpSpreadsheetException
|
||||||
|
{
|
||||||
|
}
|
||||||
455
PhpOffice/PhpSpreadsheet/Chart/GridLines.php
Normal file
455
PhpOffice/PhpSpreadsheet/Chart/GridLines.php
Normal file
|
|
@ -0,0 +1,455 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Chart;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by PhpStorm.
|
||||||
|
* User: Wiktor Trzonkowski
|
||||||
|
* Date: 7/2/14
|
||||||
|
* Time: 2:36 PM.
|
||||||
|
*/
|
||||||
|
class GridLines extends Properties
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Properties of Class:
|
||||||
|
* Object State (State for Minor Tick Mark) @var bool
|
||||||
|
* Line Properties @var array of mixed
|
||||||
|
* Shadow Properties @var array of mixed
|
||||||
|
* Glow Properties @var array of mixed
|
||||||
|
* Soft Properties @var array of mixed.
|
||||||
|
*/
|
||||||
|
private $objectState = false;
|
||||||
|
|
||||||
|
private $lineProperties = [
|
||||||
|
'color' => [
|
||||||
|
'type' => self::EXCEL_COLOR_TYPE_STANDARD,
|
||||||
|
'value' => null,
|
||||||
|
'alpha' => 0,
|
||||||
|
],
|
||||||
|
'style' => [
|
||||||
|
'width' => '9525',
|
||||||
|
'compound' => self::LINE_STYLE_COMPOUND_SIMPLE,
|
||||||
|
'dash' => self::LINE_STYLE_DASH_SOLID,
|
||||||
|
'cap' => self::LINE_STYLE_CAP_FLAT,
|
||||||
|
'join' => self::LINE_STYLE_JOIN_BEVEL,
|
||||||
|
'arrow' => [
|
||||||
|
'head' => [
|
||||||
|
'type' => self::LINE_STYLE_ARROW_TYPE_NOARROW,
|
||||||
|
'size' => self::LINE_STYLE_ARROW_SIZE_5,
|
||||||
|
],
|
||||||
|
'end' => [
|
||||||
|
'type' => self::LINE_STYLE_ARROW_TYPE_NOARROW,
|
||||||
|
'size' => self::LINE_STYLE_ARROW_SIZE_8,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
|
private $shadowProperties = [
|
||||||
|
'presets' => self::SHADOW_PRESETS_NOSHADOW,
|
||||||
|
'effect' => null,
|
||||||
|
'color' => [
|
||||||
|
'type' => self::EXCEL_COLOR_TYPE_STANDARD,
|
||||||
|
'value' => 'black',
|
||||||
|
'alpha' => 85,
|
||||||
|
],
|
||||||
|
'size' => [
|
||||||
|
'sx' => null,
|
||||||
|
'sy' => null,
|
||||||
|
'kx' => null,
|
||||||
|
],
|
||||||
|
'blur' => null,
|
||||||
|
'direction' => null,
|
||||||
|
'distance' => null,
|
||||||
|
'algn' => null,
|
||||||
|
'rotWithShape' => null,
|
||||||
|
];
|
||||||
|
|
||||||
|
private $glowProperties = [
|
||||||
|
'size' => null,
|
||||||
|
'color' => [
|
||||||
|
'type' => self::EXCEL_COLOR_TYPE_STANDARD,
|
||||||
|
'value' => 'black',
|
||||||
|
'alpha' => 40,
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
|
private $softEdges = [
|
||||||
|
'size' => null,
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Object State.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function getObjectState()
|
||||||
|
{
|
||||||
|
return $this->objectState;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Change Object State to True.
|
||||||
|
*
|
||||||
|
* @return GridLines
|
||||||
|
*/
|
||||||
|
private function activateObject()
|
||||||
|
{
|
||||||
|
$this->objectState = true;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Line Color Properties.
|
||||||
|
*
|
||||||
|
* @param string $value
|
||||||
|
* @param int $alpha
|
||||||
|
* @param string $type
|
||||||
|
*/
|
||||||
|
public function setLineColorProperties($value, $alpha = 0, $type = self::EXCEL_COLOR_TYPE_STANDARD)
|
||||||
|
{
|
||||||
|
$this->activateObject()
|
||||||
|
->lineProperties['color'] = $this->setColorProperties(
|
||||||
|
$value,
|
||||||
|
$alpha,
|
||||||
|
$type
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Line Color Properties.
|
||||||
|
*
|
||||||
|
* @param float $line_width
|
||||||
|
* @param string $compound_type
|
||||||
|
* @param string $dash_type
|
||||||
|
* @param string $cap_type
|
||||||
|
* @param string $join_type
|
||||||
|
* @param string $head_arrow_type
|
||||||
|
* @param string $head_arrow_size
|
||||||
|
* @param string $end_arrow_type
|
||||||
|
* @param string $end_arrow_size
|
||||||
|
*/
|
||||||
|
public function setLineStyleProperties($line_width = null, $compound_type = null, $dash_type = null, $cap_type = null, $join_type = null, $head_arrow_type = null, $head_arrow_size = null, $end_arrow_type = null, $end_arrow_size = null)
|
||||||
|
{
|
||||||
|
$this->activateObject();
|
||||||
|
($line_width !== null)
|
||||||
|
? $this->lineProperties['style']['width'] = $this->getExcelPointsWidth((float) $line_width)
|
||||||
|
: null;
|
||||||
|
($compound_type !== null)
|
||||||
|
? $this->lineProperties['style']['compound'] = (string) $compound_type
|
||||||
|
: null;
|
||||||
|
($dash_type !== null)
|
||||||
|
? $this->lineProperties['style']['dash'] = (string) $dash_type
|
||||||
|
: null;
|
||||||
|
($cap_type !== null)
|
||||||
|
? $this->lineProperties['style']['cap'] = (string) $cap_type
|
||||||
|
: null;
|
||||||
|
($join_type !== null)
|
||||||
|
? $this->lineProperties['style']['join'] = (string) $join_type
|
||||||
|
: null;
|
||||||
|
($head_arrow_type !== null)
|
||||||
|
? $this->lineProperties['style']['arrow']['head']['type'] = (string) $head_arrow_type
|
||||||
|
: null;
|
||||||
|
($head_arrow_size !== null)
|
||||||
|
? $this->lineProperties['style']['arrow']['head']['size'] = (string) $head_arrow_size
|
||||||
|
: null;
|
||||||
|
($end_arrow_type !== null)
|
||||||
|
? $this->lineProperties['style']['arrow']['end']['type'] = (string) $end_arrow_type
|
||||||
|
: null;
|
||||||
|
($end_arrow_size !== null)
|
||||||
|
? $this->lineProperties['style']['arrow']['end']['size'] = (string) $end_arrow_size
|
||||||
|
: null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Line Color Property.
|
||||||
|
*
|
||||||
|
* @param string $parameter
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getLineColorProperty($parameter)
|
||||||
|
{
|
||||||
|
return $this->lineProperties['color'][$parameter];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Line Style Property.
|
||||||
|
*
|
||||||
|
* @param array|string $elements
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getLineStyleProperty($elements)
|
||||||
|
{
|
||||||
|
return $this->getArrayElementsValue($this->lineProperties['style'], $elements);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Glow Properties.
|
||||||
|
*
|
||||||
|
* @param float $size
|
||||||
|
* @param string $color_value
|
||||||
|
* @param int $color_alpha
|
||||||
|
* @param string $color_type
|
||||||
|
*/
|
||||||
|
public function setGlowProperties($size, $color_value = null, $color_alpha = null, $color_type = null)
|
||||||
|
{
|
||||||
|
$this
|
||||||
|
->activateObject()
|
||||||
|
->setGlowSize($size)
|
||||||
|
->setGlowColor($color_value, $color_alpha, $color_type);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Glow Color Property.
|
||||||
|
*
|
||||||
|
* @param string $property
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getGlowColor($property)
|
||||||
|
{
|
||||||
|
return $this->glowProperties['color'][$property];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Glow Size.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getGlowSize()
|
||||||
|
{
|
||||||
|
return $this->glowProperties['size'];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Glow Size.
|
||||||
|
*
|
||||||
|
* @param float $size
|
||||||
|
*
|
||||||
|
* @return GridLines
|
||||||
|
*/
|
||||||
|
private function setGlowSize($size)
|
||||||
|
{
|
||||||
|
$this->glowProperties['size'] = $this->getExcelPointsWidth((float) $size);
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Glow Color.
|
||||||
|
*
|
||||||
|
* @param string $color
|
||||||
|
* @param int $alpha
|
||||||
|
* @param string $type
|
||||||
|
*
|
||||||
|
* @return GridLines
|
||||||
|
*/
|
||||||
|
private function setGlowColor($color, $alpha, $type)
|
||||||
|
{
|
||||||
|
if ($color !== null) {
|
||||||
|
$this->glowProperties['color']['value'] = (string) $color;
|
||||||
|
}
|
||||||
|
if ($alpha !== null) {
|
||||||
|
$this->glowProperties['color']['alpha'] = $this->getTrueAlpha((int) $alpha);
|
||||||
|
}
|
||||||
|
if ($type !== null) {
|
||||||
|
$this->glowProperties['color']['type'] = (string) $type;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Line Style Arrow Parameters.
|
||||||
|
*
|
||||||
|
* @param string $arrow_selector
|
||||||
|
* @param string $property_selector
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getLineStyleArrowParameters($arrow_selector, $property_selector)
|
||||||
|
{
|
||||||
|
return $this->getLineStyleArrowSize($this->lineProperties['style']['arrow'][$arrow_selector]['size'], $property_selector);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Shadow Properties.
|
||||||
|
*
|
||||||
|
* @param int $sh_presets
|
||||||
|
* @param string $sh_color_value
|
||||||
|
* @param string $sh_color_type
|
||||||
|
* @param int $sh_color_alpha
|
||||||
|
* @param string $sh_blur
|
||||||
|
* @param int $sh_angle
|
||||||
|
* @param float $sh_distance
|
||||||
|
*/
|
||||||
|
public function setShadowProperties($sh_presets, $sh_color_value = null, $sh_color_type = null, $sh_color_alpha = null, $sh_blur = null, $sh_angle = null, $sh_distance = null)
|
||||||
|
{
|
||||||
|
$this->activateObject()
|
||||||
|
->setShadowPresetsProperties((int) $sh_presets)
|
||||||
|
->setShadowColor(
|
||||||
|
$sh_color_value === null ? $this->shadowProperties['color']['value'] : $sh_color_value,
|
||||||
|
$sh_color_alpha === null ? (int) $this->shadowProperties['color']['alpha'] : $this->getTrueAlpha($sh_color_alpha),
|
||||||
|
$sh_color_type === null ? $this->shadowProperties['color']['type'] : $sh_color_type
|
||||||
|
)
|
||||||
|
->setShadowBlur($sh_blur)
|
||||||
|
->setShadowAngle($sh_angle)
|
||||||
|
->setShadowDistance($sh_distance);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Shadow Presets Properties.
|
||||||
|
*
|
||||||
|
* @param int $shadow_presets
|
||||||
|
*
|
||||||
|
* @return GridLines
|
||||||
|
*/
|
||||||
|
private function setShadowPresetsProperties($shadow_presets)
|
||||||
|
{
|
||||||
|
$this->shadowProperties['presets'] = $shadow_presets;
|
||||||
|
$this->setShadowProperiesMapValues($this->getShadowPresetsMap($shadow_presets));
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Shadow Properties Values.
|
||||||
|
*
|
||||||
|
* @param array $properties_map
|
||||||
|
* @param mixed &$reference
|
||||||
|
*
|
||||||
|
* @return GridLines
|
||||||
|
*/
|
||||||
|
private function setShadowProperiesMapValues(array $properties_map, &$reference = null)
|
||||||
|
{
|
||||||
|
$base_reference = $reference;
|
||||||
|
foreach ($properties_map as $property_key => $property_val) {
|
||||||
|
if (is_array($property_val)) {
|
||||||
|
if ($reference === null) {
|
||||||
|
$reference = &$this->shadowProperties[$property_key];
|
||||||
|
} else {
|
||||||
|
$reference = &$reference[$property_key];
|
||||||
|
}
|
||||||
|
$this->setShadowProperiesMapValues($property_val, $reference);
|
||||||
|
} else {
|
||||||
|
if ($base_reference === null) {
|
||||||
|
$this->shadowProperties[$property_key] = $property_val;
|
||||||
|
} else {
|
||||||
|
$reference[$property_key] = $property_val;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Shadow Color.
|
||||||
|
*
|
||||||
|
* @param string $color
|
||||||
|
* @param int $alpha
|
||||||
|
* @param string $type
|
||||||
|
*
|
||||||
|
* @return GridLines
|
||||||
|
*/
|
||||||
|
private function setShadowColor($color, $alpha, $type)
|
||||||
|
{
|
||||||
|
if ($color !== null) {
|
||||||
|
$this->shadowProperties['color']['value'] = (string) $color;
|
||||||
|
}
|
||||||
|
if ($alpha !== null) {
|
||||||
|
$this->shadowProperties['color']['alpha'] = $this->getTrueAlpha((int) $alpha);
|
||||||
|
}
|
||||||
|
if ($type !== null) {
|
||||||
|
$this->shadowProperties['color']['type'] = (string) $type;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Shadow Blur.
|
||||||
|
*
|
||||||
|
* @param float $blur
|
||||||
|
*
|
||||||
|
* @return GridLines
|
||||||
|
*/
|
||||||
|
private function setShadowBlur($blur)
|
||||||
|
{
|
||||||
|
if ($blur !== null) {
|
||||||
|
$this->shadowProperties['blur'] = (string) $this->getExcelPointsWidth($blur);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Shadow Angle.
|
||||||
|
*
|
||||||
|
* @param int $angle
|
||||||
|
*
|
||||||
|
* @return GridLines
|
||||||
|
*/
|
||||||
|
private function setShadowAngle($angle)
|
||||||
|
{
|
||||||
|
if ($angle !== null) {
|
||||||
|
$this->shadowProperties['direction'] = (string) $this->getExcelPointsAngle($angle);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Shadow Distance.
|
||||||
|
*
|
||||||
|
* @param float $distance
|
||||||
|
*
|
||||||
|
* @return GridLines
|
||||||
|
*/
|
||||||
|
private function setShadowDistance($distance)
|
||||||
|
{
|
||||||
|
if ($distance !== null) {
|
||||||
|
$this->shadowProperties['distance'] = (string) $this->getExcelPointsWidth($distance);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Shadow Property.
|
||||||
|
*
|
||||||
|
* @param string|string[] $elements
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getShadowProperty($elements)
|
||||||
|
{
|
||||||
|
return $this->getArrayElementsValue($this->shadowProperties, $elements);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Soft Edges Size.
|
||||||
|
*
|
||||||
|
* @param float $size
|
||||||
|
*/
|
||||||
|
public function setSoftEdgesSize($size)
|
||||||
|
{
|
||||||
|
if ($size !== null) {
|
||||||
|
$this->activateObject();
|
||||||
|
$this->softEdges['size'] = (string) $this->getExcelPointsWidth($size);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Soft Edges Size.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getSoftEdgesSize()
|
||||||
|
{
|
||||||
|
return $this->softEdges['size'];
|
||||||
|
}
|
||||||
|
}
|
||||||
483
PhpOffice/PhpSpreadsheet/Chart/Layout.php
Normal file
483
PhpOffice/PhpSpreadsheet/Chart/Layout.php
Normal file
|
|
@ -0,0 +1,483 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Chart;
|
||||||
|
|
||||||
|
class Layout
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* layoutTarget.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $layoutTarget;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* X Mode.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $xMode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Y Mode.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $yMode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* X-Position.
|
||||||
|
*
|
||||||
|
* @var float
|
||||||
|
*/
|
||||||
|
private $xPos;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Y-Position.
|
||||||
|
*
|
||||||
|
* @var float
|
||||||
|
*/
|
||||||
|
private $yPos;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* width.
|
||||||
|
*
|
||||||
|
* @var float
|
||||||
|
*/
|
||||||
|
private $width;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* height.
|
||||||
|
*
|
||||||
|
* @var float
|
||||||
|
*/
|
||||||
|
private $height;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* show legend key
|
||||||
|
* Specifies that legend keys should be shown in data labels.
|
||||||
|
*
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
private $showLegendKey;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* show value
|
||||||
|
* Specifies that the value should be shown in a data label.
|
||||||
|
*
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
private $showVal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* show category name
|
||||||
|
* Specifies that the category name should be shown in the data label.
|
||||||
|
*
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
private $showCatName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* show data series name
|
||||||
|
* Specifies that the series name should be shown in the data label.
|
||||||
|
*
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
private $showSerName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* show percentage
|
||||||
|
* Specifies that the percentage should be shown in the data label.
|
||||||
|
*
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
private $showPercent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* show bubble size.
|
||||||
|
*
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
private $showBubbleSize;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* show leader lines
|
||||||
|
* Specifies that leader lines should be shown for the data label.
|
||||||
|
*
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
private $showLeaderLines;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new Layout.
|
||||||
|
*
|
||||||
|
* @param array $layout
|
||||||
|
*/
|
||||||
|
public function __construct(array $layout = [])
|
||||||
|
{
|
||||||
|
if (isset($layout['layoutTarget'])) {
|
||||||
|
$this->layoutTarget = $layout['layoutTarget'];
|
||||||
|
}
|
||||||
|
if (isset($layout['xMode'])) {
|
||||||
|
$this->xMode = $layout['xMode'];
|
||||||
|
}
|
||||||
|
if (isset($layout['yMode'])) {
|
||||||
|
$this->yMode = $layout['yMode'];
|
||||||
|
}
|
||||||
|
if (isset($layout['x'])) {
|
||||||
|
$this->xPos = (float) $layout['x'];
|
||||||
|
}
|
||||||
|
if (isset($layout['y'])) {
|
||||||
|
$this->yPos = (float) $layout['y'];
|
||||||
|
}
|
||||||
|
if (isset($layout['w'])) {
|
||||||
|
$this->width = (float) $layout['w'];
|
||||||
|
}
|
||||||
|
if (isset($layout['h'])) {
|
||||||
|
$this->height = (float) $layout['h'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Layout Target.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getLayoutTarget()
|
||||||
|
{
|
||||||
|
return $this->layoutTarget;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Layout Target.
|
||||||
|
*
|
||||||
|
* @param string $value
|
||||||
|
*
|
||||||
|
* @return Layout
|
||||||
|
*/
|
||||||
|
public function setLayoutTarget($value)
|
||||||
|
{
|
||||||
|
$this->layoutTarget = $value;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get X-Mode.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getXMode()
|
||||||
|
{
|
||||||
|
return $this->xMode;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set X-Mode.
|
||||||
|
*
|
||||||
|
* @param string $value
|
||||||
|
*
|
||||||
|
* @return Layout
|
||||||
|
*/
|
||||||
|
public function setXMode($value)
|
||||||
|
{
|
||||||
|
$this->xMode = (string) $value;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Y-Mode.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getYMode()
|
||||||
|
{
|
||||||
|
return $this->yMode;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Y-Mode.
|
||||||
|
*
|
||||||
|
* @param string $value
|
||||||
|
*
|
||||||
|
* @return Layout
|
||||||
|
*/
|
||||||
|
public function setYMode($value)
|
||||||
|
{
|
||||||
|
$this->yMode = (string) $value;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get X-Position.
|
||||||
|
*
|
||||||
|
* @return number
|
||||||
|
*/
|
||||||
|
public function getXPosition()
|
||||||
|
{
|
||||||
|
return $this->xPos;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set X-Position.
|
||||||
|
*
|
||||||
|
* @param float $value
|
||||||
|
*
|
||||||
|
* @return Layout
|
||||||
|
*/
|
||||||
|
public function setXPosition($value)
|
||||||
|
{
|
||||||
|
$this->xPos = (float) $value;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Y-Position.
|
||||||
|
*
|
||||||
|
* @return number
|
||||||
|
*/
|
||||||
|
public function getYPosition()
|
||||||
|
{
|
||||||
|
return $this->yPos;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Y-Position.
|
||||||
|
*
|
||||||
|
* @param float $value
|
||||||
|
*
|
||||||
|
* @return Layout
|
||||||
|
*/
|
||||||
|
public function setYPosition($value)
|
||||||
|
{
|
||||||
|
$this->yPos = (float) $value;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Width.
|
||||||
|
*
|
||||||
|
* @return number
|
||||||
|
*/
|
||||||
|
public function getWidth()
|
||||||
|
{
|
||||||
|
return $this->width;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Width.
|
||||||
|
*
|
||||||
|
* @param float $value
|
||||||
|
*
|
||||||
|
* @return Layout
|
||||||
|
*/
|
||||||
|
public function setWidth($value)
|
||||||
|
{
|
||||||
|
$this->width = $value;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Height.
|
||||||
|
*
|
||||||
|
* @return number
|
||||||
|
*/
|
||||||
|
public function getHeight()
|
||||||
|
{
|
||||||
|
return $this->height;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Height.
|
||||||
|
*
|
||||||
|
* @param float $value
|
||||||
|
*
|
||||||
|
* @return Layout
|
||||||
|
*/
|
||||||
|
public function setHeight($value)
|
||||||
|
{
|
||||||
|
$this->height = $value;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get show legend key.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function getShowLegendKey()
|
||||||
|
{
|
||||||
|
return $this->showLegendKey;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set show legend key
|
||||||
|
* Specifies that legend keys should be shown in data labels.
|
||||||
|
*
|
||||||
|
* @param bool $value Show legend key
|
||||||
|
*
|
||||||
|
* @return Layout
|
||||||
|
*/
|
||||||
|
public function setShowLegendKey($value)
|
||||||
|
{
|
||||||
|
$this->showLegendKey = $value;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get show value.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function getShowVal()
|
||||||
|
{
|
||||||
|
return $this->showVal;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set show val
|
||||||
|
* Specifies that the value should be shown in data labels.
|
||||||
|
*
|
||||||
|
* @param bool $value Show val
|
||||||
|
*
|
||||||
|
* @return Layout
|
||||||
|
*/
|
||||||
|
public function setShowVal($value)
|
||||||
|
{
|
||||||
|
$this->showVal = $value;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get show category name.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function getShowCatName()
|
||||||
|
{
|
||||||
|
return $this->showCatName;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set show cat name
|
||||||
|
* Specifies that the category name should be shown in data labels.
|
||||||
|
*
|
||||||
|
* @param bool $value Show cat name
|
||||||
|
*
|
||||||
|
* @return Layout
|
||||||
|
*/
|
||||||
|
public function setShowCatName($value)
|
||||||
|
{
|
||||||
|
$this->showCatName = $value;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get show data series name.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function getShowSerName()
|
||||||
|
{
|
||||||
|
return $this->showSerName;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set show ser name
|
||||||
|
* Specifies that the series name should be shown in data labels.
|
||||||
|
*
|
||||||
|
* @param bool $value Show series name
|
||||||
|
*
|
||||||
|
* @return Layout
|
||||||
|
*/
|
||||||
|
public function setShowSerName($value)
|
||||||
|
{
|
||||||
|
$this->showSerName = $value;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get show percentage.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function getShowPercent()
|
||||||
|
{
|
||||||
|
return $this->showPercent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set show percentage
|
||||||
|
* Specifies that the percentage should be shown in data labels.
|
||||||
|
*
|
||||||
|
* @param bool $value Show percentage
|
||||||
|
*
|
||||||
|
* @return Layout
|
||||||
|
*/
|
||||||
|
public function setShowPercent($value)
|
||||||
|
{
|
||||||
|
$this->showPercent = $value;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get show bubble size.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function getShowBubbleSize()
|
||||||
|
{
|
||||||
|
return $this->showBubbleSize;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set show bubble size
|
||||||
|
* Specifies that the bubble size should be shown in data labels.
|
||||||
|
*
|
||||||
|
* @param bool $value Show bubble size
|
||||||
|
*
|
||||||
|
* @return Layout
|
||||||
|
*/
|
||||||
|
public function setShowBubbleSize($value)
|
||||||
|
{
|
||||||
|
$this->showBubbleSize = $value;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get show leader lines.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function getShowLeaderLines()
|
||||||
|
{
|
||||||
|
return $this->showLeaderLines;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set show leader lines
|
||||||
|
* Specifies that leader lines should be shown in data labels.
|
||||||
|
*
|
||||||
|
* @param bool $value Show leader lines
|
||||||
|
*
|
||||||
|
* @return Layout
|
||||||
|
*/
|
||||||
|
public function setShowLeaderLines($value)
|
||||||
|
{
|
||||||
|
$this->showLeaderLines = $value;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
}
|
||||||
158
PhpOffice/PhpSpreadsheet/Chart/Legend.php
Normal file
158
PhpOffice/PhpSpreadsheet/Chart/Legend.php
Normal file
|
|
@ -0,0 +1,158 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Chart;
|
||||||
|
|
||||||
|
class Legend
|
||||||
|
{
|
||||||
|
/** Legend positions */
|
||||||
|
const XL_LEGEND_POSITION_BOTTOM = -4107; // Below the chart.
|
||||||
|
const XL_LEGEND_POSITION_CORNER = 2; // In the upper right-hand corner of the chart border.
|
||||||
|
const XL_LEGEND_POSITION_CUSTOM = -4161; // A custom position.
|
||||||
|
const XL_LEGEND_POSITION_LEFT = -4131; // Left of the chart.
|
||||||
|
const XL_LEGEND_POSITION_RIGHT = -4152; // Right of the chart.
|
||||||
|
const XL_LEGEND_POSITION_TOP = -4160; // Above the chart.
|
||||||
|
|
||||||
|
const POSITION_RIGHT = 'r';
|
||||||
|
const POSITION_LEFT = 'l';
|
||||||
|
const POSITION_BOTTOM = 'b';
|
||||||
|
const POSITION_TOP = 't';
|
||||||
|
const POSITION_TOPRIGHT = 'tr';
|
||||||
|
|
||||||
|
private static $positionXLref = [
|
||||||
|
self::XL_LEGEND_POSITION_BOTTOM => self::POSITION_BOTTOM,
|
||||||
|
self::XL_LEGEND_POSITION_CORNER => self::POSITION_TOPRIGHT,
|
||||||
|
self::XL_LEGEND_POSITION_CUSTOM => '??',
|
||||||
|
self::XL_LEGEND_POSITION_LEFT => self::POSITION_LEFT,
|
||||||
|
self::XL_LEGEND_POSITION_RIGHT => self::POSITION_RIGHT,
|
||||||
|
self::XL_LEGEND_POSITION_TOP => self::POSITION_TOP,
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Legend position.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $position = self::POSITION_RIGHT;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Allow overlay of other elements?
|
||||||
|
*
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
private $overlay = true;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Legend Layout.
|
||||||
|
*
|
||||||
|
* @var Layout
|
||||||
|
*/
|
||||||
|
private $layout;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new Legend.
|
||||||
|
*
|
||||||
|
* @param string $position
|
||||||
|
* @param null|Layout $layout
|
||||||
|
* @param bool $overlay
|
||||||
|
*/
|
||||||
|
public function __construct($position = self::POSITION_RIGHT, Layout $layout = null, $overlay = false)
|
||||||
|
{
|
||||||
|
$this->setPosition($position);
|
||||||
|
$this->layout = $layout;
|
||||||
|
$this->setOverlay($overlay);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get legend position as an excel string value.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getPosition()
|
||||||
|
{
|
||||||
|
return $this->position;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get legend position using an excel string value.
|
||||||
|
*
|
||||||
|
* @param string $position see self::POSITION_*
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function setPosition($position)
|
||||||
|
{
|
||||||
|
if (!in_array($position, self::$positionXLref)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->position = $position;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get legend position as an Excel internal numeric value.
|
||||||
|
*
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public function getPositionXL()
|
||||||
|
{
|
||||||
|
return array_search($this->position, self::$positionXLref);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set legend position using an Excel internal numeric value.
|
||||||
|
*
|
||||||
|
* @param int $positionXL see self::XL_LEGEND_POSITION_*
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function setPositionXL($positionXL)
|
||||||
|
{
|
||||||
|
if (!isset(self::$positionXLref[$positionXL])) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->position = self::$positionXLref[$positionXL];
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get allow overlay of other elements?
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function getOverlay()
|
||||||
|
{
|
||||||
|
return $this->overlay;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set allow overlay of other elements?
|
||||||
|
*
|
||||||
|
* @param bool $overlay
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function setOverlay($overlay)
|
||||||
|
{
|
||||||
|
if (!is_bool($overlay)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->overlay = $overlay;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Layout.
|
||||||
|
*
|
||||||
|
* @return Layout
|
||||||
|
*/
|
||||||
|
public function getLayout()
|
||||||
|
{
|
||||||
|
return $this->layout;
|
||||||
|
}
|
||||||
|
}
|
||||||
112
PhpOffice/PhpSpreadsheet/Chart/PlotArea.php
Normal file
112
PhpOffice/PhpSpreadsheet/Chart/PlotArea.php
Normal file
|
|
@ -0,0 +1,112 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Chart;
|
||||||
|
|
||||||
|
use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
|
||||||
|
|
||||||
|
class PlotArea
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* PlotArea Layout.
|
||||||
|
*
|
||||||
|
* @var Layout
|
||||||
|
*/
|
||||||
|
private $layout;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Plot Series.
|
||||||
|
*
|
||||||
|
* @var DataSeries[]
|
||||||
|
*/
|
||||||
|
private $plotSeries = [];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new PlotArea.
|
||||||
|
*
|
||||||
|
* @param null|Layout $layout
|
||||||
|
* @param DataSeries[] $plotSeries
|
||||||
|
*/
|
||||||
|
public function __construct(Layout $layout = null, array $plotSeries = [])
|
||||||
|
{
|
||||||
|
$this->layout = $layout;
|
||||||
|
$this->plotSeries = $plotSeries;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Layout.
|
||||||
|
*
|
||||||
|
* @return Layout
|
||||||
|
*/
|
||||||
|
public function getLayout()
|
||||||
|
{
|
||||||
|
return $this->layout;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Number of Plot Groups.
|
||||||
|
*
|
||||||
|
* @return array of DataSeries
|
||||||
|
*/
|
||||||
|
public function getPlotGroupCount()
|
||||||
|
{
|
||||||
|
return count($this->plotSeries);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Number of Plot Series.
|
||||||
|
*
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public function getPlotSeriesCount()
|
||||||
|
{
|
||||||
|
$seriesCount = 0;
|
||||||
|
foreach ($this->plotSeries as $plot) {
|
||||||
|
$seriesCount += $plot->getPlotSeriesCount();
|
||||||
|
}
|
||||||
|
|
||||||
|
return $seriesCount;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Plot Series.
|
||||||
|
*
|
||||||
|
* @return array of DataSeries
|
||||||
|
*/
|
||||||
|
public function getPlotGroup()
|
||||||
|
{
|
||||||
|
return $this->plotSeries;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Plot Series by Index.
|
||||||
|
*
|
||||||
|
* @param mixed $index
|
||||||
|
*
|
||||||
|
* @return DataSeries
|
||||||
|
*/
|
||||||
|
public function getPlotGroupByIndex($index)
|
||||||
|
{
|
||||||
|
return $this->plotSeries[$index];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Plot Series.
|
||||||
|
*
|
||||||
|
* @param DataSeries[] $plotSeries
|
||||||
|
*
|
||||||
|
* @return PlotArea
|
||||||
|
*/
|
||||||
|
public function setPlotSeries(array $plotSeries)
|
||||||
|
{
|
||||||
|
$this->plotSeries = $plotSeries;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function refresh(Worksheet $worksheet)
|
||||||
|
{
|
||||||
|
foreach ($this->plotSeries as $plotSeries) {
|
||||||
|
$plotSeries->refresh($worksheet);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
369
PhpOffice/PhpSpreadsheet/Chart/Properties.php
Normal file
369
PhpOffice/PhpSpreadsheet/Chart/Properties.php
Normal file
|
|
@ -0,0 +1,369 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Chart;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by PhpStorm.
|
||||||
|
* User: nhw2h8s
|
||||||
|
* Date: 7/2/14
|
||||||
|
* Time: 5:45 PM.
|
||||||
|
*/
|
||||||
|
abstract class Properties
|
||||||
|
{
|
||||||
|
const
|
||||||
|
EXCEL_COLOR_TYPE_STANDARD = 'prstClr';
|
||||||
|
const EXCEL_COLOR_TYPE_SCHEME = 'schemeClr';
|
||||||
|
const EXCEL_COLOR_TYPE_ARGB = 'srgbClr';
|
||||||
|
|
||||||
|
const
|
||||||
|
AXIS_LABELS_LOW = 'low';
|
||||||
|
const AXIS_LABELS_HIGH = 'high';
|
||||||
|
const AXIS_LABELS_NEXT_TO = 'nextTo';
|
||||||
|
const AXIS_LABELS_NONE = 'none';
|
||||||
|
|
||||||
|
const
|
||||||
|
TICK_MARK_NONE = 'none';
|
||||||
|
const TICK_MARK_INSIDE = 'in';
|
||||||
|
const TICK_MARK_OUTSIDE = 'out';
|
||||||
|
const TICK_MARK_CROSS = 'cross';
|
||||||
|
|
||||||
|
const
|
||||||
|
HORIZONTAL_CROSSES_AUTOZERO = 'autoZero';
|
||||||
|
const HORIZONTAL_CROSSES_MAXIMUM = 'max';
|
||||||
|
|
||||||
|
const
|
||||||
|
FORMAT_CODE_GENERAL = 'General';
|
||||||
|
const FORMAT_CODE_NUMBER = '#,##0.00';
|
||||||
|
const FORMAT_CODE_CURRENCY = '$#,##0.00';
|
||||||
|
const FORMAT_CODE_ACCOUNTING = '_($* #,##0.00_);_($* (#,##0.00);_($* "-"??_);_(@_)';
|
||||||
|
const FORMAT_CODE_DATE = 'm/d/yyyy';
|
||||||
|
const FORMAT_CODE_TIME = '[$-F400]h:mm:ss AM/PM';
|
||||||
|
const FORMAT_CODE_PERCENTAGE = '0.00%';
|
||||||
|
const FORMAT_CODE_FRACTION = '# ?/?';
|
||||||
|
const FORMAT_CODE_SCIENTIFIC = '0.00E+00';
|
||||||
|
const FORMAT_CODE_TEXT = '@';
|
||||||
|
const FORMAT_CODE_SPECIAL = '00000';
|
||||||
|
|
||||||
|
const
|
||||||
|
ORIENTATION_NORMAL = 'minMax';
|
||||||
|
const ORIENTATION_REVERSED = 'maxMin';
|
||||||
|
|
||||||
|
const
|
||||||
|
LINE_STYLE_COMPOUND_SIMPLE = 'sng';
|
||||||
|
const LINE_STYLE_COMPOUND_DOUBLE = 'dbl';
|
||||||
|
const LINE_STYLE_COMPOUND_THICKTHIN = 'thickThin';
|
||||||
|
const LINE_STYLE_COMPOUND_THINTHICK = 'thinThick';
|
||||||
|
const LINE_STYLE_COMPOUND_TRIPLE = 'tri';
|
||||||
|
const LINE_STYLE_DASH_SOLID = 'solid';
|
||||||
|
const LINE_STYLE_DASH_ROUND_DOT = 'sysDot';
|
||||||
|
const LINE_STYLE_DASH_SQUERE_DOT = 'sysDash';
|
||||||
|
const LINE_STYPE_DASH_DASH = 'dash';
|
||||||
|
const LINE_STYLE_DASH_DASH_DOT = 'dashDot';
|
||||||
|
const LINE_STYLE_DASH_LONG_DASH = 'lgDash';
|
||||||
|
const LINE_STYLE_DASH_LONG_DASH_DOT = 'lgDashDot';
|
||||||
|
const LINE_STYLE_DASH_LONG_DASH_DOT_DOT = 'lgDashDotDot';
|
||||||
|
const LINE_STYLE_CAP_SQUARE = 'sq';
|
||||||
|
const LINE_STYLE_CAP_ROUND = 'rnd';
|
||||||
|
const LINE_STYLE_CAP_FLAT = 'flat';
|
||||||
|
const LINE_STYLE_JOIN_ROUND = 'bevel';
|
||||||
|
const LINE_STYLE_JOIN_MITER = 'miter';
|
||||||
|
const LINE_STYLE_JOIN_BEVEL = 'bevel';
|
||||||
|
const LINE_STYLE_ARROW_TYPE_NOARROW = null;
|
||||||
|
const LINE_STYLE_ARROW_TYPE_ARROW = 'triangle';
|
||||||
|
const LINE_STYLE_ARROW_TYPE_OPEN = 'arrow';
|
||||||
|
const LINE_STYLE_ARROW_TYPE_STEALTH = 'stealth';
|
||||||
|
const LINE_STYLE_ARROW_TYPE_DIAMOND = 'diamond';
|
||||||
|
const LINE_STYLE_ARROW_TYPE_OVAL = 'oval';
|
||||||
|
const LINE_STYLE_ARROW_SIZE_1 = 1;
|
||||||
|
const LINE_STYLE_ARROW_SIZE_2 = 2;
|
||||||
|
const LINE_STYLE_ARROW_SIZE_3 = 3;
|
||||||
|
const LINE_STYLE_ARROW_SIZE_4 = 4;
|
||||||
|
const LINE_STYLE_ARROW_SIZE_5 = 5;
|
||||||
|
const LINE_STYLE_ARROW_SIZE_6 = 6;
|
||||||
|
const LINE_STYLE_ARROW_SIZE_7 = 7;
|
||||||
|
const LINE_STYLE_ARROW_SIZE_8 = 8;
|
||||||
|
const LINE_STYLE_ARROW_SIZE_9 = 9;
|
||||||
|
|
||||||
|
const
|
||||||
|
SHADOW_PRESETS_NOSHADOW = null;
|
||||||
|
const SHADOW_PRESETS_OUTER_BOTTTOM_RIGHT = 1;
|
||||||
|
const SHADOW_PRESETS_OUTER_BOTTOM = 2;
|
||||||
|
const SHADOW_PRESETS_OUTER_BOTTOM_LEFT = 3;
|
||||||
|
const SHADOW_PRESETS_OUTER_RIGHT = 4;
|
||||||
|
const SHADOW_PRESETS_OUTER_CENTER = 5;
|
||||||
|
const SHADOW_PRESETS_OUTER_LEFT = 6;
|
||||||
|
const SHADOW_PRESETS_OUTER_TOP_RIGHT = 7;
|
||||||
|
const SHADOW_PRESETS_OUTER_TOP = 8;
|
||||||
|
const SHADOW_PRESETS_OUTER_TOP_LEFT = 9;
|
||||||
|
const SHADOW_PRESETS_INNER_BOTTTOM_RIGHT = 10;
|
||||||
|
const SHADOW_PRESETS_INNER_BOTTOM = 11;
|
||||||
|
const SHADOW_PRESETS_INNER_BOTTOM_LEFT = 12;
|
||||||
|
const SHADOW_PRESETS_INNER_RIGHT = 13;
|
||||||
|
const SHADOW_PRESETS_INNER_CENTER = 14;
|
||||||
|
const SHADOW_PRESETS_INNER_LEFT = 15;
|
||||||
|
const SHADOW_PRESETS_INNER_TOP_RIGHT = 16;
|
||||||
|
const SHADOW_PRESETS_INNER_TOP = 17;
|
||||||
|
const SHADOW_PRESETS_INNER_TOP_LEFT = 18;
|
||||||
|
const SHADOW_PRESETS_PERSPECTIVE_BELOW = 19;
|
||||||
|
const SHADOW_PRESETS_PERSPECTIVE_UPPER_RIGHT = 20;
|
||||||
|
const SHADOW_PRESETS_PERSPECTIVE_UPPER_LEFT = 21;
|
||||||
|
const SHADOW_PRESETS_PERSPECTIVE_LOWER_RIGHT = 22;
|
||||||
|
const SHADOW_PRESETS_PERSPECTIVE_LOWER_LEFT = 23;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param float $width
|
||||||
|
*
|
||||||
|
* @return float
|
||||||
|
*/
|
||||||
|
protected function getExcelPointsWidth($width)
|
||||||
|
{
|
||||||
|
return $width * 12700;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param float $angle
|
||||||
|
*
|
||||||
|
* @return float
|
||||||
|
*/
|
||||||
|
protected function getExcelPointsAngle($angle)
|
||||||
|
{
|
||||||
|
return $angle * 60000;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function getTrueAlpha($alpha)
|
||||||
|
{
|
||||||
|
return (string) 100 - $alpha . '000';
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function setColorProperties($color, $alpha, $type)
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'type' => (string) $type,
|
||||||
|
'value' => (string) $color,
|
||||||
|
'alpha' => (string) $this->getTrueAlpha($alpha),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function getLineStyleArrowSize($array_selector, $array_kay_selector)
|
||||||
|
{
|
||||||
|
$sizes = [
|
||||||
|
1 => ['w' => 'sm', 'len' => 'sm'],
|
||||||
|
2 => ['w' => 'sm', 'len' => 'med'],
|
||||||
|
3 => ['w' => 'sm', 'len' => 'lg'],
|
||||||
|
4 => ['w' => 'med', 'len' => 'sm'],
|
||||||
|
5 => ['w' => 'med', 'len' => 'med'],
|
||||||
|
6 => ['w' => 'med', 'len' => 'lg'],
|
||||||
|
7 => ['w' => 'lg', 'len' => 'sm'],
|
||||||
|
8 => ['w' => 'lg', 'len' => 'med'],
|
||||||
|
9 => ['w' => 'lg', 'len' => 'lg'],
|
||||||
|
];
|
||||||
|
|
||||||
|
return $sizes[$array_selector][$array_kay_selector];
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function getShadowPresetsMap($shadow_presets_option)
|
||||||
|
{
|
||||||
|
$presets_options = [
|
||||||
|
//OUTER
|
||||||
|
1 => [
|
||||||
|
'effect' => 'outerShdw',
|
||||||
|
'blur' => '50800',
|
||||||
|
'distance' => '38100',
|
||||||
|
'direction' => '2700000',
|
||||||
|
'algn' => 'tl',
|
||||||
|
'rotWithShape' => '0',
|
||||||
|
],
|
||||||
|
2 => [
|
||||||
|
'effect' => 'outerShdw',
|
||||||
|
'blur' => '50800',
|
||||||
|
'distance' => '38100',
|
||||||
|
'direction' => '5400000',
|
||||||
|
'algn' => 't',
|
||||||
|
'rotWithShape' => '0',
|
||||||
|
],
|
||||||
|
3 => [
|
||||||
|
'effect' => 'outerShdw',
|
||||||
|
'blur' => '50800',
|
||||||
|
'distance' => '38100',
|
||||||
|
'direction' => '8100000',
|
||||||
|
'algn' => 'tr',
|
||||||
|
'rotWithShape' => '0',
|
||||||
|
],
|
||||||
|
4 => [
|
||||||
|
'effect' => 'outerShdw',
|
||||||
|
'blur' => '50800',
|
||||||
|
'distance' => '38100',
|
||||||
|
'algn' => 'l',
|
||||||
|
'rotWithShape' => '0',
|
||||||
|
],
|
||||||
|
5 => [
|
||||||
|
'effect' => 'outerShdw',
|
||||||
|
'size' => [
|
||||||
|
'sx' => '102000',
|
||||||
|
'sy' => '102000',
|
||||||
|
],
|
||||||
|
'blur' => '63500',
|
||||||
|
'distance' => '38100',
|
||||||
|
'algn' => 'ctr',
|
||||||
|
'rotWithShape' => '0',
|
||||||
|
],
|
||||||
|
6 => [
|
||||||
|
'effect' => 'outerShdw',
|
||||||
|
'blur' => '50800',
|
||||||
|
'distance' => '38100',
|
||||||
|
'direction' => '10800000',
|
||||||
|
'algn' => 'r',
|
||||||
|
'rotWithShape' => '0',
|
||||||
|
],
|
||||||
|
7 => [
|
||||||
|
'effect' => 'outerShdw',
|
||||||
|
'blur' => '50800',
|
||||||
|
'distance' => '38100',
|
||||||
|
'direction' => '18900000',
|
||||||
|
'algn' => 'bl',
|
||||||
|
'rotWithShape' => '0',
|
||||||
|
],
|
||||||
|
8 => [
|
||||||
|
'effect' => 'outerShdw',
|
||||||
|
'blur' => '50800',
|
||||||
|
'distance' => '38100',
|
||||||
|
'direction' => '16200000',
|
||||||
|
'rotWithShape' => '0',
|
||||||
|
],
|
||||||
|
9 => [
|
||||||
|
'effect' => 'outerShdw',
|
||||||
|
'blur' => '50800',
|
||||||
|
'distance' => '38100',
|
||||||
|
'direction' => '13500000',
|
||||||
|
'algn' => 'br',
|
||||||
|
'rotWithShape' => '0',
|
||||||
|
],
|
||||||
|
//INNER
|
||||||
|
10 => [
|
||||||
|
'effect' => 'innerShdw',
|
||||||
|
'blur' => '63500',
|
||||||
|
'distance' => '50800',
|
||||||
|
'direction' => '2700000',
|
||||||
|
],
|
||||||
|
11 => [
|
||||||
|
'effect' => 'innerShdw',
|
||||||
|
'blur' => '63500',
|
||||||
|
'distance' => '50800',
|
||||||
|
'direction' => '5400000',
|
||||||
|
],
|
||||||
|
12 => [
|
||||||
|
'effect' => 'innerShdw',
|
||||||
|
'blur' => '63500',
|
||||||
|
'distance' => '50800',
|
||||||
|
'direction' => '8100000',
|
||||||
|
],
|
||||||
|
13 => [
|
||||||
|
'effect' => 'innerShdw',
|
||||||
|
'blur' => '63500',
|
||||||
|
'distance' => '50800',
|
||||||
|
],
|
||||||
|
14 => [
|
||||||
|
'effect' => 'innerShdw',
|
||||||
|
'blur' => '114300',
|
||||||
|
],
|
||||||
|
15 => [
|
||||||
|
'effect' => 'innerShdw',
|
||||||
|
'blur' => '63500',
|
||||||
|
'distance' => '50800',
|
||||||
|
'direction' => '10800000',
|
||||||
|
],
|
||||||
|
16 => [
|
||||||
|
'effect' => 'innerShdw',
|
||||||
|
'blur' => '63500',
|
||||||
|
'distance' => '50800',
|
||||||
|
'direction' => '18900000',
|
||||||
|
],
|
||||||
|
17 => [
|
||||||
|
'effect' => 'innerShdw',
|
||||||
|
'blur' => '63500',
|
||||||
|
'distance' => '50800',
|
||||||
|
'direction' => '16200000',
|
||||||
|
],
|
||||||
|
18 => [
|
||||||
|
'effect' => 'innerShdw',
|
||||||
|
'blur' => '63500',
|
||||||
|
'distance' => '50800',
|
||||||
|
'direction' => '13500000',
|
||||||
|
],
|
||||||
|
//perspective
|
||||||
|
19 => [
|
||||||
|
'effect' => 'outerShdw',
|
||||||
|
'blur' => '152400',
|
||||||
|
'distance' => '317500',
|
||||||
|
'size' => [
|
||||||
|
'sx' => '90000',
|
||||||
|
'sy' => '-19000',
|
||||||
|
],
|
||||||
|
'direction' => '5400000',
|
||||||
|
'rotWithShape' => '0',
|
||||||
|
],
|
||||||
|
20 => [
|
||||||
|
'effect' => 'outerShdw',
|
||||||
|
'blur' => '76200',
|
||||||
|
'direction' => '18900000',
|
||||||
|
'size' => [
|
||||||
|
'sy' => '23000',
|
||||||
|
'kx' => '-1200000',
|
||||||
|
],
|
||||||
|
'algn' => 'bl',
|
||||||
|
'rotWithShape' => '0',
|
||||||
|
],
|
||||||
|
21 => [
|
||||||
|
'effect' => 'outerShdw',
|
||||||
|
'blur' => '76200',
|
||||||
|
'direction' => '13500000',
|
||||||
|
'size' => [
|
||||||
|
'sy' => '23000',
|
||||||
|
'kx' => '1200000',
|
||||||
|
],
|
||||||
|
'algn' => 'br',
|
||||||
|
'rotWithShape' => '0',
|
||||||
|
],
|
||||||
|
22 => [
|
||||||
|
'effect' => 'outerShdw',
|
||||||
|
'blur' => '76200',
|
||||||
|
'distance' => '12700',
|
||||||
|
'direction' => '2700000',
|
||||||
|
'size' => [
|
||||||
|
'sy' => '-23000',
|
||||||
|
'kx' => '-800400',
|
||||||
|
],
|
||||||
|
'algn' => 'bl',
|
||||||
|
'rotWithShape' => '0',
|
||||||
|
],
|
||||||
|
23 => [
|
||||||
|
'effect' => 'outerShdw',
|
||||||
|
'blur' => '76200',
|
||||||
|
'distance' => '12700',
|
||||||
|
'direction' => '8100000',
|
||||||
|
'size' => [
|
||||||
|
'sy' => '-23000',
|
||||||
|
'kx' => '800400',
|
||||||
|
],
|
||||||
|
'algn' => 'br',
|
||||||
|
'rotWithShape' => '0',
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
|
return $presets_options[$shadow_presets_option];
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function getArrayElementsValue($properties, $elements)
|
||||||
|
{
|
||||||
|
$reference = &$properties;
|
||||||
|
if (!is_array($elements)) {
|
||||||
|
return $reference[$elements];
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($elements as $keys) {
|
||||||
|
$reference = &$reference[$keys];
|
||||||
|
}
|
||||||
|
|
||||||
|
return $reference;
|
||||||
|
}
|
||||||
|
}
|
||||||
24
PhpOffice/PhpSpreadsheet/Chart/Renderer/IRenderer.php
Normal file
24
PhpOffice/PhpSpreadsheet/Chart/Renderer/IRenderer.php
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Chart\Renderer;
|
||||||
|
|
||||||
|
use PhpOffice\PhpSpreadsheet\Chart\Chart;
|
||||||
|
|
||||||
|
interface IRenderer
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* IRenderer constructor.
|
||||||
|
*
|
||||||
|
* @param \PhpOffice\PhpSpreadsheet\Chart\Chart $chart
|
||||||
|
*/
|
||||||
|
public function __construct(Chart $chart);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Render the chart to given file (or stream).
|
||||||
|
*
|
||||||
|
* @param string $filename Name of the file render to
|
||||||
|
*
|
||||||
|
* @return bool true on success
|
||||||
|
*/
|
||||||
|
public function render($filename);
|
||||||
|
}
|
||||||
856
PhpOffice/PhpSpreadsheet/Chart/Renderer/JpGraph.php
Normal file
856
PhpOffice/PhpSpreadsheet/Chart/Renderer/JpGraph.php
Normal file
|
|
@ -0,0 +1,856 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Chart\Renderer;
|
||||||
|
|
||||||
|
use PhpOffice\PhpSpreadsheet\Chart\Chart;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
|
||||||
|
|
||||||
|
require_once __DIR__ . '/Polyfill.php';
|
||||||
|
|
||||||
|
class JpGraph implements IRenderer
|
||||||
|
{
|
||||||
|
private static $width = 640;
|
||||||
|
|
||||||
|
private static $height = 480;
|
||||||
|
|
||||||
|
private static $colourSet = [
|
||||||
|
'mediumpurple1', 'palegreen3', 'gold1', 'cadetblue1',
|
||||||
|
'darkmagenta', 'coral', 'dodgerblue3', 'eggplant',
|
||||||
|
'mediumblue', 'magenta', 'sandybrown', 'cyan',
|
||||||
|
'firebrick1', 'forestgreen', 'deeppink4', 'darkolivegreen',
|
||||||
|
'goldenrod2',
|
||||||
|
];
|
||||||
|
|
||||||
|
private static $markSet;
|
||||||
|
|
||||||
|
private $chart;
|
||||||
|
|
||||||
|
private $graph;
|
||||||
|
|
||||||
|
private static $plotColour = 0;
|
||||||
|
|
||||||
|
private static $plotMark = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new jpgraph.
|
||||||
|
*
|
||||||
|
* @param Chart $chart
|
||||||
|
*/
|
||||||
|
public function __construct(Chart $chart)
|
||||||
|
{
|
||||||
|
self::init();
|
||||||
|
$this->graph = null;
|
||||||
|
$this->chart = $chart;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static function init()
|
||||||
|
{
|
||||||
|
static $loaded = false;
|
||||||
|
if ($loaded) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
\JpGraph\JpGraph::load();
|
||||||
|
\JpGraph\JpGraph::module('bar');
|
||||||
|
\JpGraph\JpGraph::module('contour');
|
||||||
|
\JpGraph\JpGraph::module('line');
|
||||||
|
\JpGraph\JpGraph::module('pie');
|
||||||
|
\JpGraph\JpGraph::module('pie3d');
|
||||||
|
\JpGraph\JpGraph::module('radar');
|
||||||
|
\JpGraph\JpGraph::module('regstat');
|
||||||
|
\JpGraph\JpGraph::module('scatter');
|
||||||
|
\JpGraph\JpGraph::module('stock');
|
||||||
|
|
||||||
|
self::$markSet = [
|
||||||
|
'diamond' => MARK_DIAMOND,
|
||||||
|
'square' => MARK_SQUARE,
|
||||||
|
'triangle' => MARK_UTRIANGLE,
|
||||||
|
'x' => MARK_X,
|
||||||
|
'star' => MARK_STAR,
|
||||||
|
'dot' => MARK_FILLEDCIRCLE,
|
||||||
|
'dash' => MARK_DTRIANGLE,
|
||||||
|
'circle' => MARK_CIRCLE,
|
||||||
|
'plus' => MARK_CROSS,
|
||||||
|
];
|
||||||
|
|
||||||
|
$loaded = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private function formatPointMarker($seriesPlot, $markerID)
|
||||||
|
{
|
||||||
|
$plotMarkKeys = array_keys(self::$markSet);
|
||||||
|
if ($markerID === null) {
|
||||||
|
// Use default plot marker (next marker in the series)
|
||||||
|
self::$plotMark %= count(self::$markSet);
|
||||||
|
$seriesPlot->mark->SetType(self::$markSet[$plotMarkKeys[self::$plotMark++]]);
|
||||||
|
} elseif ($markerID !== 'none') {
|
||||||
|
// Use specified plot marker (if it exists)
|
||||||
|
if (isset(self::$markSet[$markerID])) {
|
||||||
|
$seriesPlot->mark->SetType(self::$markSet[$markerID]);
|
||||||
|
} else {
|
||||||
|
// If the specified plot marker doesn't exist, use default plot marker (next marker in the series)
|
||||||
|
self::$plotMark %= count(self::$markSet);
|
||||||
|
$seriesPlot->mark->SetType(self::$markSet[$plotMarkKeys[self::$plotMark++]]);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// Hide plot marker
|
||||||
|
$seriesPlot->mark->Hide();
|
||||||
|
}
|
||||||
|
$seriesPlot->mark->SetColor(self::$colourSet[self::$plotColour]);
|
||||||
|
$seriesPlot->mark->SetFillColor(self::$colourSet[self::$plotColour]);
|
||||||
|
$seriesPlot->SetColor(self::$colourSet[self::$plotColour++]);
|
||||||
|
|
||||||
|
return $seriesPlot;
|
||||||
|
}
|
||||||
|
|
||||||
|
private function formatDataSetLabels($groupID, $datasetLabels, $labelCount, $rotation = '')
|
||||||
|
{
|
||||||
|
$datasetLabelFormatCode = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotCategoryByIndex(0)->getFormatCode();
|
||||||
|
if ($datasetLabelFormatCode !== null) {
|
||||||
|
// Retrieve any label formatting code
|
||||||
|
$datasetLabelFormatCode = stripslashes($datasetLabelFormatCode);
|
||||||
|
}
|
||||||
|
|
||||||
|
$testCurrentIndex = 0;
|
||||||
|
foreach ($datasetLabels as $i => $datasetLabel) {
|
||||||
|
if (is_array($datasetLabel)) {
|
||||||
|
if ($rotation == 'bar') {
|
||||||
|
$datasetLabels[$i] = implode(' ', $datasetLabel);
|
||||||
|
} else {
|
||||||
|
$datasetLabel = array_reverse($datasetLabel);
|
||||||
|
$datasetLabels[$i] = implode("\n", $datasetLabel);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// Format labels according to any formatting code
|
||||||
|
if ($datasetLabelFormatCode !== null) {
|
||||||
|
$datasetLabels[$i] = NumberFormat::toFormattedString($datasetLabel, $datasetLabelFormatCode);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
++$testCurrentIndex;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $datasetLabels;
|
||||||
|
}
|
||||||
|
|
||||||
|
private function percentageSumCalculation($groupID, $seriesCount)
|
||||||
|
{
|
||||||
|
$sumValues = [];
|
||||||
|
// Adjust our values to a percentage value across all series in the group
|
||||||
|
for ($i = 0; $i < $seriesCount; ++$i) {
|
||||||
|
if ($i == 0) {
|
||||||
|
$sumValues = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getDataValues();
|
||||||
|
} else {
|
||||||
|
$nextValues = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getDataValues();
|
||||||
|
foreach ($nextValues as $k => $value) {
|
||||||
|
if (isset($sumValues[$k])) {
|
||||||
|
$sumValues[$k] += $value;
|
||||||
|
} else {
|
||||||
|
$sumValues[$k] = $value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $sumValues;
|
||||||
|
}
|
||||||
|
|
||||||
|
private function percentageAdjustValues($dataValues, $sumValues)
|
||||||
|
{
|
||||||
|
foreach ($dataValues as $k => $dataValue) {
|
||||||
|
$dataValues[$k] = $dataValue / $sumValues[$k] * 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $dataValues;
|
||||||
|
}
|
||||||
|
|
||||||
|
private function getCaption($captionElement)
|
||||||
|
{
|
||||||
|
// Read any caption
|
||||||
|
$caption = ($captionElement !== null) ? $captionElement->getCaption() : null;
|
||||||
|
// Test if we have a title caption to display
|
||||||
|
if ($caption !== null) {
|
||||||
|
// If we do, it could be a plain string or an array
|
||||||
|
if (is_array($caption)) {
|
||||||
|
// Implode an array to a plain string
|
||||||
|
$caption = implode('', $caption);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $caption;
|
||||||
|
}
|
||||||
|
|
||||||
|
private function renderTitle()
|
||||||
|
{
|
||||||
|
$title = $this->getCaption($this->chart->getTitle());
|
||||||
|
if ($title !== null) {
|
||||||
|
$this->graph->title->Set($title);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private function renderLegend()
|
||||||
|
{
|
||||||
|
$legend = $this->chart->getLegend();
|
||||||
|
if ($legend !== null) {
|
||||||
|
$legendPosition = $legend->getPosition();
|
||||||
|
switch ($legendPosition) {
|
||||||
|
case 'r':
|
||||||
|
$this->graph->legend->SetPos(0.01, 0.5, 'right', 'center'); // right
|
||||||
|
$this->graph->legend->SetColumns(1);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'l':
|
||||||
|
$this->graph->legend->SetPos(0.01, 0.5, 'left', 'center'); // left
|
||||||
|
$this->graph->legend->SetColumns(1);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 't':
|
||||||
|
$this->graph->legend->SetPos(0.5, 0.01, 'center', 'top'); // top
|
||||||
|
break;
|
||||||
|
case 'b':
|
||||||
|
$this->graph->legend->SetPos(0.5, 0.99, 'center', 'bottom'); // bottom
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
$this->graph->legend->SetPos(0.01, 0.01, 'right', 'top'); // top-right
|
||||||
|
$this->graph->legend->SetColumns(1);
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$this->graph->legend->Hide();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private function renderCartesianPlotArea($type = 'textlin')
|
||||||
|
{
|
||||||
|
$this->graph = new \Graph(self::$width, self::$height);
|
||||||
|
$this->graph->SetScale($type);
|
||||||
|
|
||||||
|
$this->renderTitle();
|
||||||
|
|
||||||
|
// Rotate for bar rather than column chart
|
||||||
|
$rotation = $this->chart->getPlotArea()->getPlotGroupByIndex(0)->getPlotDirection();
|
||||||
|
$reverse = $rotation == 'bar';
|
||||||
|
|
||||||
|
$xAxisLabel = $this->chart->getXAxisLabel();
|
||||||
|
if ($xAxisLabel !== null) {
|
||||||
|
$title = $this->getCaption($xAxisLabel);
|
||||||
|
if ($title !== null) {
|
||||||
|
$this->graph->xaxis->SetTitle($title, 'center');
|
||||||
|
$this->graph->xaxis->title->SetMargin(35);
|
||||||
|
if ($reverse) {
|
||||||
|
$this->graph->xaxis->title->SetAngle(90);
|
||||||
|
$this->graph->xaxis->title->SetMargin(90);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$yAxisLabel = $this->chart->getYAxisLabel();
|
||||||
|
if ($yAxisLabel !== null) {
|
||||||
|
$title = $this->getCaption($yAxisLabel);
|
||||||
|
if ($title !== null) {
|
||||||
|
$this->graph->yaxis->SetTitle($title, 'center');
|
||||||
|
if ($reverse) {
|
||||||
|
$this->graph->yaxis->title->SetAngle(0);
|
||||||
|
$this->graph->yaxis->title->SetMargin(-55);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private function renderPiePlotArea()
|
||||||
|
{
|
||||||
|
$this->graph = new \PieGraph(self::$width, self::$height);
|
||||||
|
|
||||||
|
$this->renderTitle();
|
||||||
|
}
|
||||||
|
|
||||||
|
private function renderRadarPlotArea()
|
||||||
|
{
|
||||||
|
$this->graph = new \RadarGraph(self::$width, self::$height);
|
||||||
|
$this->graph->SetScale('lin');
|
||||||
|
|
||||||
|
$this->renderTitle();
|
||||||
|
}
|
||||||
|
|
||||||
|
private function renderPlotLine($groupID, $filled = false, $combination = false, $dimensions = '2d')
|
||||||
|
{
|
||||||
|
$grouping = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotGrouping();
|
||||||
|
|
||||||
|
$labelCount = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex(0)->getPointCount();
|
||||||
|
if ($labelCount > 0) {
|
||||||
|
$datasetLabels = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotCategoryByIndex(0)->getDataValues();
|
||||||
|
$datasetLabels = $this->formatDataSetLabels($groupID, $datasetLabels, $labelCount);
|
||||||
|
$this->graph->xaxis->SetTickLabels($datasetLabels);
|
||||||
|
}
|
||||||
|
|
||||||
|
$seriesCount = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotSeriesCount();
|
||||||
|
$seriesPlots = [];
|
||||||
|
if ($grouping == 'percentStacked') {
|
||||||
|
$sumValues = $this->percentageSumCalculation($groupID, $seriesCount);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Loop through each data series in turn
|
||||||
|
for ($i = 0; $i < $seriesCount; ++$i) {
|
||||||
|
$dataValues = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getDataValues();
|
||||||
|
$marker = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getPointMarker();
|
||||||
|
|
||||||
|
if ($grouping == 'percentStacked') {
|
||||||
|
$dataValues = $this->percentageAdjustValues($dataValues, $sumValues);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fill in any missing values in the $dataValues array
|
||||||
|
$testCurrentIndex = 0;
|
||||||
|
foreach ($dataValues as $k => $dataValue) {
|
||||||
|
while ($k != $testCurrentIndex) {
|
||||||
|
$dataValues[$testCurrentIndex] = null;
|
||||||
|
++$testCurrentIndex;
|
||||||
|
}
|
||||||
|
++$testCurrentIndex;
|
||||||
|
}
|
||||||
|
|
||||||
|
$seriesPlot = new \LinePlot($dataValues);
|
||||||
|
if ($combination) {
|
||||||
|
$seriesPlot->SetBarCenter();
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($filled) {
|
||||||
|
$seriesPlot->SetFilled(true);
|
||||||
|
$seriesPlot->SetColor('black');
|
||||||
|
$seriesPlot->SetFillColor(self::$colourSet[self::$plotColour++]);
|
||||||
|
} else {
|
||||||
|
// Set the appropriate plot marker
|
||||||
|
$this->formatPointMarker($seriesPlot, $marker);
|
||||||
|
}
|
||||||
|
$dataLabel = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotLabelByIndex($i)->getDataValue();
|
||||||
|
$seriesPlot->SetLegend($dataLabel);
|
||||||
|
|
||||||
|
$seriesPlots[] = $seriesPlot;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($grouping == 'standard') {
|
||||||
|
$groupPlot = $seriesPlots;
|
||||||
|
} else {
|
||||||
|
$groupPlot = new \AccLinePlot($seriesPlots);
|
||||||
|
}
|
||||||
|
$this->graph->Add($groupPlot);
|
||||||
|
}
|
||||||
|
|
||||||
|
private function renderPlotBar($groupID, $dimensions = '2d')
|
||||||
|
{
|
||||||
|
$rotation = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotDirection();
|
||||||
|
// Rotate for bar rather than column chart
|
||||||
|
if (($groupID == 0) && ($rotation == 'bar')) {
|
||||||
|
$this->graph->Set90AndMargin();
|
||||||
|
}
|
||||||
|
$grouping = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotGrouping();
|
||||||
|
|
||||||
|
$labelCount = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex(0)->getPointCount();
|
||||||
|
if ($labelCount > 0) {
|
||||||
|
$datasetLabels = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotCategoryByIndex(0)->getDataValues();
|
||||||
|
$datasetLabels = $this->formatDataSetLabels($groupID, $datasetLabels, $labelCount, $rotation);
|
||||||
|
// Rotate for bar rather than column chart
|
||||||
|
if ($rotation == 'bar') {
|
||||||
|
$datasetLabels = array_reverse($datasetLabels);
|
||||||
|
$this->graph->yaxis->SetPos('max');
|
||||||
|
$this->graph->yaxis->SetLabelAlign('center', 'top');
|
||||||
|
$this->graph->yaxis->SetLabelSide(SIDE_RIGHT);
|
||||||
|
}
|
||||||
|
$this->graph->xaxis->SetTickLabels($datasetLabels);
|
||||||
|
}
|
||||||
|
|
||||||
|
$seriesCount = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotSeriesCount();
|
||||||
|
$seriesPlots = [];
|
||||||
|
if ($grouping == 'percentStacked') {
|
||||||
|
$sumValues = $this->percentageSumCalculation($groupID, $seriesCount);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Loop through each data series in turn
|
||||||
|
for ($j = 0; $j < $seriesCount; ++$j) {
|
||||||
|
$dataValues = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($j)->getDataValues();
|
||||||
|
if ($grouping == 'percentStacked') {
|
||||||
|
$dataValues = $this->percentageAdjustValues($dataValues, $sumValues);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fill in any missing values in the $dataValues array
|
||||||
|
$testCurrentIndex = 0;
|
||||||
|
foreach ($dataValues as $k => $dataValue) {
|
||||||
|
while ($k != $testCurrentIndex) {
|
||||||
|
$dataValues[$testCurrentIndex] = null;
|
||||||
|
++$testCurrentIndex;
|
||||||
|
}
|
||||||
|
++$testCurrentIndex;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Reverse the $dataValues order for bar rather than column chart
|
||||||
|
if ($rotation == 'bar') {
|
||||||
|
$dataValues = array_reverse($dataValues);
|
||||||
|
}
|
||||||
|
$seriesPlot = new \BarPlot($dataValues);
|
||||||
|
$seriesPlot->SetColor('black');
|
||||||
|
$seriesPlot->SetFillColor(self::$colourSet[self::$plotColour++]);
|
||||||
|
if ($dimensions == '3d') {
|
||||||
|
$seriesPlot->SetShadow();
|
||||||
|
}
|
||||||
|
if (!$this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotLabelByIndex($j)) {
|
||||||
|
$dataLabel = '';
|
||||||
|
} else {
|
||||||
|
$dataLabel = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotLabelByIndex($j)->getDataValue();
|
||||||
|
}
|
||||||
|
$seriesPlot->SetLegend($dataLabel);
|
||||||
|
|
||||||
|
$seriesPlots[] = $seriesPlot;
|
||||||
|
}
|
||||||
|
// Reverse the plot order for bar rather than column chart
|
||||||
|
if (($rotation == 'bar') && ($grouping != 'percentStacked')) {
|
||||||
|
$seriesPlots = array_reverse($seriesPlots);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($grouping == 'clustered') {
|
||||||
|
$groupPlot = new \GroupBarPlot($seriesPlots);
|
||||||
|
} elseif ($grouping == 'standard') {
|
||||||
|
$groupPlot = new \GroupBarPlot($seriesPlots);
|
||||||
|
} else {
|
||||||
|
$groupPlot = new \AccBarPlot($seriesPlots);
|
||||||
|
if ($dimensions == '3d') {
|
||||||
|
$groupPlot->SetShadow();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->graph->Add($groupPlot);
|
||||||
|
}
|
||||||
|
|
||||||
|
private function renderPlotScatter($groupID, $bubble)
|
||||||
|
{
|
||||||
|
$grouping = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotGrouping();
|
||||||
|
$scatterStyle = $bubbleSize = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotStyle();
|
||||||
|
|
||||||
|
$seriesCount = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotSeriesCount();
|
||||||
|
$seriesPlots = [];
|
||||||
|
|
||||||
|
// Loop through each data series in turn
|
||||||
|
for ($i = 0; $i < $seriesCount; ++$i) {
|
||||||
|
$dataValuesY = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotCategoryByIndex($i)->getDataValues();
|
||||||
|
$dataValuesX = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getDataValues();
|
||||||
|
|
||||||
|
foreach ($dataValuesY as $k => $dataValueY) {
|
||||||
|
$dataValuesY[$k] = $k;
|
||||||
|
}
|
||||||
|
|
||||||
|
$seriesPlot = new \ScatterPlot($dataValuesX, $dataValuesY);
|
||||||
|
if ($scatterStyle == 'lineMarker') {
|
||||||
|
$seriesPlot->SetLinkPoints();
|
||||||
|
$seriesPlot->link->SetColor(self::$colourSet[self::$plotColour]);
|
||||||
|
} elseif ($scatterStyle == 'smoothMarker') {
|
||||||
|
$spline = new \Spline($dataValuesY, $dataValuesX);
|
||||||
|
[$splineDataY, $splineDataX] = $spline->Get(count($dataValuesX) * self::$width / 20);
|
||||||
|
$lplot = new \LinePlot($splineDataX, $splineDataY);
|
||||||
|
$lplot->SetColor(self::$colourSet[self::$plotColour]);
|
||||||
|
|
||||||
|
$this->graph->Add($lplot);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($bubble) {
|
||||||
|
$this->formatPointMarker($seriesPlot, 'dot');
|
||||||
|
$seriesPlot->mark->SetColor('black');
|
||||||
|
$seriesPlot->mark->SetSize($bubbleSize);
|
||||||
|
} else {
|
||||||
|
$marker = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getPointMarker();
|
||||||
|
$this->formatPointMarker($seriesPlot, $marker);
|
||||||
|
}
|
||||||
|
$dataLabel = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotLabelByIndex($i)->getDataValue();
|
||||||
|
$seriesPlot->SetLegend($dataLabel);
|
||||||
|
|
||||||
|
$this->graph->Add($seriesPlot);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private function renderPlotRadar($groupID)
|
||||||
|
{
|
||||||
|
$radarStyle = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotStyle();
|
||||||
|
|
||||||
|
$seriesCount = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotSeriesCount();
|
||||||
|
$seriesPlots = [];
|
||||||
|
|
||||||
|
// Loop through each data series in turn
|
||||||
|
for ($i = 0; $i < $seriesCount; ++$i) {
|
||||||
|
$dataValuesY = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotCategoryByIndex($i)->getDataValues();
|
||||||
|
$dataValuesX = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getDataValues();
|
||||||
|
$marker = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getPointMarker();
|
||||||
|
|
||||||
|
$dataValues = [];
|
||||||
|
foreach ($dataValuesY as $k => $dataValueY) {
|
||||||
|
$dataValues[$k] = implode(' ', array_reverse($dataValueY));
|
||||||
|
}
|
||||||
|
$tmp = array_shift($dataValues);
|
||||||
|
$dataValues[] = $tmp;
|
||||||
|
$tmp = array_shift($dataValuesX);
|
||||||
|
$dataValuesX[] = $tmp;
|
||||||
|
|
||||||
|
$this->graph->SetTitles(array_reverse($dataValues));
|
||||||
|
|
||||||
|
$seriesPlot = new \RadarPlot(array_reverse($dataValuesX));
|
||||||
|
|
||||||
|
$dataLabel = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotLabelByIndex($i)->getDataValue();
|
||||||
|
$seriesPlot->SetColor(self::$colourSet[self::$plotColour++]);
|
||||||
|
if ($radarStyle == 'filled') {
|
||||||
|
$seriesPlot->SetFillColor(self::$colourSet[self::$plotColour]);
|
||||||
|
}
|
||||||
|
$this->formatPointMarker($seriesPlot, $marker);
|
||||||
|
$seriesPlot->SetLegend($dataLabel);
|
||||||
|
|
||||||
|
$this->graph->Add($seriesPlot);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private function renderPlotContour($groupID)
|
||||||
|
{
|
||||||
|
$contourStyle = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotStyle();
|
||||||
|
|
||||||
|
$seriesCount = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotSeriesCount();
|
||||||
|
$seriesPlots = [];
|
||||||
|
|
||||||
|
$dataValues = [];
|
||||||
|
// Loop through each data series in turn
|
||||||
|
for ($i = 0; $i < $seriesCount; ++$i) {
|
||||||
|
$dataValuesY = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotCategoryByIndex($i)->getDataValues();
|
||||||
|
$dataValuesX = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getDataValues();
|
||||||
|
|
||||||
|
$dataValues[$i] = $dataValuesX;
|
||||||
|
}
|
||||||
|
$seriesPlot = new \ContourPlot($dataValues);
|
||||||
|
|
||||||
|
$this->graph->Add($seriesPlot);
|
||||||
|
}
|
||||||
|
|
||||||
|
private function renderPlotStock($groupID)
|
||||||
|
{
|
||||||
|
$seriesCount = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotSeriesCount();
|
||||||
|
$plotOrder = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotOrder();
|
||||||
|
|
||||||
|
$dataValues = [];
|
||||||
|
// Loop through each data series in turn and build the plot arrays
|
||||||
|
foreach ($plotOrder as $i => $v) {
|
||||||
|
$dataValuesX = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($v)->getDataValues();
|
||||||
|
foreach ($dataValuesX as $j => $dataValueX) {
|
||||||
|
$dataValues[$plotOrder[$i]][$j] = $dataValueX;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (empty($dataValues)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$dataValuesPlot = [];
|
||||||
|
// Flatten the plot arrays to a single dimensional array to work with jpgraph
|
||||||
|
$jMax = count($dataValues[0]);
|
||||||
|
for ($j = 0; $j < $jMax; ++$j) {
|
||||||
|
for ($i = 0; $i < $seriesCount; ++$i) {
|
||||||
|
$dataValuesPlot[] = $dataValues[$i][$j];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set the x-axis labels
|
||||||
|
$labelCount = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex(0)->getPointCount();
|
||||||
|
if ($labelCount > 0) {
|
||||||
|
$datasetLabels = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotCategoryByIndex(0)->getDataValues();
|
||||||
|
$datasetLabels = $this->formatDataSetLabels($groupID, $datasetLabels, $labelCount);
|
||||||
|
$this->graph->xaxis->SetTickLabels($datasetLabels);
|
||||||
|
}
|
||||||
|
|
||||||
|
$seriesPlot = new \StockPlot($dataValuesPlot);
|
||||||
|
$seriesPlot->SetWidth(20);
|
||||||
|
|
||||||
|
$this->graph->Add($seriesPlot);
|
||||||
|
}
|
||||||
|
|
||||||
|
private function renderAreaChart($groupCount, $dimensions = '2d')
|
||||||
|
{
|
||||||
|
$this->renderCartesianPlotArea();
|
||||||
|
|
||||||
|
for ($i = 0; $i < $groupCount; ++$i) {
|
||||||
|
$this->renderPlotLine($i, true, false, $dimensions);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private function renderLineChart($groupCount, $dimensions = '2d')
|
||||||
|
{
|
||||||
|
$this->renderCartesianPlotArea();
|
||||||
|
|
||||||
|
for ($i = 0; $i < $groupCount; ++$i) {
|
||||||
|
$this->renderPlotLine($i, false, false, $dimensions);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private function renderBarChart($groupCount, $dimensions = '2d')
|
||||||
|
{
|
||||||
|
$this->renderCartesianPlotArea();
|
||||||
|
|
||||||
|
for ($i = 0; $i < $groupCount; ++$i) {
|
||||||
|
$this->renderPlotBar($i, $dimensions);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private function renderScatterChart($groupCount)
|
||||||
|
{
|
||||||
|
$this->renderCartesianPlotArea('linlin');
|
||||||
|
|
||||||
|
for ($i = 0; $i < $groupCount; ++$i) {
|
||||||
|
$this->renderPlotScatter($i, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private function renderBubbleChart($groupCount)
|
||||||
|
{
|
||||||
|
$this->renderCartesianPlotArea('linlin');
|
||||||
|
|
||||||
|
for ($i = 0; $i < $groupCount; ++$i) {
|
||||||
|
$this->renderPlotScatter($i, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private function renderPieChart($groupCount, $dimensions = '2d', $doughnut = false, $multiplePlots = false)
|
||||||
|
{
|
||||||
|
$this->renderPiePlotArea();
|
||||||
|
|
||||||
|
$iLimit = ($multiplePlots) ? $groupCount : 1;
|
||||||
|
for ($groupID = 0; $groupID < $iLimit; ++$groupID) {
|
||||||
|
$grouping = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotGrouping();
|
||||||
|
$exploded = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotStyle();
|
||||||
|
$datasetLabels = [];
|
||||||
|
if ($groupID == 0) {
|
||||||
|
$labelCount = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex(0)->getPointCount();
|
||||||
|
if ($labelCount > 0) {
|
||||||
|
$datasetLabels = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotCategoryByIndex(0)->getDataValues();
|
||||||
|
$datasetLabels = $this->formatDataSetLabels($groupID, $datasetLabels, $labelCount);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$seriesCount = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotSeriesCount();
|
||||||
|
$seriesPlots = [];
|
||||||
|
// For pie charts, we only display the first series: doughnut charts generally display all series
|
||||||
|
$jLimit = ($multiplePlots) ? $seriesCount : 1;
|
||||||
|
// Loop through each data series in turn
|
||||||
|
for ($j = 0; $j < $jLimit; ++$j) {
|
||||||
|
$dataValues = $this->chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($j)->getDataValues();
|
||||||
|
|
||||||
|
// Fill in any missing values in the $dataValues array
|
||||||
|
$testCurrentIndex = 0;
|
||||||
|
foreach ($dataValues as $k => $dataValue) {
|
||||||
|
while ($k != $testCurrentIndex) {
|
||||||
|
$dataValues[$testCurrentIndex] = null;
|
||||||
|
++$testCurrentIndex;
|
||||||
|
}
|
||||||
|
++$testCurrentIndex;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($dimensions == '3d') {
|
||||||
|
$seriesPlot = new \PiePlot3D($dataValues);
|
||||||
|
} else {
|
||||||
|
if ($doughnut) {
|
||||||
|
$seriesPlot = new \PiePlotC($dataValues);
|
||||||
|
} else {
|
||||||
|
$seriesPlot = new \PiePlot($dataValues);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($multiplePlots) {
|
||||||
|
$seriesPlot->SetSize(($jLimit - $j) / ($jLimit * 4));
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($doughnut) {
|
||||||
|
$seriesPlot->SetMidColor('white');
|
||||||
|
}
|
||||||
|
|
||||||
|
$seriesPlot->SetColor(self::$colourSet[self::$plotColour++]);
|
||||||
|
if (count($datasetLabels) > 0) {
|
||||||
|
$seriesPlot->SetLabels(array_fill(0, count($datasetLabels), ''));
|
||||||
|
}
|
||||||
|
if ($dimensions != '3d') {
|
||||||
|
$seriesPlot->SetGuideLines(false);
|
||||||
|
}
|
||||||
|
if ($j == 0) {
|
||||||
|
if ($exploded) {
|
||||||
|
$seriesPlot->ExplodeAll();
|
||||||
|
}
|
||||||
|
$seriesPlot->SetLegends($datasetLabels);
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->graph->Add($seriesPlot);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private function renderRadarChart($groupCount)
|
||||||
|
{
|
||||||
|
$this->renderRadarPlotArea();
|
||||||
|
|
||||||
|
for ($groupID = 0; $groupID < $groupCount; ++$groupID) {
|
||||||
|
$this->renderPlotRadar($groupID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private function renderStockChart($groupCount)
|
||||||
|
{
|
||||||
|
$this->renderCartesianPlotArea('intint');
|
||||||
|
|
||||||
|
for ($groupID = 0; $groupID < $groupCount; ++$groupID) {
|
||||||
|
$this->renderPlotStock($groupID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private function renderContourChart($groupCount, $dimensions)
|
||||||
|
{
|
||||||
|
$this->renderCartesianPlotArea('intint');
|
||||||
|
|
||||||
|
for ($i = 0; $i < $groupCount; ++$i) {
|
||||||
|
$this->renderPlotContour($i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private function renderCombinationChart($groupCount, $dimensions, $outputDestination)
|
||||||
|
{
|
||||||
|
$this->renderCartesianPlotArea();
|
||||||
|
|
||||||
|
for ($i = 0; $i < $groupCount; ++$i) {
|
||||||
|
$dimensions = null;
|
||||||
|
$chartType = $this->chart->getPlotArea()->getPlotGroupByIndex($i)->getPlotType();
|
||||||
|
switch ($chartType) {
|
||||||
|
case 'area3DChart':
|
||||||
|
$dimensions = '3d';
|
||||||
|
// no break
|
||||||
|
case 'areaChart':
|
||||||
|
$this->renderPlotLine($i, true, true, $dimensions);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'bar3DChart':
|
||||||
|
$dimensions = '3d';
|
||||||
|
// no break
|
||||||
|
case 'barChart':
|
||||||
|
$this->renderPlotBar($i, $dimensions);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'line3DChart':
|
||||||
|
$dimensions = '3d';
|
||||||
|
// no break
|
||||||
|
case 'lineChart':
|
||||||
|
$this->renderPlotLine($i, false, true, $dimensions);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'scatterChart':
|
||||||
|
$this->renderPlotScatter($i, false);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'bubbleChart':
|
||||||
|
$this->renderPlotScatter($i, true);
|
||||||
|
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
$this->graph = null;
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->renderLegend();
|
||||||
|
|
||||||
|
$this->graph->Stroke($outputDestination);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function render($outputDestination)
|
||||||
|
{
|
||||||
|
self::$plotColour = 0;
|
||||||
|
|
||||||
|
$groupCount = $this->chart->getPlotArea()->getPlotGroupCount();
|
||||||
|
|
||||||
|
$dimensions = null;
|
||||||
|
if ($groupCount == 1) {
|
||||||
|
$chartType = $this->chart->getPlotArea()->getPlotGroupByIndex(0)->getPlotType();
|
||||||
|
} else {
|
||||||
|
$chartTypes = [];
|
||||||
|
for ($i = 0; $i < $groupCount; ++$i) {
|
||||||
|
$chartTypes[] = $this->chart->getPlotArea()->getPlotGroupByIndex($i)->getPlotType();
|
||||||
|
}
|
||||||
|
$chartTypes = array_unique($chartTypes);
|
||||||
|
if (count($chartTypes) == 1) {
|
||||||
|
$chartType = array_pop($chartTypes);
|
||||||
|
} elseif (count($chartTypes) == 0) {
|
||||||
|
echo 'Chart is not yet implemented<br />';
|
||||||
|
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
return $this->renderCombinationChart($groupCount, $dimensions, $outputDestination);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
switch ($chartType) {
|
||||||
|
case 'area3DChart':
|
||||||
|
$dimensions = '3d';
|
||||||
|
// no break
|
||||||
|
case 'areaChart':
|
||||||
|
$this->renderAreaChart($groupCount, $dimensions);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'bar3DChart':
|
||||||
|
$dimensions = '3d';
|
||||||
|
// no break
|
||||||
|
case 'barChart':
|
||||||
|
$this->renderBarChart($groupCount, $dimensions);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'line3DChart':
|
||||||
|
$dimensions = '3d';
|
||||||
|
// no break
|
||||||
|
case 'lineChart':
|
||||||
|
$this->renderLineChart($groupCount, $dimensions);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'pie3DChart':
|
||||||
|
$dimensions = '3d';
|
||||||
|
// no break
|
||||||
|
case 'pieChart':
|
||||||
|
$this->renderPieChart($groupCount, $dimensions, false, false);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'doughnut3DChart':
|
||||||
|
$dimensions = '3d';
|
||||||
|
// no break
|
||||||
|
case 'doughnutChart':
|
||||||
|
$this->renderPieChart($groupCount, $dimensions, true, true);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'scatterChart':
|
||||||
|
$this->renderScatterChart($groupCount);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'bubbleChart':
|
||||||
|
$this->renderBubbleChart($groupCount);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'radarChart':
|
||||||
|
$this->renderRadarChart($groupCount);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'surface3DChart':
|
||||||
|
$dimensions = '3d';
|
||||||
|
// no break
|
||||||
|
case 'surfaceChart':
|
||||||
|
$this->renderContourChart($groupCount, $dimensions);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'stockChart':
|
||||||
|
$this->renderStockChart($groupCount);
|
||||||
|
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
echo $chartType . ' is not yet implemented<br />';
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
$this->renderLegend();
|
||||||
|
|
||||||
|
$this->graph->Stroke($outputDestination);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
ChartDirector
|
||||||
|
https://www.advsofteng.com/cdphp.html
|
||||||
|
|
||||||
|
GraPHPite
|
||||||
|
http://graphpite.sourceforge.net/
|
||||||
|
|
||||||
|
JpGraph
|
||||||
|
http://www.aditus.nu/jpgraph/
|
||||||
|
|
||||||
|
LibChart
|
||||||
|
https://naku.dohcrew.com/libchart/pages/introduction/
|
||||||
|
|
||||||
|
pChart
|
||||||
|
http://pchart.sourceforge.net/
|
||||||
|
|
||||||
|
TeeChart
|
||||||
|
https://www.steema.com/
|
||||||
|
|
||||||
|
PHPGraphLib
|
||||||
|
http://www.ebrueggeman.com/phpgraphlib
|
||||||
9
PhpOffice/PhpSpreadsheet/Chart/Renderer/Polyfill.php
Normal file
9
PhpOffice/PhpSpreadsheet/Chart/Renderer/Polyfill.php
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
// This is a dirty workaround to output JpGraph charts even when antialiasing is not available
|
||||||
|
if (!function_exists('imageantialias')) {
|
||||||
|
function imageantialias(...$args)
|
||||||
|
{
|
||||||
|
// Do nothing
|
||||||
|
}
|
||||||
|
}
|
||||||
66
PhpOffice/PhpSpreadsheet/Chart/Title.php
Normal file
66
PhpOffice/PhpSpreadsheet/Chart/Title.php
Normal file
|
|
@ -0,0 +1,66 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Chart;
|
||||||
|
|
||||||
|
class Title
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Title Caption.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $caption;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Title Layout.
|
||||||
|
*
|
||||||
|
* @var Layout
|
||||||
|
*/
|
||||||
|
private $layout;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new Title.
|
||||||
|
*
|
||||||
|
* @param null|mixed $caption
|
||||||
|
* @param null|Layout $layout
|
||||||
|
*/
|
||||||
|
public function __construct($caption = null, Layout $layout = null)
|
||||||
|
{
|
||||||
|
$this->caption = $caption;
|
||||||
|
$this->layout = $layout;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get caption.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getCaption()
|
||||||
|
{
|
||||||
|
return $this->caption;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set caption.
|
||||||
|
*
|
||||||
|
* @param string $caption
|
||||||
|
*
|
||||||
|
* @return Title
|
||||||
|
*/
|
||||||
|
public function setCaption($caption)
|
||||||
|
{
|
||||||
|
$this->caption = $caption;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Layout.
|
||||||
|
*
|
||||||
|
* @return Layout
|
||||||
|
*/
|
||||||
|
public function getLayout()
|
||||||
|
{
|
||||||
|
return $this->layout;
|
||||||
|
}
|
||||||
|
}
|
||||||
504
PhpOffice/PhpSpreadsheet/Collection/Cells.php
Normal file
504
PhpOffice/PhpSpreadsheet/Collection/Cells.php
Normal file
|
|
@ -0,0 +1,504 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Collection;
|
||||||
|
|
||||||
|
use PhpOffice\PhpSpreadsheet\Cell\Cell;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Cell\Coordinate;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Exception as PhpSpreadsheetException;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
|
||||||
|
|
||||||
|
class Cells
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
*/
|
||||||
|
private $cache;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Parent worksheet.
|
||||||
|
*
|
||||||
|
* @var Worksheet
|
||||||
|
*/
|
||||||
|
private $parent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The currently active Cell.
|
||||||
|
*
|
||||||
|
* @var Cell
|
||||||
|
*/
|
||||||
|
private $currentCell;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Coordinate of the currently active Cell.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $currentCoordinate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Flag indicating whether the currently active Cell requires saving.
|
||||||
|
*
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
private $currentCellIsDirty = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An index of existing cells. Booleans indexed by their coordinate.
|
||||||
|
*
|
||||||
|
* @var bool[]
|
||||||
|
*/
|
||||||
|
private $index = [];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Prefix used to uniquely identify cache data for this worksheet.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $cachePrefix;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initialise this new cell collection.
|
||||||
|
*
|
||||||
|
* @param Worksheet $parent The worksheet for this cell collection
|
||||||
|
* @param CacheInterface $cache
|
||||||
|
*/
|
||||||
|
public function __construct(Worksheet $parent, $cache)
|
||||||
|
{
|
||||||
|
// Set our parent worksheet.
|
||||||
|
// This is maintained here to facilitate re-attaching it to Cell objects when
|
||||||
|
// they are woken from a serialized state
|
||||||
|
$this->parent = $parent;
|
||||||
|
$this->cache = $cache;
|
||||||
|
$this->cachePrefix = $this->getUniqueID();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the parent worksheet for this cell collection.
|
||||||
|
*
|
||||||
|
* @return Worksheet
|
||||||
|
*/
|
||||||
|
public function getParent()
|
||||||
|
{
|
||||||
|
return $this->parent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether the collection holds a cell for the given coordinate.
|
||||||
|
*
|
||||||
|
* @param string $pCoord Coordinate of the cell to check
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function has($pCoord)
|
||||||
|
{
|
||||||
|
if ($pCoord === $this->currentCoordinate) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check if the requested entry exists in the index
|
||||||
|
return isset($this->index[$pCoord]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add or update a cell in the collection.
|
||||||
|
*
|
||||||
|
* @param Cell $cell Cell to update
|
||||||
|
*
|
||||||
|
* @throws PhpSpreadsheetException
|
||||||
|
*
|
||||||
|
* @return Cell
|
||||||
|
*/
|
||||||
|
public function update(Cell $cell)
|
||||||
|
{
|
||||||
|
return $this->add($cell->getCoordinate(), $cell);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Delete a cell in cache identified by coordinate.
|
||||||
|
*
|
||||||
|
* @param string $pCoord Coordinate of the cell to delete
|
||||||
|
*/
|
||||||
|
public function delete($pCoord)
|
||||||
|
{
|
||||||
|
if ($pCoord === $this->currentCoordinate && $this->currentCell !== null) {
|
||||||
|
$this->currentCell->detach();
|
||||||
|
$this->currentCoordinate = null;
|
||||||
|
$this->currentCell = null;
|
||||||
|
$this->currentCellIsDirty = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
unset($this->index[$pCoord]);
|
||||||
|
|
||||||
|
// Delete the entry from cache
|
||||||
|
$this->cache->delete($this->cachePrefix . $pCoord);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a list of all cell coordinates currently held in the collection.
|
||||||
|
*
|
||||||
|
* @return string[]
|
||||||
|
*/
|
||||||
|
public function getCoordinates()
|
||||||
|
{
|
||||||
|
return array_keys($this->index);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a sorted list of all cell coordinates currently held in the collection by row and column.
|
||||||
|
*
|
||||||
|
* @return string[]
|
||||||
|
*/
|
||||||
|
public function getSortedCoordinates()
|
||||||
|
{
|
||||||
|
$sortKeys = [];
|
||||||
|
foreach ($this->getCoordinates() as $coord) {
|
||||||
|
$column = '';
|
||||||
|
$row = 0;
|
||||||
|
sscanf($coord, '%[A-Z]%d', $column, $row);
|
||||||
|
$sortKeys[sprintf('%09d%3s', $row, $column)] = $coord;
|
||||||
|
}
|
||||||
|
ksort($sortKeys);
|
||||||
|
|
||||||
|
return array_values($sortKeys);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get highest worksheet column and highest row that have cell records.
|
||||||
|
*
|
||||||
|
* @return array Highest column name and highest row number
|
||||||
|
*/
|
||||||
|
public function getHighestRowAndColumn()
|
||||||
|
{
|
||||||
|
// Lookup highest column and highest row
|
||||||
|
$col = ['A' => '1A'];
|
||||||
|
$row = [1];
|
||||||
|
foreach ($this->getCoordinates() as $coord) {
|
||||||
|
$c = '';
|
||||||
|
$r = 0;
|
||||||
|
sscanf($coord, '%[A-Z]%d', $c, $r);
|
||||||
|
$row[$r] = $r;
|
||||||
|
$col[$c] = strlen($c) . $c;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Determine highest column and row
|
||||||
|
$highestRow = max($row);
|
||||||
|
$highestColumn = substr(max($col), 1);
|
||||||
|
|
||||||
|
return [
|
||||||
|
'row' => $highestRow,
|
||||||
|
'column' => $highestColumn,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the cell coordinate of the currently active cell object.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getCurrentCoordinate()
|
||||||
|
{
|
||||||
|
return $this->currentCoordinate;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the column coordinate of the currently active cell object.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getCurrentColumn()
|
||||||
|
{
|
||||||
|
$column = '';
|
||||||
|
$row = 0;
|
||||||
|
|
||||||
|
sscanf($this->currentCoordinate, '%[A-Z]%d', $column, $row);
|
||||||
|
|
||||||
|
return $column;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the row coordinate of the currently active cell object.
|
||||||
|
*
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public function getCurrentRow()
|
||||||
|
{
|
||||||
|
$column = '';
|
||||||
|
$row = 0;
|
||||||
|
|
||||||
|
sscanf($this->currentCoordinate, '%[A-Z]%d', $column, $row);
|
||||||
|
|
||||||
|
return (int) $row;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get highest worksheet column.
|
||||||
|
*
|
||||||
|
* @param string $row Return the highest column for the specified row,
|
||||||
|
* or the highest column of any row if no row number is passed
|
||||||
|
*
|
||||||
|
* @return string Highest column name
|
||||||
|
*/
|
||||||
|
public function getHighestColumn($row = null)
|
||||||
|
{
|
||||||
|
if ($row === null) {
|
||||||
|
$colRow = $this->getHighestRowAndColumn();
|
||||||
|
|
||||||
|
return $colRow['column'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$columnList = [1];
|
||||||
|
foreach ($this->getCoordinates() as $coord) {
|
||||||
|
$c = '';
|
||||||
|
$r = 0;
|
||||||
|
|
||||||
|
sscanf($coord, '%[A-Z]%d', $c, $r);
|
||||||
|
if ($r != $row) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
$columnList[] = Coordinate::columnIndexFromString($c);
|
||||||
|
}
|
||||||
|
|
||||||
|
return Coordinate::stringFromColumnIndex(max($columnList));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get highest worksheet row.
|
||||||
|
*
|
||||||
|
* @param string $column Return the highest row for the specified column,
|
||||||
|
* or the highest row of any column if no column letter is passed
|
||||||
|
*
|
||||||
|
* @return int Highest row number
|
||||||
|
*/
|
||||||
|
public function getHighestRow($column = null)
|
||||||
|
{
|
||||||
|
if ($column === null) {
|
||||||
|
$colRow = $this->getHighestRowAndColumn();
|
||||||
|
|
||||||
|
return $colRow['row'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$rowList = [0];
|
||||||
|
foreach ($this->getCoordinates() as $coord) {
|
||||||
|
$c = '';
|
||||||
|
$r = 0;
|
||||||
|
|
||||||
|
sscanf($coord, '%[A-Z]%d', $c, $r);
|
||||||
|
if ($c != $column) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
$rowList[] = $r;
|
||||||
|
}
|
||||||
|
|
||||||
|
return max($rowList);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Generate a unique ID for cache referencing.
|
||||||
|
*
|
||||||
|
* @return string Unique Reference
|
||||||
|
*/
|
||||||
|
private function getUniqueID()
|
||||||
|
{
|
||||||
|
return uniqid('phpspreadsheet.', true) . '.';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Clone the cell collection.
|
||||||
|
*
|
||||||
|
* @param Worksheet $parent The new worksheet that we're copying to
|
||||||
|
*
|
||||||
|
* @return self
|
||||||
|
*/
|
||||||
|
public function cloneCellCollection(Worksheet $parent)
|
||||||
|
{
|
||||||
|
$this->storeCurrentCell();
|
||||||
|
$newCollection = clone $this;
|
||||||
|
|
||||||
|
$newCollection->parent = $parent;
|
||||||
|
if (($newCollection->currentCell !== null) && (is_object($newCollection->currentCell))) {
|
||||||
|
$newCollection->currentCell->attach($this);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get old values
|
||||||
|
$oldKeys = $newCollection->getAllCacheKeys();
|
||||||
|
$oldValues = $newCollection->cache->getMultiple($oldKeys);
|
||||||
|
$newValues = [];
|
||||||
|
$oldCachePrefix = $newCollection->cachePrefix;
|
||||||
|
|
||||||
|
// Change prefix
|
||||||
|
$newCollection->cachePrefix = $newCollection->getUniqueID();
|
||||||
|
foreach ($oldValues as $oldKey => $value) {
|
||||||
|
$newValues[str_replace($oldCachePrefix, $newCollection->cachePrefix, $oldKey)] = clone $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Store new values
|
||||||
|
$stored = $newCollection->cache->setMultiple($newValues);
|
||||||
|
if (!$stored) {
|
||||||
|
$newCollection->__destruct();
|
||||||
|
|
||||||
|
throw new PhpSpreadsheetException('Failed to copy cells in cache');
|
||||||
|
}
|
||||||
|
|
||||||
|
return $newCollection;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove a row, deleting all cells in that row.
|
||||||
|
*
|
||||||
|
* @param string $row Row number to remove
|
||||||
|
*/
|
||||||
|
public function removeRow($row)
|
||||||
|
{
|
||||||
|
foreach ($this->getCoordinates() as $coord) {
|
||||||
|
$c = '';
|
||||||
|
$r = 0;
|
||||||
|
|
||||||
|
sscanf($coord, '%[A-Z]%d', $c, $r);
|
||||||
|
if ($r == $row) {
|
||||||
|
$this->delete($coord);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove a column, deleting all cells in that column.
|
||||||
|
*
|
||||||
|
* @param string $column Column ID to remove
|
||||||
|
*/
|
||||||
|
public function removeColumn($column)
|
||||||
|
{
|
||||||
|
foreach ($this->getCoordinates() as $coord) {
|
||||||
|
$c = '';
|
||||||
|
$r = 0;
|
||||||
|
|
||||||
|
sscanf($coord, '%[A-Z]%d', $c, $r);
|
||||||
|
if ($c == $column) {
|
||||||
|
$this->delete($coord);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Store cell data in cache for the current cell object if it's "dirty",
|
||||||
|
* and the 'nullify' the current cell object.
|
||||||
|
*
|
||||||
|
* @throws PhpSpreadsheetException
|
||||||
|
*/
|
||||||
|
private function storeCurrentCell()
|
||||||
|
{
|
||||||
|
if ($this->currentCellIsDirty && !empty($this->currentCoordinate)) {
|
||||||
|
$this->currentCell->detach();
|
||||||
|
|
||||||
|
$stored = $this->cache->set($this->cachePrefix . $this->currentCoordinate, $this->currentCell);
|
||||||
|
if (!$stored) {
|
||||||
|
$this->__destruct();
|
||||||
|
|
||||||
|
throw new PhpSpreadsheetException("Failed to store cell {$this->currentCoordinate} in cache");
|
||||||
|
}
|
||||||
|
$this->currentCellIsDirty = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->currentCoordinate = null;
|
||||||
|
$this->currentCell = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add or update a cell identified by its coordinate into the collection.
|
||||||
|
*
|
||||||
|
* @param string $pCoord Coordinate of the cell to update
|
||||||
|
* @param Cell $cell Cell to update
|
||||||
|
*
|
||||||
|
* @throws PhpSpreadsheetException
|
||||||
|
*
|
||||||
|
* @return \PhpOffice\PhpSpreadsheet\Cell\Cell
|
||||||
|
*/
|
||||||
|
public function add($pCoord, Cell $cell)
|
||||||
|
{
|
||||||
|
if ($pCoord !== $this->currentCoordinate) {
|
||||||
|
$this->storeCurrentCell();
|
||||||
|
}
|
||||||
|
$this->index[$pCoord] = true;
|
||||||
|
|
||||||
|
$this->currentCoordinate = $pCoord;
|
||||||
|
$this->currentCell = $cell;
|
||||||
|
$this->currentCellIsDirty = true;
|
||||||
|
|
||||||
|
return $cell;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get cell at a specific coordinate.
|
||||||
|
*
|
||||||
|
* @param string $pCoord Coordinate of the cell
|
||||||
|
*
|
||||||
|
* @throws PhpSpreadsheetException
|
||||||
|
*
|
||||||
|
* @return \PhpOffice\PhpSpreadsheet\Cell\Cell Cell that was found, or null if not found
|
||||||
|
*/
|
||||||
|
public function get($pCoord)
|
||||||
|
{
|
||||||
|
if ($pCoord === $this->currentCoordinate) {
|
||||||
|
return $this->currentCell;
|
||||||
|
}
|
||||||
|
$this->storeCurrentCell();
|
||||||
|
|
||||||
|
// Return null if requested entry doesn't exist in collection
|
||||||
|
if (!$this->has($pCoord)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check if the entry that has been requested actually exists
|
||||||
|
$cell = $this->cache->get($this->cachePrefix . $pCoord);
|
||||||
|
if ($cell === null) {
|
||||||
|
throw new PhpSpreadsheetException("Cell entry {$pCoord} no longer exists in cache. This probably means that the cache was cleared by someone else.");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set current entry to the requested entry
|
||||||
|
$this->currentCoordinate = $pCoord;
|
||||||
|
$this->currentCell = $cell;
|
||||||
|
// Re-attach this as the cell's parent
|
||||||
|
$this->currentCell->attach($this);
|
||||||
|
|
||||||
|
// Return requested entry
|
||||||
|
return $this->currentCell;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Clear the cell collection and disconnect from our parent.
|
||||||
|
*/
|
||||||
|
public function unsetWorksheetCells()
|
||||||
|
{
|
||||||
|
if ($this->currentCell !== null) {
|
||||||
|
$this->currentCell->detach();
|
||||||
|
$this->currentCell = null;
|
||||||
|
$this->currentCoordinate = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Flush the cache
|
||||||
|
$this->__destruct();
|
||||||
|
|
||||||
|
$this->index = [];
|
||||||
|
|
||||||
|
// detach ourself from the worksheet, so that it can then delete this object successfully
|
||||||
|
$this->parent = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Destroy this cell collection.
|
||||||
|
*/
|
||||||
|
public function __destruct()
|
||||||
|
{
|
||||||
|
$this->cache->deleteMultiple($this->getAllCacheKeys());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns all known cache keys.
|
||||||
|
*
|
||||||
|
* @return \Generator|string[]
|
||||||
|
*/
|
||||||
|
private function getAllCacheKeys()
|
||||||
|
{
|
||||||
|
foreach ($this->getCoordinates() as $coordinate) {
|
||||||
|
yield $this->cachePrefix . $coordinate;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
23
PhpOffice/PhpSpreadsheet/Collection/CellsFactory.php
Normal file
23
PhpOffice/PhpSpreadsheet/Collection/CellsFactory.php
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Collection;
|
||||||
|
|
||||||
|
use PhpOffice\PhpSpreadsheet\Settings;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
|
||||||
|
|
||||||
|
abstract class CellsFactory
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Initialise the cache storage.
|
||||||
|
*
|
||||||
|
* @param Worksheet $parent Enable cell caching for this worksheet
|
||||||
|
*
|
||||||
|
* @return Cells
|
||||||
|
* */
|
||||||
|
public static function getInstance(Worksheet $parent)
|
||||||
|
{
|
||||||
|
$instance = new Cells($parent, Settings::getCache());
|
||||||
|
|
||||||
|
return $instance;
|
||||||
|
}
|
||||||
|
}
|
||||||
77
PhpOffice/PhpSpreadsheet/Collection/Memory.php
Normal file
77
PhpOffice/PhpSpreadsheet/Collection/Memory.php
Normal file
|
|
@ -0,0 +1,77 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Collection;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is the default implementation for in-memory cell collection.
|
||||||
|
*
|
||||||
|
* Alternatives implementation should leverage off-memory, non-volatile storage
|
||||||
|
* to reduce overall memory usage.
|
||||||
|
*/
|
||||||
|
class Memory
|
||||||
|
{
|
||||||
|
private $cache = [];
|
||||||
|
|
||||||
|
public function clear()
|
||||||
|
{
|
||||||
|
$this->cache = [];
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function delete($key)
|
||||||
|
{
|
||||||
|
unset($this->cache[$key]);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function deleteMultiple($keys)
|
||||||
|
{
|
||||||
|
foreach ($keys as $key) {
|
||||||
|
$this->delete($key);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function get($key, $default = null)
|
||||||
|
{
|
||||||
|
if ($this->has($key)) {
|
||||||
|
return $this->cache[$key];
|
||||||
|
}
|
||||||
|
|
||||||
|
return $default;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getMultiple($keys, $default = null)
|
||||||
|
{
|
||||||
|
$results = [];
|
||||||
|
foreach ($keys as $key) {
|
||||||
|
$results[$key] = $this->get($key, $default);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $results;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function has($key)
|
||||||
|
{
|
||||||
|
return array_key_exists($key, $this->cache);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function set($key, $value, $ttl = null)
|
||||||
|
{
|
||||||
|
$this->cache[$key] = $value;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setMultiple($values, $ttl = null)
|
||||||
|
{
|
||||||
|
foreach ($values as $key => $value) {
|
||||||
|
$this->set($key, $value);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
331
PhpOffice/PhpSpreadsheet/Comment.php
Normal file
331
PhpOffice/PhpSpreadsheet/Comment.php
Normal file
|
|
@ -0,0 +1,331 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet;
|
||||||
|
|
||||||
|
use PhpOffice\PhpSpreadsheet\RichText\RichText;
|
||||||
|
|
||||||
|
class Comment implements IComparable
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Author.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $author;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Rich text comment.
|
||||||
|
*
|
||||||
|
* @var RichText
|
||||||
|
*/
|
||||||
|
private $text;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Comment width (CSS style, i.e. XXpx or YYpt).
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $width = '96pt';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Left margin (CSS style, i.e. XXpx or YYpt).
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $marginLeft = '59.25pt';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Top margin (CSS style, i.e. XXpx or YYpt).
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $marginTop = '1.5pt';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Visible.
|
||||||
|
*
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
private $visible = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Comment height (CSS style, i.e. XXpx or YYpt).
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $height = '55.5pt';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Comment fill color.
|
||||||
|
*
|
||||||
|
* @var Style\Color
|
||||||
|
*/
|
||||||
|
private $fillColor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Alignment.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $alignment;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new Comment.
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
// Initialise variables
|
||||||
|
$this->author = 'Author';
|
||||||
|
$this->text = new RichText();
|
||||||
|
$this->fillColor = new Style\Color('FFFFFFE1');
|
||||||
|
$this->alignment = Style\Alignment::HORIZONTAL_GENERAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Author.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getAuthor()
|
||||||
|
{
|
||||||
|
return $this->author;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Author.
|
||||||
|
*
|
||||||
|
* @param string $author
|
||||||
|
*
|
||||||
|
* @return Comment
|
||||||
|
*/
|
||||||
|
public function setAuthor($author)
|
||||||
|
{
|
||||||
|
$this->author = $author;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Rich text comment.
|
||||||
|
*
|
||||||
|
* @return RichText
|
||||||
|
*/
|
||||||
|
public function getText()
|
||||||
|
{
|
||||||
|
return $this->text;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Rich text comment.
|
||||||
|
*
|
||||||
|
* @param RichText $pValue
|
||||||
|
*
|
||||||
|
* @return Comment
|
||||||
|
*/
|
||||||
|
public function setText(RichText $pValue)
|
||||||
|
{
|
||||||
|
$this->text = $pValue;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get comment width (CSS style, i.e. XXpx or YYpt).
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getWidth()
|
||||||
|
{
|
||||||
|
return $this->width;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set comment width (CSS style, i.e. XXpx or YYpt).
|
||||||
|
*
|
||||||
|
* @param string $width
|
||||||
|
*
|
||||||
|
* @return Comment
|
||||||
|
*/
|
||||||
|
public function setWidth($width)
|
||||||
|
{
|
||||||
|
$this->width = $width;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get comment height (CSS style, i.e. XXpx or YYpt).
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getHeight()
|
||||||
|
{
|
||||||
|
return $this->height;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set comment height (CSS style, i.e. XXpx or YYpt).
|
||||||
|
*
|
||||||
|
* @param string $value
|
||||||
|
*
|
||||||
|
* @return Comment
|
||||||
|
*/
|
||||||
|
public function setHeight($value)
|
||||||
|
{
|
||||||
|
$this->height = $value;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get left margin (CSS style, i.e. XXpx or YYpt).
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getMarginLeft()
|
||||||
|
{
|
||||||
|
return $this->marginLeft;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set left margin (CSS style, i.e. XXpx or YYpt).
|
||||||
|
*
|
||||||
|
* @param string $value
|
||||||
|
*
|
||||||
|
* @return Comment
|
||||||
|
*/
|
||||||
|
public function setMarginLeft($value)
|
||||||
|
{
|
||||||
|
$this->marginLeft = $value;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get top margin (CSS style, i.e. XXpx or YYpt).
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getMarginTop()
|
||||||
|
{
|
||||||
|
return $this->marginTop;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set top margin (CSS style, i.e. XXpx or YYpt).
|
||||||
|
*
|
||||||
|
* @param string $value
|
||||||
|
*
|
||||||
|
* @return Comment
|
||||||
|
*/
|
||||||
|
public function setMarginTop($value)
|
||||||
|
{
|
||||||
|
$this->marginTop = $value;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Is the comment visible by default?
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function getVisible()
|
||||||
|
{
|
||||||
|
return $this->visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set comment default visibility.
|
||||||
|
*
|
||||||
|
* @param bool $value
|
||||||
|
*
|
||||||
|
* @return Comment
|
||||||
|
*/
|
||||||
|
public function setVisible($value)
|
||||||
|
{
|
||||||
|
$this->visible = $value;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get fill color.
|
||||||
|
*
|
||||||
|
* @return Style\Color
|
||||||
|
*/
|
||||||
|
public function getFillColor()
|
||||||
|
{
|
||||||
|
return $this->fillColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Alignment.
|
||||||
|
*
|
||||||
|
* @param string $alignment see Style\Alignment::HORIZONTAL_*
|
||||||
|
*
|
||||||
|
* @return Comment
|
||||||
|
*/
|
||||||
|
public function setAlignment($alignment)
|
||||||
|
{
|
||||||
|
$this->alignment = $alignment;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Alignment.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getAlignment()
|
||||||
|
{
|
||||||
|
return $this->alignment;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get hash code.
|
||||||
|
*
|
||||||
|
* @return string Hash code
|
||||||
|
*/
|
||||||
|
public function getHashCode()
|
||||||
|
{
|
||||||
|
return md5(
|
||||||
|
$this->author .
|
||||||
|
$this->text->getHashCode() .
|
||||||
|
$this->width .
|
||||||
|
$this->height .
|
||||||
|
$this->marginLeft .
|
||||||
|
$this->marginTop .
|
||||||
|
($this->visible ? 1 : 0) .
|
||||||
|
$this->fillColor->getHashCode() .
|
||||||
|
$this->alignment .
|
||||||
|
__CLASS__
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implement PHP __clone to create a deep clone, not just a shallow copy.
|
||||||
|
*/
|
||||||
|
public function __clone()
|
||||||
|
{
|
||||||
|
$vars = get_object_vars($this);
|
||||||
|
foreach ($vars as $key => $value) {
|
||||||
|
if (is_object($value)) {
|
||||||
|
$this->$key = clone $value;
|
||||||
|
} else {
|
||||||
|
$this->$key = $value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convert to string.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function __toString()
|
||||||
|
{
|
||||||
|
return $this->text->getPlainText();
|
||||||
|
}
|
||||||
|
}
|
||||||
629
PhpOffice/PhpSpreadsheet/Document/Properties.php
Normal file
629
PhpOffice/PhpSpreadsheet/Document/Properties.php
Normal file
|
|
@ -0,0 +1,629 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Document;
|
||||||
|
|
||||||
|
class Properties
|
||||||
|
{
|
||||||
|
/** constants */
|
||||||
|
const PROPERTY_TYPE_BOOLEAN = 'b';
|
||||||
|
const PROPERTY_TYPE_INTEGER = 'i';
|
||||||
|
const PROPERTY_TYPE_FLOAT = 'f';
|
||||||
|
const PROPERTY_TYPE_DATE = 'd';
|
||||||
|
const PROPERTY_TYPE_STRING = 's';
|
||||||
|
const PROPERTY_TYPE_UNKNOWN = 'u';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creator.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $creator = 'Unknown Creator';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* LastModifiedBy.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $lastModifiedBy;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created.
|
||||||
|
*
|
||||||
|
* @var int
|
||||||
|
*/
|
||||||
|
private $created;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Modified.
|
||||||
|
*
|
||||||
|
* @var int
|
||||||
|
*/
|
||||||
|
private $modified;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Title.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $title = 'Untitled Spreadsheet';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Description.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $description = '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Subject.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $subject = '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Keywords.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $keywords = '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Category.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $category = '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Manager.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $manager = '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Company.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $company = 'Microsoft Corporation';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Custom Properties.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $customProperties = [];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new Document Properties instance.
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
// Initialise values
|
||||||
|
$this->lastModifiedBy = $this->creator;
|
||||||
|
$this->created = time();
|
||||||
|
$this->modified = time();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Creator.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getCreator()
|
||||||
|
{
|
||||||
|
return $this->creator;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Creator.
|
||||||
|
*
|
||||||
|
* @param string $creator
|
||||||
|
*
|
||||||
|
* @return Properties
|
||||||
|
*/
|
||||||
|
public function setCreator($creator)
|
||||||
|
{
|
||||||
|
$this->creator = $creator;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Last Modified By.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getLastModifiedBy()
|
||||||
|
{
|
||||||
|
return $this->lastModifiedBy;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Last Modified By.
|
||||||
|
*
|
||||||
|
* @param string $pValue
|
||||||
|
*
|
||||||
|
* @return Properties
|
||||||
|
*/
|
||||||
|
public function setLastModifiedBy($pValue)
|
||||||
|
{
|
||||||
|
$this->lastModifiedBy = $pValue;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Created.
|
||||||
|
*
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public function getCreated()
|
||||||
|
{
|
||||||
|
return $this->created;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Created.
|
||||||
|
*
|
||||||
|
* @param int|string $time
|
||||||
|
*
|
||||||
|
* @return Properties
|
||||||
|
*/
|
||||||
|
public function setCreated($time)
|
||||||
|
{
|
||||||
|
if ($time === null) {
|
||||||
|
$time = time();
|
||||||
|
} elseif (is_string($time)) {
|
||||||
|
if (is_numeric($time)) {
|
||||||
|
$time = (int) $time;
|
||||||
|
} else {
|
||||||
|
$time = strtotime($time);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->created = $time;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Modified.
|
||||||
|
*
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public function getModified()
|
||||||
|
{
|
||||||
|
return $this->modified;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Modified.
|
||||||
|
*
|
||||||
|
* @param int|string $time
|
||||||
|
*
|
||||||
|
* @return Properties
|
||||||
|
*/
|
||||||
|
public function setModified($time)
|
||||||
|
{
|
||||||
|
if ($time === null) {
|
||||||
|
$time = time();
|
||||||
|
} elseif (is_string($time)) {
|
||||||
|
if (is_numeric($time)) {
|
||||||
|
$time = (int) $time;
|
||||||
|
} else {
|
||||||
|
$time = strtotime($time);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->modified = $time;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Title.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getTitle()
|
||||||
|
{
|
||||||
|
return $this->title;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Title.
|
||||||
|
*
|
||||||
|
* @param string $title
|
||||||
|
*
|
||||||
|
* @return Properties
|
||||||
|
*/
|
||||||
|
public function setTitle($title)
|
||||||
|
{
|
||||||
|
$this->title = $title;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Description.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getDescription()
|
||||||
|
{
|
||||||
|
return $this->description;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Description.
|
||||||
|
*
|
||||||
|
* @param string $description
|
||||||
|
*
|
||||||
|
* @return Properties
|
||||||
|
*/
|
||||||
|
public function setDescription($description)
|
||||||
|
{
|
||||||
|
$this->description = $description;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Subject.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getSubject()
|
||||||
|
{
|
||||||
|
return $this->subject;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Subject.
|
||||||
|
*
|
||||||
|
* @param string $subject
|
||||||
|
*
|
||||||
|
* @return Properties
|
||||||
|
*/
|
||||||
|
public function setSubject($subject)
|
||||||
|
{
|
||||||
|
$this->subject = $subject;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Keywords.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getKeywords()
|
||||||
|
{
|
||||||
|
return $this->keywords;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Keywords.
|
||||||
|
*
|
||||||
|
* @param string $keywords
|
||||||
|
*
|
||||||
|
* @return Properties
|
||||||
|
*/
|
||||||
|
public function setKeywords($keywords)
|
||||||
|
{
|
||||||
|
$this->keywords = $keywords;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Category.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getCategory()
|
||||||
|
{
|
||||||
|
return $this->category;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Category.
|
||||||
|
*
|
||||||
|
* @param string $category
|
||||||
|
*
|
||||||
|
* @return Properties
|
||||||
|
*/
|
||||||
|
public function setCategory($category)
|
||||||
|
{
|
||||||
|
$this->category = $category;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Company.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getCompany()
|
||||||
|
{
|
||||||
|
return $this->company;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Company.
|
||||||
|
*
|
||||||
|
* @param string $company
|
||||||
|
*
|
||||||
|
* @return Properties
|
||||||
|
*/
|
||||||
|
public function setCompany($company)
|
||||||
|
{
|
||||||
|
$this->company = $company;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Manager.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getManager()
|
||||||
|
{
|
||||||
|
return $this->manager;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Manager.
|
||||||
|
*
|
||||||
|
* @param string $manager
|
||||||
|
*
|
||||||
|
* @return Properties
|
||||||
|
*/
|
||||||
|
public function setManager($manager)
|
||||||
|
{
|
||||||
|
$this->manager = $manager;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a List of Custom Property Names.
|
||||||
|
*
|
||||||
|
* @return array of string
|
||||||
|
*/
|
||||||
|
public function getCustomProperties()
|
||||||
|
{
|
||||||
|
return array_keys($this->customProperties);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if a Custom Property is defined.
|
||||||
|
*
|
||||||
|
* @param string $propertyName
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function isCustomPropertySet($propertyName)
|
||||||
|
{
|
||||||
|
return isset($this->customProperties[$propertyName]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a Custom Property Value.
|
||||||
|
*
|
||||||
|
* @param string $propertyName
|
||||||
|
*
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function getCustomPropertyValue($propertyName)
|
||||||
|
{
|
||||||
|
if (isset($this->customProperties[$propertyName])) {
|
||||||
|
return $this->customProperties[$propertyName]['value'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a Custom Property Type.
|
||||||
|
*
|
||||||
|
* @param string $propertyName
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getCustomPropertyType($propertyName)
|
||||||
|
{
|
||||||
|
if (isset($this->customProperties[$propertyName])) {
|
||||||
|
return $this->customProperties[$propertyName]['type'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set a Custom Property.
|
||||||
|
*
|
||||||
|
* @param string $propertyName
|
||||||
|
* @param mixed $propertyValue
|
||||||
|
* @param string $propertyType
|
||||||
|
* 'i' : Integer
|
||||||
|
* 'f' : Floating Point
|
||||||
|
* 's' : String
|
||||||
|
* 'd' : Date/Time
|
||||||
|
* 'b' : Boolean
|
||||||
|
*
|
||||||
|
* @return Properties
|
||||||
|
*/
|
||||||
|
public function setCustomProperty($propertyName, $propertyValue = '', $propertyType = null)
|
||||||
|
{
|
||||||
|
if (($propertyType === null) || (!in_array($propertyType, [self::PROPERTY_TYPE_INTEGER,
|
||||||
|
self::PROPERTY_TYPE_FLOAT,
|
||||||
|
self::PROPERTY_TYPE_STRING,
|
||||||
|
self::PROPERTY_TYPE_DATE,
|
||||||
|
self::PROPERTY_TYPE_BOOLEAN, ]))) {
|
||||||
|
if ($propertyValue === null) {
|
||||||
|
$propertyType = self::PROPERTY_TYPE_STRING;
|
||||||
|
} elseif (is_float($propertyValue)) {
|
||||||
|
$propertyType = self::PROPERTY_TYPE_FLOAT;
|
||||||
|
} elseif (is_int($propertyValue)) {
|
||||||
|
$propertyType = self::PROPERTY_TYPE_INTEGER;
|
||||||
|
} elseif (is_bool($propertyValue)) {
|
||||||
|
$propertyType = self::PROPERTY_TYPE_BOOLEAN;
|
||||||
|
} else {
|
||||||
|
$propertyType = self::PROPERTY_TYPE_STRING;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->customProperties[$propertyName] = [
|
||||||
|
'value' => $propertyValue,
|
||||||
|
'type' => $propertyType,
|
||||||
|
];
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implement PHP __clone to create a deep clone, not just a shallow copy.
|
||||||
|
*/
|
||||||
|
public function __clone()
|
||||||
|
{
|
||||||
|
$vars = get_object_vars($this);
|
||||||
|
foreach ($vars as $key => $value) {
|
||||||
|
if (is_object($value)) {
|
||||||
|
$this->$key = clone $value;
|
||||||
|
} else {
|
||||||
|
$this->$key = $value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function convertProperty($propertyValue, $propertyType)
|
||||||
|
{
|
||||||
|
switch ($propertyType) {
|
||||||
|
case 'empty': // Empty
|
||||||
|
return '';
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'null': // Null
|
||||||
|
return null;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'i1': // 1-Byte Signed Integer
|
||||||
|
case 'i2': // 2-Byte Signed Integer
|
||||||
|
case 'i4': // 4-Byte Signed Integer
|
||||||
|
case 'i8': // 8-Byte Signed Integer
|
||||||
|
case 'int': // Integer
|
||||||
|
return (int) $propertyValue;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'ui1': // 1-Byte Unsigned Integer
|
||||||
|
case 'ui2': // 2-Byte Unsigned Integer
|
||||||
|
case 'ui4': // 4-Byte Unsigned Integer
|
||||||
|
case 'ui8': // 8-Byte Unsigned Integer
|
||||||
|
case 'uint': // Unsigned Integer
|
||||||
|
return abs((int) $propertyValue);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'r4': // 4-Byte Real Number
|
||||||
|
case 'r8': // 8-Byte Real Number
|
||||||
|
case 'decimal': // Decimal
|
||||||
|
return (float) $propertyValue;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'lpstr': // LPSTR
|
||||||
|
case 'lpwstr': // LPWSTR
|
||||||
|
case 'bstr': // Basic String
|
||||||
|
return $propertyValue;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'date': // Date and Time
|
||||||
|
case 'filetime': // File Time
|
||||||
|
return strtotime($propertyValue);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'bool': // Boolean
|
||||||
|
return $propertyValue == 'true';
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'cy': // Currency
|
||||||
|
case 'error': // Error Status Code
|
||||||
|
case 'vector': // Vector
|
||||||
|
case 'array': // Array
|
||||||
|
case 'blob': // Binary Blob
|
||||||
|
case 'oblob': // Binary Blob Object
|
||||||
|
case 'stream': // Binary Stream
|
||||||
|
case 'ostream': // Binary Stream Object
|
||||||
|
case 'storage': // Binary Storage
|
||||||
|
case 'ostorage': // Binary Storage Object
|
||||||
|
case 'vstream': // Binary Versioned Stream
|
||||||
|
case 'clsid': // Class ID
|
||||||
|
case 'cf': // Clipboard Data
|
||||||
|
return $propertyValue;
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $propertyValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function convertPropertyType($propertyType)
|
||||||
|
{
|
||||||
|
switch ($propertyType) {
|
||||||
|
case 'i1': // 1-Byte Signed Integer
|
||||||
|
case 'i2': // 2-Byte Signed Integer
|
||||||
|
case 'i4': // 4-Byte Signed Integer
|
||||||
|
case 'i8': // 8-Byte Signed Integer
|
||||||
|
case 'int': // Integer
|
||||||
|
case 'ui1': // 1-Byte Unsigned Integer
|
||||||
|
case 'ui2': // 2-Byte Unsigned Integer
|
||||||
|
case 'ui4': // 4-Byte Unsigned Integer
|
||||||
|
case 'ui8': // 8-Byte Unsigned Integer
|
||||||
|
case 'uint': // Unsigned Integer
|
||||||
|
return self::PROPERTY_TYPE_INTEGER;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'r4': // 4-Byte Real Number
|
||||||
|
case 'r8': // 8-Byte Real Number
|
||||||
|
case 'decimal': // Decimal
|
||||||
|
return self::PROPERTY_TYPE_FLOAT;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'empty': // Empty
|
||||||
|
case 'null': // Null
|
||||||
|
case 'lpstr': // LPSTR
|
||||||
|
case 'lpwstr': // LPWSTR
|
||||||
|
case 'bstr': // Basic String
|
||||||
|
return self::PROPERTY_TYPE_STRING;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'date': // Date and Time
|
||||||
|
case 'filetime': // File Time
|
||||||
|
return self::PROPERTY_TYPE_DATE;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'bool': // Boolean
|
||||||
|
return self::PROPERTY_TYPE_BOOLEAN;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'cy': // Currency
|
||||||
|
case 'error': // Error Status Code
|
||||||
|
case 'vector': // Vector
|
||||||
|
case 'array': // Array
|
||||||
|
case 'blob': // Binary Blob
|
||||||
|
case 'oblob': // Binary Blob Object
|
||||||
|
case 'stream': // Binary Stream
|
||||||
|
case 'ostream': // Binary Stream Object
|
||||||
|
case 'storage': // Binary Storage
|
||||||
|
case 'ostorage': // Binary Storage Object
|
||||||
|
case 'vstream': // Binary Versioned Stream
|
||||||
|
case 'clsid': // Class ID
|
||||||
|
case 'cf': // Clipboard Data
|
||||||
|
return self::PROPERTY_TYPE_UNKNOWN;
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return self::PROPERTY_TYPE_UNKNOWN;
|
||||||
|
}
|
||||||
|
}
|
||||||
205
PhpOffice/PhpSpreadsheet/Document/Security.php
Normal file
205
PhpOffice/PhpSpreadsheet/Document/Security.php
Normal file
|
|
@ -0,0 +1,205 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Document;
|
||||||
|
|
||||||
|
use PhpOffice\PhpSpreadsheet\Shared\PasswordHasher;
|
||||||
|
|
||||||
|
class Security
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* LockRevision.
|
||||||
|
*
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
private $lockRevision = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* LockStructure.
|
||||||
|
*
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
private $lockStructure = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* LockWindows.
|
||||||
|
*
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
private $lockWindows = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* RevisionsPassword.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $revisionsPassword = '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* WorkbookPassword.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $workbookPassword = '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new Document Security instance.
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Is some sort of document security enabled?
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function isSecurityEnabled()
|
||||||
|
{
|
||||||
|
return $this->lockRevision ||
|
||||||
|
$this->lockStructure ||
|
||||||
|
$this->lockWindows;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get LockRevision.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function getLockRevision()
|
||||||
|
{
|
||||||
|
return $this->lockRevision;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set LockRevision.
|
||||||
|
*
|
||||||
|
* @param bool $pValue
|
||||||
|
*
|
||||||
|
* @return Security
|
||||||
|
*/
|
||||||
|
public function setLockRevision($pValue)
|
||||||
|
{
|
||||||
|
$this->lockRevision = $pValue;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get LockStructure.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function getLockStructure()
|
||||||
|
{
|
||||||
|
return $this->lockStructure;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set LockStructure.
|
||||||
|
*
|
||||||
|
* @param bool $pValue
|
||||||
|
*
|
||||||
|
* @return Security
|
||||||
|
*/
|
||||||
|
public function setLockStructure($pValue)
|
||||||
|
{
|
||||||
|
$this->lockStructure = $pValue;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get LockWindows.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function getLockWindows()
|
||||||
|
{
|
||||||
|
return $this->lockWindows;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set LockWindows.
|
||||||
|
*
|
||||||
|
* @param bool $pValue
|
||||||
|
*
|
||||||
|
* @return Security
|
||||||
|
*/
|
||||||
|
public function setLockWindows($pValue)
|
||||||
|
{
|
||||||
|
$this->lockWindows = $pValue;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get RevisionsPassword (hashed).
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getRevisionsPassword()
|
||||||
|
{
|
||||||
|
return $this->revisionsPassword;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set RevisionsPassword.
|
||||||
|
*
|
||||||
|
* @param string $pValue
|
||||||
|
* @param bool $pAlreadyHashed If the password has already been hashed, set this to true
|
||||||
|
*
|
||||||
|
* @return Security
|
||||||
|
*/
|
||||||
|
public function setRevisionsPassword($pValue, $pAlreadyHashed = false)
|
||||||
|
{
|
||||||
|
if (!$pAlreadyHashed) {
|
||||||
|
$pValue = PasswordHasher::hashPassword($pValue);
|
||||||
|
}
|
||||||
|
$this->revisionsPassword = $pValue;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get WorkbookPassword (hashed).
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getWorkbookPassword()
|
||||||
|
{
|
||||||
|
return $this->workbookPassword;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set WorkbookPassword.
|
||||||
|
*
|
||||||
|
* @param string $pValue
|
||||||
|
* @param bool $pAlreadyHashed If the password has already been hashed, set this to true
|
||||||
|
*
|
||||||
|
* @return Security
|
||||||
|
*/
|
||||||
|
public function setWorkbookPassword($pValue, $pAlreadyHashed = false)
|
||||||
|
{
|
||||||
|
if (!$pAlreadyHashed) {
|
||||||
|
$pValue = PasswordHasher::hashPassword($pValue);
|
||||||
|
}
|
||||||
|
$this->workbookPassword = $pValue;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implement PHP __clone to create a deep clone, not just a shallow copy.
|
||||||
|
*/
|
||||||
|
public function __clone()
|
||||||
|
{
|
||||||
|
$vars = get_object_vars($this);
|
||||||
|
foreach ($vars as $key => $value) {
|
||||||
|
if (is_object($value)) {
|
||||||
|
$this->$key = clone $value;
|
||||||
|
} else {
|
||||||
|
$this->$key = $value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
7
PhpOffice/PhpSpreadsheet/Exception.php
Normal file
7
PhpOffice/PhpSpreadsheet/Exception.php
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet;
|
||||||
|
|
||||||
|
class Exception extends \Exception
|
||||||
|
{
|
||||||
|
}
|
||||||
179
PhpOffice/PhpSpreadsheet/HashTable.php
Normal file
179
PhpOffice/PhpSpreadsheet/HashTable.php
Normal file
|
|
@ -0,0 +1,179 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet;
|
||||||
|
|
||||||
|
class HashTable
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* HashTable elements.
|
||||||
|
*
|
||||||
|
* @var IComparable[]
|
||||||
|
*/
|
||||||
|
protected $items = [];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* HashTable key map.
|
||||||
|
*
|
||||||
|
* @var string[]
|
||||||
|
*/
|
||||||
|
protected $keyMap = [];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new \PhpOffice\PhpSpreadsheet\HashTable.
|
||||||
|
*
|
||||||
|
* @param IComparable[] $pSource Optional source array to create HashTable from
|
||||||
|
*
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
public function __construct($pSource = null)
|
||||||
|
{
|
||||||
|
if ($pSource !== null) {
|
||||||
|
// Create HashTable
|
||||||
|
$this->addFromSource($pSource);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add HashTable items from source.
|
||||||
|
*
|
||||||
|
* @param IComparable[] $pSource Source array to create HashTable from
|
||||||
|
*
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
public function addFromSource(array $pSource = null)
|
||||||
|
{
|
||||||
|
// Check if an array was passed
|
||||||
|
if ($pSource == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($pSource as $item) {
|
||||||
|
$this->add($item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add HashTable item.
|
||||||
|
*
|
||||||
|
* @param IComparable $pSource Item to add
|
||||||
|
*/
|
||||||
|
public function add(IComparable $pSource)
|
||||||
|
{
|
||||||
|
$hash = $pSource->getHashCode();
|
||||||
|
if (!isset($this->items[$hash])) {
|
||||||
|
$this->items[$hash] = $pSource;
|
||||||
|
$this->keyMap[count($this->items) - 1] = $hash;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove HashTable item.
|
||||||
|
*
|
||||||
|
* @param IComparable $pSource Item to remove
|
||||||
|
*/
|
||||||
|
public function remove(IComparable $pSource)
|
||||||
|
{
|
||||||
|
$hash = $pSource->getHashCode();
|
||||||
|
if (isset($this->items[$hash])) {
|
||||||
|
unset($this->items[$hash]);
|
||||||
|
|
||||||
|
$deleteKey = -1;
|
||||||
|
foreach ($this->keyMap as $key => $value) {
|
||||||
|
if ($deleteKey >= 0) {
|
||||||
|
$this->keyMap[$key - 1] = $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($value == $hash) {
|
||||||
|
$deleteKey = $key;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
unset($this->keyMap[count($this->keyMap) - 1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Clear HashTable.
|
||||||
|
*/
|
||||||
|
public function clear()
|
||||||
|
{
|
||||||
|
$this->items = [];
|
||||||
|
$this->keyMap = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Count.
|
||||||
|
*
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public function count()
|
||||||
|
{
|
||||||
|
return count($this->items);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get index for hash code.
|
||||||
|
*
|
||||||
|
* @param string $pHashCode
|
||||||
|
*
|
||||||
|
* @return int Index
|
||||||
|
*/
|
||||||
|
public function getIndexForHashCode($pHashCode)
|
||||||
|
{
|
||||||
|
return array_search($pHashCode, $this->keyMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get by index.
|
||||||
|
*
|
||||||
|
* @param int $pIndex
|
||||||
|
*
|
||||||
|
* @return IComparable
|
||||||
|
*/
|
||||||
|
public function getByIndex($pIndex)
|
||||||
|
{
|
||||||
|
if (isset($this->keyMap[$pIndex])) {
|
||||||
|
return $this->getByHashCode($this->keyMap[$pIndex]);
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get by hashcode.
|
||||||
|
*
|
||||||
|
* @param string $pHashCode
|
||||||
|
*
|
||||||
|
* @return IComparable
|
||||||
|
*/
|
||||||
|
public function getByHashCode($pHashCode)
|
||||||
|
{
|
||||||
|
if (isset($this->items[$pHashCode])) {
|
||||||
|
return $this->items[$pHashCode];
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* HashTable to array.
|
||||||
|
*
|
||||||
|
* @return IComparable[]
|
||||||
|
*/
|
||||||
|
public function toArray()
|
||||||
|
{
|
||||||
|
return $this->items;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implement PHP __clone to create a deep clone, not just a shallow copy.
|
||||||
|
*/
|
||||||
|
public function __clone()
|
||||||
|
{
|
||||||
|
$vars = get_object_vars($this);
|
||||||
|
foreach ($vars as $key => $value) {
|
||||||
|
if (is_object($value)) {
|
||||||
|
$this->$key = clone $value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,9 +1,19 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
class PHPExcel_Helper_HTML
|
namespace PhpOffice\PhpSpreadsheet\Helper;
|
||||||
|
|
||||||
|
use DOMDocument;
|
||||||
|
use DOMElement;
|
||||||
|
use DOMNode;
|
||||||
|
use DOMText;
|
||||||
|
use PhpOffice\PhpSpreadsheet\RichText\RichText;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Style\Color;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Style\Font;
|
||||||
|
|
||||||
|
class Html
|
||||||
{
|
{
|
||||||
protected static $colourMap = array(
|
protected static $colourMap = [
|
||||||
'aliceblue' => 'f0f8ff',
|
'aliceblue' => 'f0f8ff',
|
||||||
'antiquewhite' => 'faebd7',
|
'antiquewhite' => 'faebd7',
|
||||||
'antiquewhite1' => 'ffefdb',
|
'antiquewhite1' => 'ffefdb',
|
||||||
'antiquewhite2' => 'eedfcc',
|
'antiquewhite2' => 'eedfcc',
|
||||||
|
|
@ -520,20 +530,27 @@ class PHPExcel_Helper_HTML
|
||||||
'yellow3' => 'cdcd00',
|
'yellow3' => 'cdcd00',
|
||||||
'yellow4' => '8b8b00',
|
'yellow4' => '8b8b00',
|
||||||
'yellowgreen' => '9acd32',
|
'yellowgreen' => '9acd32',
|
||||||
);
|
];
|
||||||
|
|
||||||
protected $face;
|
protected $face;
|
||||||
|
|
||||||
protected $size;
|
protected $size;
|
||||||
|
|
||||||
protected $color;
|
protected $color;
|
||||||
|
|
||||||
protected $bold = false;
|
protected $bold = false;
|
||||||
protected $italic = false;
|
|
||||||
protected $underline = false;
|
|
||||||
protected $superscript = false;
|
|
||||||
protected $subscript = false;
|
|
||||||
protected $strikethrough = false;
|
|
||||||
|
|
||||||
protected $startTagCallbacks = array(
|
protected $italic = false;
|
||||||
|
|
||||||
|
protected $underline = false;
|
||||||
|
|
||||||
|
protected $superscript = false;
|
||||||
|
|
||||||
|
protected $subscript = false;
|
||||||
|
|
||||||
|
protected $strikethrough = false;
|
||||||
|
|
||||||
|
protected $startTagCallbacks = [
|
||||||
'font' => 'startFontTag',
|
'font' => 'startFontTag',
|
||||||
'b' => 'startBoldTag',
|
'b' => 'startBoldTag',
|
||||||
'strong' => 'startBoldTag',
|
'strong' => 'startBoldTag',
|
||||||
|
|
@ -544,9 +561,9 @@ class PHPExcel_Helper_HTML
|
||||||
'del' => 'startStrikethruTag',
|
'del' => 'startStrikethruTag',
|
||||||
'sup' => 'startSuperscriptTag',
|
'sup' => 'startSuperscriptTag',
|
||||||
'sub' => 'startSubscriptTag',
|
'sub' => 'startSubscriptTag',
|
||||||
);
|
];
|
||||||
|
|
||||||
protected $endTagCallbacks = array(
|
protected $endTagCallbacks = [
|
||||||
'font' => 'endFontTag',
|
'font' => 'endFontTag',
|
||||||
'b' => 'endBoldTag',
|
'b' => 'endBoldTag',
|
||||||
'strong' => 'endBoldTag',
|
'strong' => 'endBoldTag',
|
||||||
|
|
@ -565,44 +582,76 @@ class PHPExcel_Helper_HTML
|
||||||
'h4' => 'breakTag',
|
'h4' => 'breakTag',
|
||||||
'h5' => 'breakTag',
|
'h5' => 'breakTag',
|
||||||
'h6' => 'breakTag',
|
'h6' => 'breakTag',
|
||||||
);
|
];
|
||||||
|
|
||||||
protected $stack = array();
|
protected $stack = [];
|
||||||
|
|
||||||
protected $stringData = '';
|
protected $stringData = '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var RichText
|
||||||
|
*/
|
||||||
protected $richTextObject;
|
protected $richTextObject;
|
||||||
|
|
||||||
protected function initialise() {
|
protected function initialise()
|
||||||
|
{
|
||||||
$this->face = $this->size = $this->color = null;
|
$this->face = $this->size = $this->color = null;
|
||||||
$this->bold = $this->italic = $this->underline = $this->superscript = $this->subscript = $this->strikethrough = false;
|
$this->bold = $this->italic = $this->underline = $this->superscript = $this->subscript = $this->strikethrough = false;
|
||||||
|
|
||||||
$this->stack = array();
|
$this->stack = [];
|
||||||
|
|
||||||
$this->stringData = '';
|
$this->stringData = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
public function toRichTextObject($html) {
|
/**
|
||||||
|
* Parse HTML formatting and return the resulting RichText.
|
||||||
|
*
|
||||||
|
* @param string $html
|
||||||
|
*
|
||||||
|
* @return RichText
|
||||||
|
*/
|
||||||
|
public function toRichTextObject($html)
|
||||||
|
{
|
||||||
$this->initialise();
|
$this->initialise();
|
||||||
|
|
||||||
// Create a new DOM object
|
// Create a new DOM object
|
||||||
$dom = new domDocument;
|
$dom = new DOMDocument();
|
||||||
// Load the HTML file into the DOM object
|
// Load the HTML file into the DOM object
|
||||||
// Note the use of error suppression, because typically this will be an html fragment, so not fully valid markup
|
// Note the use of error suppression, because typically this will be an html fragment, so not fully valid markup
|
||||||
$loaded = @$dom->loadHTML($html);
|
$prefix = '<?xml encoding="UTF-8">';
|
||||||
|
@$dom->loadHTML($prefix . $html, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
|
||||||
// Discard excess white space
|
// Discard excess white space
|
||||||
$dom->preserveWhiteSpace = false;
|
$dom->preserveWhiteSpace = false;
|
||||||
|
|
||||||
$this->richTextObject = new PHPExcel_RichText();;
|
$this->richTextObject = new RichText();
|
||||||
$this->parseElements($dom);
|
$this->parseElements($dom);
|
||||||
|
|
||||||
|
// Clean any further spurious whitespace
|
||||||
|
$this->cleanWhitespace();
|
||||||
|
|
||||||
return $this->richTextObject;
|
return $this->richTextObject;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function buildTextRun() {
|
protected function cleanWhitespace()
|
||||||
|
{
|
||||||
|
foreach ($this->richTextObject->getRichTextElements() as $key => $element) {
|
||||||
|
$text = $element->getText();
|
||||||
|
// Trim any leading spaces on the first run
|
||||||
|
if ($key == 0) {
|
||||||
|
$text = ltrim($text);
|
||||||
|
}
|
||||||
|
// Trim any spaces immediately after a line break
|
||||||
|
$text = preg_replace('/\n */mu', "\n", $text);
|
||||||
|
$element->setText($text);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function buildTextRun()
|
||||||
|
{
|
||||||
$text = $this->stringData;
|
$text = $this->stringData;
|
||||||
if (trim($text) === '')
|
if (trim($text) === '') {
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
$richtextRun = $this->richTextObject->createTextRun($this->stringData);
|
$richtextRun = $this->richTextObject->createTextRun($this->stringData);
|
||||||
if ($this->face) {
|
if ($this->face) {
|
||||||
|
|
@ -612,7 +661,7 @@ class PHPExcel_Helper_HTML
|
||||||
$richtextRun->getFont()->setSize($this->size);
|
$richtextRun->getFont()->setSize($this->size);
|
||||||
}
|
}
|
||||||
if ($this->color) {
|
if ($this->color) {
|
||||||
$richtextRun->getFont()->setColor( new PHPExcel_Style_Color( 'ff' . $this->color ) );
|
$richtextRun->getFont()->setColor(new Color('ff' . $this->color));
|
||||||
}
|
}
|
||||||
if ($this->bold) {
|
if ($this->bold) {
|
||||||
$richtextRun->getFont()->setBold(true);
|
$richtextRun->getFont()->setBold(true);
|
||||||
|
|
@ -621,13 +670,13 @@ class PHPExcel_Helper_HTML
|
||||||
$richtextRun->getFont()->setItalic(true);
|
$richtextRun->getFont()->setItalic(true);
|
||||||
}
|
}
|
||||||
if ($this->underline) {
|
if ($this->underline) {
|
||||||
$richtextRun->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);
|
$richtextRun->getFont()->setUnderline(Font::UNDERLINE_SINGLE);
|
||||||
}
|
}
|
||||||
if ($this->superscript) {
|
if ($this->superscript) {
|
||||||
$richtextRun->getFont()->setSuperScript(true);
|
$richtextRun->getFont()->setSuperscript(true);
|
||||||
}
|
}
|
||||||
if ($this->subscript) {
|
if ($this->subscript) {
|
||||||
$richtextRun->getFont()->setSubScript(true);
|
$richtextRun->getFont()->setSubscript(true);
|
||||||
}
|
}
|
||||||
if ($this->strikethrough) {
|
if ($this->strikethrough) {
|
||||||
$richtextRun->getFont()->setStrikethrough(true);
|
$richtextRun->getFont()->setStrikethrough(true);
|
||||||
|
|
@ -635,19 +684,23 @@ class PHPExcel_Helper_HTML
|
||||||
$this->stringData = '';
|
$this->stringData = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function rgbToColour($rgb) {
|
protected function rgbToColour($rgb)
|
||||||
|
{
|
||||||
preg_match_all('/\d+/', $rgb, $values);
|
preg_match_all('/\d+/', $rgb, $values);
|
||||||
foreach($values[0] as &$value) {
|
foreach ($values[0] as &$value) {
|
||||||
$value = str_pad(dechex($value), 2, '0', STR_PAD_LEFT);
|
$value = str_pad(dechex($value), 2, '0', STR_PAD_LEFT);
|
||||||
}
|
}
|
||||||
|
|
||||||
return implode($values[0]);
|
return implode($values[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function colourNameLookup($rgb) {
|
protected function colourNameLookup($rgb)
|
||||||
|
{
|
||||||
return self::$colourMap[$rgb];
|
return self::$colourMap[$rgb];
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function startFontTag($tag) {
|
protected function startFontTag($tag)
|
||||||
|
{
|
||||||
foreach ($tag->attributes as $attribute) {
|
foreach ($tag->attributes as $attribute) {
|
||||||
$attributeName = strtolower($attribute->name);
|
$attributeName = strtolower($attribute->name);
|
||||||
$attributeValue = $attribute->value;
|
$attributeValue = $attribute->value;
|
||||||
|
|
@ -655,7 +708,7 @@ class PHPExcel_Helper_HTML
|
||||||
if ($attributeName == 'color') {
|
if ($attributeName == 'color') {
|
||||||
if (preg_match('/rgb\s*\(/', $attributeValue)) {
|
if (preg_match('/rgb\s*\(/', $attributeValue)) {
|
||||||
$this->$attributeName = $this->rgbToColour($attributeValue);
|
$this->$attributeName = $this->rgbToColour($attributeValue);
|
||||||
} elseif(strpos(trim($attributeValue), '#') === 0) {
|
} elseif (strpos(trim($attributeValue), '#') === 0) {
|
||||||
$this->$attributeName = ltrim($attributeValue, '#');
|
$this->$attributeName = ltrim($attributeValue, '#');
|
||||||
} else {
|
} else {
|
||||||
$this->$attributeName = $this->colourNameLookup($attributeValue);
|
$this->$attributeName = $this->colourNameLookup($attributeValue);
|
||||||
|
|
@ -666,91 +719,117 @@ class PHPExcel_Helper_HTML
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function endFontTag() {
|
protected function endFontTag()
|
||||||
|
{
|
||||||
$this->face = $this->size = $this->color = null;
|
$this->face = $this->size = $this->color = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function startBoldTag() {
|
protected function startBoldTag()
|
||||||
|
{
|
||||||
$this->bold = true;
|
$this->bold = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function endBoldTag() {
|
protected function endBoldTag()
|
||||||
|
{
|
||||||
$this->bold = false;
|
$this->bold = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function startItalicTag() {
|
protected function startItalicTag()
|
||||||
|
{
|
||||||
$this->italic = true;
|
$this->italic = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function endItalicTag() {
|
protected function endItalicTag()
|
||||||
|
{
|
||||||
$this->italic = false;
|
$this->italic = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function startUnderlineTag() {
|
protected function startUnderlineTag()
|
||||||
|
{
|
||||||
$this->underline = true;
|
$this->underline = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function endUnderlineTag() {
|
protected function endUnderlineTag()
|
||||||
|
{
|
||||||
$this->underline = false;
|
$this->underline = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function startSubscriptTag() {
|
protected function startSubscriptTag()
|
||||||
|
{
|
||||||
$this->subscript = true;
|
$this->subscript = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function endSubscriptTag() {
|
protected function endSubscriptTag()
|
||||||
|
{
|
||||||
$this->subscript = false;
|
$this->subscript = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function startSuperscriptTag() {
|
protected function startSuperscriptTag()
|
||||||
|
{
|
||||||
$this->superscript = true;
|
$this->superscript = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function endSuperscriptTag() {
|
protected function endSuperscriptTag()
|
||||||
|
{
|
||||||
$this->superscript = false;
|
$this->superscript = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function startStrikethruTag() {
|
protected function startStrikethruTag()
|
||||||
|
{
|
||||||
$this->strikethrough = true;
|
$this->strikethrough = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function endStrikethruTag() {
|
protected function endStrikethruTag()
|
||||||
|
{
|
||||||
$this->strikethrough = false;
|
$this->strikethrough = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function breakTag() {
|
protected function breakTag()
|
||||||
$this->stringData .= PHP_EOL;
|
{
|
||||||
|
$this->stringData .= "\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function parseTextNode(DOMText $textNode) {
|
protected function parseTextNode(DOMText $textNode)
|
||||||
$domText = preg_replace('/\s+/u', ' ', ltrim($textNode->nodeValue));
|
{
|
||||||
|
$domText = preg_replace(
|
||||||
|
'/\s+/u',
|
||||||
|
' ',
|
||||||
|
str_replace(["\r", "\n"], ' ', $textNode->nodeValue)
|
||||||
|
);
|
||||||
$this->stringData .= $domText;
|
$this->stringData .= $domText;
|
||||||
$this->buildTextRun();
|
$this->buildTextRun();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function handleCallback($element, $callbackTag, $callbacks) {
|
/**
|
||||||
|
* @param DOMElement $element
|
||||||
|
* @param string $callbackTag
|
||||||
|
* @param array $callbacks
|
||||||
|
*/
|
||||||
|
protected function handleCallback(DOMElement $element, $callbackTag, array $callbacks)
|
||||||
|
{
|
||||||
if (isset($callbacks[$callbackTag])) {
|
if (isset($callbacks[$callbackTag])) {
|
||||||
$elementHandler = $callbacks[$callbackTag];
|
$elementHandler = $callbacks[$callbackTag];
|
||||||
if (method_exists($this, $elementHandler)) {
|
if (method_exists($this, $elementHandler)) {
|
||||||
call_user_func(array($this, $elementHandler), $element);
|
call_user_func([$this, $elementHandler], $element);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function parseElementNode(DOMElement $element) {
|
protected function parseElementNode(DOMElement $element)
|
||||||
|
{
|
||||||
$callbackTag = strtolower($element->nodeName);
|
$callbackTag = strtolower($element->nodeName);
|
||||||
$this->stack[] = $callbackTag;
|
$this->stack[] = $callbackTag;
|
||||||
|
|
||||||
$this->handleCallback($element, $callbackTag, $this->startTagCallbacks);
|
$this->handleCallback($element, $callbackTag, $this->startTagCallbacks);
|
||||||
|
|
||||||
$this->parseElements($element);
|
$this->parseElements($element);
|
||||||
$this->stringData .= ' ';
|
|
||||||
array_pop($this->stack);
|
array_pop($this->stack);
|
||||||
|
|
||||||
$this->handleCallback($element, $callbackTag, $this->endTagCallbacks);
|
$this->handleCallback($element, $callbackTag, $this->endTagCallbacks);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function parseElements(DOMNode $element) {
|
protected function parseElements(DOMNode $element)
|
||||||
|
{
|
||||||
foreach ($element->childNodes as $child) {
|
foreach ($element->childNodes as $child) {
|
||||||
if ($child instanceof DOMText) {
|
if ($child instanceof DOMText) {
|
||||||
$this->parseTextNode($child);
|
$this->parseTextNode($child);
|
||||||
333
PhpOffice/PhpSpreadsheet/Helper/Migrator.php
Normal file
333
PhpOffice/PhpSpreadsheet/Helper/Migrator.php
Normal file
|
|
@ -0,0 +1,333 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Helper;
|
||||||
|
|
||||||
|
class Migrator
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @var string[]
|
||||||
|
*/
|
||||||
|
private $from;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string[]
|
||||||
|
*/
|
||||||
|
private $to;
|
||||||
|
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this->from = array_keys($this->getMapping());
|
||||||
|
$this->to = array_values($this->getMapping());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the ordered mapping from old PHPExcel class names to new PhpSpreadsheet one.
|
||||||
|
*
|
||||||
|
* @return string[]
|
||||||
|
*/
|
||||||
|
public function getMapping()
|
||||||
|
{
|
||||||
|
// Order matters here, we should have the deepest namespaces first (the most "unique" strings)
|
||||||
|
$classes = [
|
||||||
|
'PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip' => \PhpOffice\PhpSpreadsheet\Shared\Escher\DggContainer\BstoreContainer\BSE\Blip::class,
|
||||||
|
'PHPExcel_Shared_Escher_DgContainer_SpgrContainer_SpContainer' => \PhpOffice\PhpSpreadsheet\Shared\Escher\DgContainer\SpgrContainer\SpContainer::class,
|
||||||
|
'PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE' => \PhpOffice\PhpSpreadsheet\Shared\Escher\DggContainer\BstoreContainer\BSE::class,
|
||||||
|
'PHPExcel_Shared_Escher_DgContainer_SpgrContainer' => \PhpOffice\PhpSpreadsheet\Shared\Escher\DgContainer\SpgrContainer::class,
|
||||||
|
'PHPExcel_Shared_Escher_DggContainer_BstoreContainer' => \PhpOffice\PhpSpreadsheet\Shared\Escher\DggContainer\BstoreContainer::class,
|
||||||
|
'PHPExcel_Shared_OLE_PPS_File' => \PhpOffice\PhpSpreadsheet\Shared\OLE\PPS\File::class,
|
||||||
|
'PHPExcel_Shared_OLE_PPS_Root' => \PhpOffice\PhpSpreadsheet\Shared\OLE\PPS\Root::class,
|
||||||
|
'PHPExcel_Worksheet_AutoFilter_Column_Rule' => \PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column\Rule::class,
|
||||||
|
'PHPExcel_Writer_OpenDocument_Cell_Comment' => \PhpOffice\PhpSpreadsheet\Writer\Ods\Cell\Comment::class,
|
||||||
|
'PHPExcel_Calculation_Token_Stack' => \PhpOffice\PhpSpreadsheet\Calculation\Token\Stack::class,
|
||||||
|
'PHPExcel_Chart_Renderer_jpgraph' => \PhpOffice\PhpSpreadsheet\Chart\Renderer\JpGraph::class,
|
||||||
|
'PHPExcel_Reader_Excel5_Escher' => \PhpOffice\PhpSpreadsheet\Reader\Xls\Escher::class,
|
||||||
|
'PHPExcel_Reader_Excel5_MD5' => \PhpOffice\PhpSpreadsheet\Reader\Xls\MD5::class,
|
||||||
|
'PHPExcel_Reader_Excel5_RC4' => \PhpOffice\PhpSpreadsheet\Reader\Xls\RC4::class,
|
||||||
|
'PHPExcel_Reader_Excel2007_Chart' => \PhpOffice\PhpSpreadsheet\Reader\Xlsx\Chart::class,
|
||||||
|
'PHPExcel_Reader_Excel2007_Theme' => \PhpOffice\PhpSpreadsheet\Reader\Xlsx\Theme::class,
|
||||||
|
'PHPExcel_Shared_Escher_DgContainer' => \PhpOffice\PhpSpreadsheet\Shared\Escher\DgContainer::class,
|
||||||
|
'PHPExcel_Shared_Escher_DggContainer' => \PhpOffice\PhpSpreadsheet\Shared\Escher\DggContainer::class,
|
||||||
|
'CholeskyDecomposition' => \PhpOffice\PhpSpreadsheet\Shared\JAMA\CholeskyDecomposition::class,
|
||||||
|
'EigenvalueDecomposition' => \PhpOffice\PhpSpreadsheet\Shared\JAMA\EigenvalueDecomposition::class,
|
||||||
|
'PHPExcel_Shared_JAMA_LUDecomposition' => \PhpOffice\PhpSpreadsheet\Shared\JAMA\LUDecomposition::class,
|
||||||
|
'PHPExcel_Shared_JAMA_Matrix' => \PhpOffice\PhpSpreadsheet\Shared\JAMA\Matrix::class,
|
||||||
|
'QRDecomposition' => \PhpOffice\PhpSpreadsheet\Shared\JAMA\QRDecomposition::class,
|
||||||
|
'PHPExcel_Shared_JAMA_QRDecomposition' => \PhpOffice\PhpSpreadsheet\Shared\JAMA\QRDecomposition::class,
|
||||||
|
'SingularValueDecomposition' => \PhpOffice\PhpSpreadsheet\Shared\JAMA\SingularValueDecomposition::class,
|
||||||
|
'PHPExcel_Shared_OLE_ChainedBlockStream' => \PhpOffice\PhpSpreadsheet\Shared\OLE\ChainedBlockStream::class,
|
||||||
|
'PHPExcel_Shared_OLE_PPS' => \PhpOffice\PhpSpreadsheet\Shared\OLE\PPS::class,
|
||||||
|
'PHPExcel_Best_Fit' => \PhpOffice\PhpSpreadsheet\Shared\Trend\BestFit::class,
|
||||||
|
'PHPExcel_Exponential_Best_Fit' => \PhpOffice\PhpSpreadsheet\Shared\Trend\ExponentialBestFit::class,
|
||||||
|
'PHPExcel_Linear_Best_Fit' => \PhpOffice\PhpSpreadsheet\Shared\Trend\LinearBestFit::class,
|
||||||
|
'PHPExcel_Logarithmic_Best_Fit' => \PhpOffice\PhpSpreadsheet\Shared\Trend\LogarithmicBestFit::class,
|
||||||
|
'polynomialBestFit' => \PhpOffice\PhpSpreadsheet\Shared\Trend\PolynomialBestFit::class,
|
||||||
|
'PHPExcel_Polynomial_Best_Fit' => \PhpOffice\PhpSpreadsheet\Shared\Trend\PolynomialBestFit::class,
|
||||||
|
'powerBestFit' => \PhpOffice\PhpSpreadsheet\Shared\Trend\PowerBestFit::class,
|
||||||
|
'PHPExcel_Power_Best_Fit' => \PhpOffice\PhpSpreadsheet\Shared\Trend\PowerBestFit::class,
|
||||||
|
'trendClass' => \PhpOffice\PhpSpreadsheet\Shared\Trend\Trend::class,
|
||||||
|
'PHPExcel_Worksheet_AutoFilter_Column' => \PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column::class,
|
||||||
|
'PHPExcel_Worksheet_Drawing_Shadow' => \PhpOffice\PhpSpreadsheet\Worksheet\Drawing\Shadow::class,
|
||||||
|
'PHPExcel_Writer_OpenDocument_Content' => \PhpOffice\PhpSpreadsheet\Writer\Ods\Content::class,
|
||||||
|
'PHPExcel_Writer_OpenDocument_Meta' => \PhpOffice\PhpSpreadsheet\Writer\Ods\Meta::class,
|
||||||
|
'PHPExcel_Writer_OpenDocument_MetaInf' => \PhpOffice\PhpSpreadsheet\Writer\Ods\MetaInf::class,
|
||||||
|
'PHPExcel_Writer_OpenDocument_Mimetype' => \PhpOffice\PhpSpreadsheet\Writer\Ods\Mimetype::class,
|
||||||
|
'PHPExcel_Writer_OpenDocument_Settings' => \PhpOffice\PhpSpreadsheet\Writer\Ods\Settings::class,
|
||||||
|
'PHPExcel_Writer_OpenDocument_Styles' => \PhpOffice\PhpSpreadsheet\Writer\Ods\Styles::class,
|
||||||
|
'PHPExcel_Writer_OpenDocument_Thumbnails' => \PhpOffice\PhpSpreadsheet\Writer\Ods\Thumbnails::class,
|
||||||
|
'PHPExcel_Writer_OpenDocument_WriterPart' => \PhpOffice\PhpSpreadsheet\Writer\Ods\WriterPart::class,
|
||||||
|
'PHPExcel_Writer_PDF_Core' => \PhpOffice\PhpSpreadsheet\Writer\Pdf::class,
|
||||||
|
'PHPExcel_Writer_PDF_DomPDF' => \PhpOffice\PhpSpreadsheet\Writer\Pdf\Dompdf::class,
|
||||||
|
'PHPExcel_Writer_PDF_mPDF' => \PhpOffice\PhpSpreadsheet\Writer\Pdf\Mpdf::class,
|
||||||
|
'PHPExcel_Writer_PDF_tcPDF' => \PhpOffice\PhpSpreadsheet\Writer\Pdf\Tcpdf::class,
|
||||||
|
'PHPExcel_Writer_Excel5_BIFFwriter' => \PhpOffice\PhpSpreadsheet\Writer\Xls\BIFFwriter::class,
|
||||||
|
'PHPExcel_Writer_Excel5_Escher' => \PhpOffice\PhpSpreadsheet\Writer\Xls\Escher::class,
|
||||||
|
'PHPExcel_Writer_Excel5_Font' => \PhpOffice\PhpSpreadsheet\Writer\Xls\Font::class,
|
||||||
|
'PHPExcel_Writer_Excel5_Parser' => \PhpOffice\PhpSpreadsheet\Writer\Xls\Parser::class,
|
||||||
|
'PHPExcel_Writer_Excel5_Workbook' => \PhpOffice\PhpSpreadsheet\Writer\Xls\Workbook::class,
|
||||||
|
'PHPExcel_Writer_Excel5_Worksheet' => \PhpOffice\PhpSpreadsheet\Writer\Xls\Worksheet::class,
|
||||||
|
'PHPExcel_Writer_Excel5_Xf' => \PhpOffice\PhpSpreadsheet\Writer\Xls\Xf::class,
|
||||||
|
'PHPExcel_Writer_Excel2007_Chart' => \PhpOffice\PhpSpreadsheet\Writer\Xlsx\Chart::class,
|
||||||
|
'PHPExcel_Writer_Excel2007_Comments' => \PhpOffice\PhpSpreadsheet\Writer\Xlsx\Comments::class,
|
||||||
|
'PHPExcel_Writer_Excel2007_ContentTypes' => \PhpOffice\PhpSpreadsheet\Writer\Xlsx\ContentTypes::class,
|
||||||
|
'PHPExcel_Writer_Excel2007_DocProps' => \PhpOffice\PhpSpreadsheet\Writer\Xlsx\DocProps::class,
|
||||||
|
'PHPExcel_Writer_Excel2007_Drawing' => \PhpOffice\PhpSpreadsheet\Writer\Xlsx\Drawing::class,
|
||||||
|
'PHPExcel_Writer_Excel2007_Rels' => \PhpOffice\PhpSpreadsheet\Writer\Xlsx\Rels::class,
|
||||||
|
'PHPExcel_Writer_Excel2007_RelsRibbon' => \PhpOffice\PhpSpreadsheet\Writer\Xlsx\RelsRibbon::class,
|
||||||
|
'PHPExcel_Writer_Excel2007_RelsVBA' => \PhpOffice\PhpSpreadsheet\Writer\Xlsx\RelsVBA::class,
|
||||||
|
'PHPExcel_Writer_Excel2007_StringTable' => \PhpOffice\PhpSpreadsheet\Writer\Xlsx\StringTable::class,
|
||||||
|
'PHPExcel_Writer_Excel2007_Style' => \PhpOffice\PhpSpreadsheet\Writer\Xlsx\Style::class,
|
||||||
|
'PHPExcel_Writer_Excel2007_Theme' => \PhpOffice\PhpSpreadsheet\Writer\Xlsx\Theme::class,
|
||||||
|
'PHPExcel_Writer_Excel2007_Workbook' => \PhpOffice\PhpSpreadsheet\Writer\Xlsx\Workbook::class,
|
||||||
|
'PHPExcel_Writer_Excel2007_Worksheet' => \PhpOffice\PhpSpreadsheet\Writer\Xlsx\Worksheet::class,
|
||||||
|
'PHPExcel_Writer_Excel2007_WriterPart' => \PhpOffice\PhpSpreadsheet\Writer\Xlsx\WriterPart::class,
|
||||||
|
'PHPExcel_CachedObjectStorage_CacheBase' => \PhpOffice\PhpSpreadsheet\Collection\Cells::class,
|
||||||
|
'PHPExcel_CalcEngine_CyclicReferenceStack' => \PhpOffice\PhpSpreadsheet\Calculation\Engine\CyclicReferenceStack::class,
|
||||||
|
'PHPExcel_CalcEngine_Logger' => \PhpOffice\PhpSpreadsheet\Calculation\Engine\Logger::class,
|
||||||
|
'PHPExcel_Calculation_Functions' => \PhpOffice\PhpSpreadsheet\Calculation\Functions::class,
|
||||||
|
'PHPExcel_Calculation_Function' => \PhpOffice\PhpSpreadsheet\Calculation\Category::class,
|
||||||
|
'PHPExcel_Calculation_Database' => \PhpOffice\PhpSpreadsheet\Calculation\Database::class,
|
||||||
|
'PHPExcel_Calculation_DateTime' => \PhpOffice\PhpSpreadsheet\Calculation\DateTime::class,
|
||||||
|
'PHPExcel_Calculation_Engineering' => \PhpOffice\PhpSpreadsheet\Calculation\Engineering::class,
|
||||||
|
'PHPExcel_Calculation_Exception' => \PhpOffice\PhpSpreadsheet\Calculation\Exception::class,
|
||||||
|
'PHPExcel_Calculation_ExceptionHandler' => \PhpOffice\PhpSpreadsheet\Calculation\ExceptionHandler::class,
|
||||||
|
'PHPExcel_Calculation_Financial' => \PhpOffice\PhpSpreadsheet\Calculation\Financial::class,
|
||||||
|
'PHPExcel_Calculation_FormulaParser' => \PhpOffice\PhpSpreadsheet\Calculation\FormulaParser::class,
|
||||||
|
'PHPExcel_Calculation_FormulaToken' => \PhpOffice\PhpSpreadsheet\Calculation\FormulaToken::class,
|
||||||
|
'PHPExcel_Calculation_Logical' => \PhpOffice\PhpSpreadsheet\Calculation\Logical::class,
|
||||||
|
'PHPExcel_Calculation_LookupRef' => \PhpOffice\PhpSpreadsheet\Calculation\LookupRef::class,
|
||||||
|
'PHPExcel_Calculation_MathTrig' => \PhpOffice\PhpSpreadsheet\Calculation\MathTrig::class,
|
||||||
|
'PHPExcel_Calculation_Statistical' => \PhpOffice\PhpSpreadsheet\Calculation\Statistical::class,
|
||||||
|
'PHPExcel_Calculation_TextData' => \PhpOffice\PhpSpreadsheet\Calculation\TextData::class,
|
||||||
|
'PHPExcel_Cell_AdvancedValueBinder' => \PhpOffice\PhpSpreadsheet\Cell\AdvancedValueBinder::class,
|
||||||
|
'PHPExcel_Cell_DataType' => \PhpOffice\PhpSpreadsheet\Cell\DataType::class,
|
||||||
|
'PHPExcel_Cell_DataValidation' => \PhpOffice\PhpSpreadsheet\Cell\DataValidation::class,
|
||||||
|
'PHPExcel_Cell_DefaultValueBinder' => \PhpOffice\PhpSpreadsheet\Cell\DefaultValueBinder::class,
|
||||||
|
'PHPExcel_Cell_Hyperlink' => \PhpOffice\PhpSpreadsheet\Cell\Hyperlink::class,
|
||||||
|
'PHPExcel_Cell_IValueBinder' => \PhpOffice\PhpSpreadsheet\Cell\IValueBinder::class,
|
||||||
|
'PHPExcel_Chart_Axis' => \PhpOffice\PhpSpreadsheet\Chart\Axis::class,
|
||||||
|
'PHPExcel_Chart_DataSeries' => \PhpOffice\PhpSpreadsheet\Chart\DataSeries::class,
|
||||||
|
'PHPExcel_Chart_DataSeriesValues' => \PhpOffice\PhpSpreadsheet\Chart\DataSeriesValues::class,
|
||||||
|
'PHPExcel_Chart_Exception' => \PhpOffice\PhpSpreadsheet\Chart\Exception::class,
|
||||||
|
'PHPExcel_Chart_GridLines' => \PhpOffice\PhpSpreadsheet\Chart\GridLines::class,
|
||||||
|
'PHPExcel_Chart_Layout' => \PhpOffice\PhpSpreadsheet\Chart\Layout::class,
|
||||||
|
'PHPExcel_Chart_Legend' => \PhpOffice\PhpSpreadsheet\Chart\Legend::class,
|
||||||
|
'PHPExcel_Chart_PlotArea' => \PhpOffice\PhpSpreadsheet\Chart\PlotArea::class,
|
||||||
|
'PHPExcel_Properties' => \PhpOffice\PhpSpreadsheet\Chart\Properties::class,
|
||||||
|
'PHPExcel_Chart_Title' => \PhpOffice\PhpSpreadsheet\Chart\Title::class,
|
||||||
|
'PHPExcel_DocumentProperties' => \PhpOffice\PhpSpreadsheet\Document\Properties::class,
|
||||||
|
'PHPExcel_DocumentSecurity' => \PhpOffice\PhpSpreadsheet\Document\Security::class,
|
||||||
|
'PHPExcel_Helper_HTML' => \PhpOffice\PhpSpreadsheet\Helper\Html::class,
|
||||||
|
'PHPExcel_Reader_Abstract' => \PhpOffice\PhpSpreadsheet\Reader\BaseReader::class,
|
||||||
|
'PHPExcel_Reader_CSV' => \PhpOffice\PhpSpreadsheet\Reader\Csv::class,
|
||||||
|
'PHPExcel_Reader_DefaultReadFilter' => \PhpOffice\PhpSpreadsheet\Reader\DefaultReadFilter::class,
|
||||||
|
'PHPExcel_Reader_Excel2003XML' => \PhpOffice\PhpSpreadsheet\Reader\Xml::class,
|
||||||
|
'PHPExcel_Reader_Exception' => \PhpOffice\PhpSpreadsheet\Reader\Exception::class,
|
||||||
|
'PHPExcel_Reader_Gnumeric' => \PhpOffice\PhpSpreadsheet\Reader\Gnumeric::class,
|
||||||
|
'PHPExcel_Reader_HTML' => \PhpOffice\PhpSpreadsheet\Reader\Html::class,
|
||||||
|
'PHPExcel_Reader_IReadFilter' => \PhpOffice\PhpSpreadsheet\Reader\IReadFilter::class,
|
||||||
|
'PHPExcel_Reader_IReader' => \PhpOffice\PhpSpreadsheet\Reader\IReader::class,
|
||||||
|
'PHPExcel_Reader_OOCalc' => \PhpOffice\PhpSpreadsheet\Reader\Ods::class,
|
||||||
|
'PHPExcel_Reader_SYLK' => \PhpOffice\PhpSpreadsheet\Reader\Slk::class,
|
||||||
|
'PHPExcel_Reader_Excel5' => \PhpOffice\PhpSpreadsheet\Reader\Xls::class,
|
||||||
|
'PHPExcel_Reader_Excel2007' => \PhpOffice\PhpSpreadsheet\Reader\Xlsx::class,
|
||||||
|
'PHPExcel_RichText_ITextElement' => \PhpOffice\PhpSpreadsheet\RichText\ITextElement::class,
|
||||||
|
'PHPExcel_RichText_Run' => \PhpOffice\PhpSpreadsheet\RichText\Run::class,
|
||||||
|
'PHPExcel_RichText_TextElement' => \PhpOffice\PhpSpreadsheet\RichText\TextElement::class,
|
||||||
|
'PHPExcel_Shared_CodePage' => \PhpOffice\PhpSpreadsheet\Shared\CodePage::class,
|
||||||
|
'PHPExcel_Shared_Date' => \PhpOffice\PhpSpreadsheet\Shared\Date::class,
|
||||||
|
'PHPExcel_Shared_Drawing' => \PhpOffice\PhpSpreadsheet\Shared\Drawing::class,
|
||||||
|
'PHPExcel_Shared_Escher' => \PhpOffice\PhpSpreadsheet\Shared\Escher::class,
|
||||||
|
'PHPExcel_Shared_File' => \PhpOffice\PhpSpreadsheet\Shared\File::class,
|
||||||
|
'PHPExcel_Shared_Font' => \PhpOffice\PhpSpreadsheet\Shared\Font::class,
|
||||||
|
'PHPExcel_Shared_OLE' => \PhpOffice\PhpSpreadsheet\Shared\OLE::class,
|
||||||
|
'PHPExcel_Shared_OLERead' => \PhpOffice\PhpSpreadsheet\Shared\OLERead::class,
|
||||||
|
'PHPExcel_Shared_PasswordHasher' => \PhpOffice\PhpSpreadsheet\Shared\PasswordHasher::class,
|
||||||
|
'PHPExcel_Shared_String' => \PhpOffice\PhpSpreadsheet\Shared\StringHelper::class,
|
||||||
|
'PHPExcel_Shared_TimeZone' => \PhpOffice\PhpSpreadsheet\Shared\TimeZone::class,
|
||||||
|
'PHPExcel_Shared_XMLWriter' => \PhpOffice\PhpSpreadsheet\Shared\XMLWriter::class,
|
||||||
|
'PHPExcel_Shared_Excel5' => \PhpOffice\PhpSpreadsheet\Shared\Xls::class,
|
||||||
|
'PHPExcel_Style_Alignment' => \PhpOffice\PhpSpreadsheet\Style\Alignment::class,
|
||||||
|
'PHPExcel_Style_Border' => \PhpOffice\PhpSpreadsheet\Style\Border::class,
|
||||||
|
'PHPExcel_Style_Borders' => \PhpOffice\PhpSpreadsheet\Style\Borders::class,
|
||||||
|
'PHPExcel_Style_Color' => \PhpOffice\PhpSpreadsheet\Style\Color::class,
|
||||||
|
'PHPExcel_Style_Conditional' => \PhpOffice\PhpSpreadsheet\Style\Conditional::class,
|
||||||
|
'PHPExcel_Style_Fill' => \PhpOffice\PhpSpreadsheet\Style\Fill::class,
|
||||||
|
'PHPExcel_Style_Font' => \PhpOffice\PhpSpreadsheet\Style\Font::class,
|
||||||
|
'PHPExcel_Style_NumberFormat' => \PhpOffice\PhpSpreadsheet\Style\NumberFormat::class,
|
||||||
|
'PHPExcel_Style_Protection' => \PhpOffice\PhpSpreadsheet\Style\Protection::class,
|
||||||
|
'PHPExcel_Style_Supervisor' => \PhpOffice\PhpSpreadsheet\Style\Supervisor::class,
|
||||||
|
'PHPExcel_Worksheet_AutoFilter' => \PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter::class,
|
||||||
|
'PHPExcel_Worksheet_BaseDrawing' => \PhpOffice\PhpSpreadsheet\Worksheet\BaseDrawing::class,
|
||||||
|
'PHPExcel_Worksheet_CellIterator' => \PhpOffice\PhpSpreadsheet\Worksheet\CellIterator::class,
|
||||||
|
'PHPExcel_Worksheet_Column' => \PhpOffice\PhpSpreadsheet\Worksheet\Column::class,
|
||||||
|
'PHPExcel_Worksheet_ColumnCellIterator' => \PhpOffice\PhpSpreadsheet\Worksheet\ColumnCellIterator::class,
|
||||||
|
'PHPExcel_Worksheet_ColumnDimension' => \PhpOffice\PhpSpreadsheet\Worksheet\ColumnDimension::class,
|
||||||
|
'PHPExcel_Worksheet_ColumnIterator' => \PhpOffice\PhpSpreadsheet\Worksheet\ColumnIterator::class,
|
||||||
|
'PHPExcel_Worksheet_Drawing' => \PhpOffice\PhpSpreadsheet\Worksheet\Drawing::class,
|
||||||
|
'PHPExcel_Worksheet_HeaderFooter' => \PhpOffice\PhpSpreadsheet\Worksheet\HeaderFooter::class,
|
||||||
|
'PHPExcel_Worksheet_HeaderFooterDrawing' => \PhpOffice\PhpSpreadsheet\Worksheet\HeaderFooterDrawing::class,
|
||||||
|
'PHPExcel_WorksheetIterator' => \PhpOffice\PhpSpreadsheet\Worksheet\Iterator::class,
|
||||||
|
'PHPExcel_Worksheet_MemoryDrawing' => \PhpOffice\PhpSpreadsheet\Worksheet\MemoryDrawing::class,
|
||||||
|
'PHPExcel_Worksheet_PageMargins' => \PhpOffice\PhpSpreadsheet\Worksheet\PageMargins::class,
|
||||||
|
'PHPExcel_Worksheet_PageSetup' => \PhpOffice\PhpSpreadsheet\Worksheet\PageSetup::class,
|
||||||
|
'PHPExcel_Worksheet_Protection' => \PhpOffice\PhpSpreadsheet\Worksheet\Protection::class,
|
||||||
|
'PHPExcel_Worksheet_Row' => \PhpOffice\PhpSpreadsheet\Worksheet\Row::class,
|
||||||
|
'PHPExcel_Worksheet_RowCellIterator' => \PhpOffice\PhpSpreadsheet\Worksheet\RowCellIterator::class,
|
||||||
|
'PHPExcel_Worksheet_RowDimension' => \PhpOffice\PhpSpreadsheet\Worksheet\RowDimension::class,
|
||||||
|
'PHPExcel_Worksheet_RowIterator' => \PhpOffice\PhpSpreadsheet\Worksheet\RowIterator::class,
|
||||||
|
'PHPExcel_Worksheet_SheetView' => \PhpOffice\PhpSpreadsheet\Worksheet\SheetView::class,
|
||||||
|
'PHPExcel_Writer_Abstract' => \PhpOffice\PhpSpreadsheet\Writer\BaseWriter::class,
|
||||||
|
'PHPExcel_Writer_CSV' => \PhpOffice\PhpSpreadsheet\Writer\Csv::class,
|
||||||
|
'PHPExcel_Writer_Exception' => \PhpOffice\PhpSpreadsheet\Writer\Exception::class,
|
||||||
|
'PHPExcel_Writer_HTML' => \PhpOffice\PhpSpreadsheet\Writer\Html::class,
|
||||||
|
'PHPExcel_Writer_IWriter' => \PhpOffice\PhpSpreadsheet\Writer\IWriter::class,
|
||||||
|
'PHPExcel_Writer_OpenDocument' => \PhpOffice\PhpSpreadsheet\Writer\Ods::class,
|
||||||
|
'PHPExcel_Writer_PDF' => \PhpOffice\PhpSpreadsheet\Writer\Pdf::class,
|
||||||
|
'PHPExcel_Writer_Excel5' => \PhpOffice\PhpSpreadsheet\Writer\Xls::class,
|
||||||
|
'PHPExcel_Writer_Excel2007' => \PhpOffice\PhpSpreadsheet\Writer\Xlsx::class,
|
||||||
|
'PHPExcel_CachedObjectStorageFactory' => \PhpOffice\PhpSpreadsheet\Collection\CellsFactory::class,
|
||||||
|
'PHPExcel_Calculation' => \PhpOffice\PhpSpreadsheet\Calculation\Calculation::class,
|
||||||
|
'PHPExcel_Cell' => \PhpOffice\PhpSpreadsheet\Cell\Cell::class,
|
||||||
|
'PHPExcel_Chart' => \PhpOffice\PhpSpreadsheet\Chart\Chart::class,
|
||||||
|
'PHPExcel_Comment' => \PhpOffice\PhpSpreadsheet\Comment::class,
|
||||||
|
'PHPExcel_Exception' => \PhpOffice\PhpSpreadsheet\Exception::class,
|
||||||
|
'PHPExcel_HashTable' => \PhpOffice\PhpSpreadsheet\HashTable::class,
|
||||||
|
'PHPExcel_IComparable' => \PhpOffice\PhpSpreadsheet\IComparable::class,
|
||||||
|
'PHPExcel_IOFactory' => \PhpOffice\PhpSpreadsheet\IOFactory::class,
|
||||||
|
'PHPExcel_NamedRange' => \PhpOffice\PhpSpreadsheet\NamedRange::class,
|
||||||
|
'PHPExcel_ReferenceHelper' => \PhpOffice\PhpSpreadsheet\ReferenceHelper::class,
|
||||||
|
'PHPExcel_RichText' => \PhpOffice\PhpSpreadsheet\RichText\RichText::class,
|
||||||
|
'PHPExcel_Settings' => \PhpOffice\PhpSpreadsheet\Settings::class,
|
||||||
|
'PHPExcel_Style' => \PhpOffice\PhpSpreadsheet\Style\Style::class,
|
||||||
|
'PHPExcel_Worksheet' => \PhpOffice\PhpSpreadsheet\Worksheet\Worksheet::class,
|
||||||
|
];
|
||||||
|
|
||||||
|
$methods = [
|
||||||
|
'MINUTEOFHOUR' => 'MINUTE',
|
||||||
|
'SECONDOFMINUTE' => 'SECOND',
|
||||||
|
'DAYOFWEEK' => 'WEEKDAY',
|
||||||
|
'WEEKOFYEAR' => 'WEEKNUM',
|
||||||
|
'ExcelToPHPObject' => 'excelToDateTimeObject',
|
||||||
|
'ExcelToPHP' => 'excelToTimestamp',
|
||||||
|
'FormattedPHPToExcel' => 'formattedPHPToExcel',
|
||||||
|
'Cell::absoluteCoordinate' => 'Coordinate::absoluteCoordinate',
|
||||||
|
'Cell::absoluteReference' => 'Coordinate::absoluteReference',
|
||||||
|
'Cell::buildRange' => 'Coordinate::buildRange',
|
||||||
|
'Cell::columnIndexFromString' => 'Coordinate::columnIndexFromString',
|
||||||
|
'Cell::coordinateFromString' => 'Coordinate::coordinateFromString',
|
||||||
|
'Cell::extractAllCellReferencesInRange' => 'Coordinate::extractAllCellReferencesInRange',
|
||||||
|
'Cell::getRangeBoundaries' => 'Coordinate::getRangeBoundaries',
|
||||||
|
'Cell::mergeRangesInCollection' => 'Coordinate::mergeRangesInCollection',
|
||||||
|
'Cell::rangeBoundaries' => 'Coordinate::rangeBoundaries',
|
||||||
|
'Cell::rangeDimension' => 'Coordinate::rangeDimension',
|
||||||
|
'Cell::splitRange' => 'Coordinate::splitRange',
|
||||||
|
'Cell::stringFromColumnIndex' => 'Coordinate::stringFromColumnIndex',
|
||||||
|
];
|
||||||
|
|
||||||
|
// Keep '\' prefix for class names
|
||||||
|
$prefixedClasses = [];
|
||||||
|
foreach ($classes as $key => &$value) {
|
||||||
|
$value = str_replace('PhpOffice\\', '\\PhpOffice\\', $value);
|
||||||
|
$prefixedClasses['\\' . $key] = $value;
|
||||||
|
}
|
||||||
|
$mapping = $prefixedClasses + $classes + $methods;
|
||||||
|
|
||||||
|
return $mapping;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Search in all files in given directory.
|
||||||
|
*
|
||||||
|
* @param string $path
|
||||||
|
*/
|
||||||
|
private function recursiveReplace($path)
|
||||||
|
{
|
||||||
|
$patterns = [
|
||||||
|
'/*.md',
|
||||||
|
'/*.txt',
|
||||||
|
'/*.TXT',
|
||||||
|
'/*.php',
|
||||||
|
'/*.phpt',
|
||||||
|
'/*.php3',
|
||||||
|
'/*.php4',
|
||||||
|
'/*.php5',
|
||||||
|
'/*.phtml',
|
||||||
|
];
|
||||||
|
|
||||||
|
foreach ($patterns as $pattern) {
|
||||||
|
foreach (glob($path . $pattern) as $file) {
|
||||||
|
if (strpos($path, '/vendor/') !== false) {
|
||||||
|
echo $file . " skipped\n";
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
$original = file_get_contents($file);
|
||||||
|
$converted = $this->replace($original);
|
||||||
|
|
||||||
|
if ($original !== $converted) {
|
||||||
|
echo $file . " converted\n";
|
||||||
|
file_put_contents($file, $converted);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do the recursion in subdirectory
|
||||||
|
foreach (glob($path . '/*', GLOB_ONLYDIR) as $subpath) {
|
||||||
|
if (strpos($subpath, $path . '/') === 0) {
|
||||||
|
$this->recursiveReplace($subpath);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function migrate()
|
||||||
|
{
|
||||||
|
$path = realpath(getcwd());
|
||||||
|
echo 'This will search and replace recursively in ' . $path . PHP_EOL;
|
||||||
|
echo 'You MUST backup your files first, or you risk losing data.' . PHP_EOL;
|
||||||
|
echo 'Are you sure ? (y/n)';
|
||||||
|
|
||||||
|
$confirm = fread(STDIN, 1);
|
||||||
|
if ($confirm === 'y') {
|
||||||
|
$this->recursiveReplace($path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Migrate the given code from PHPExcel to PhpSpreadsheet.
|
||||||
|
*
|
||||||
|
* @param string $original
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function replace($original)
|
||||||
|
{
|
||||||
|
$converted = str_replace($this->from, $this->to, $original);
|
||||||
|
|
||||||
|
// The string "PHPExcel" gets special treatment because of how common it might be.
|
||||||
|
// This regex requires a word boundary around the string, and it can't be
|
||||||
|
// preceded by $ or -> (goal is to filter out cases where a variable is named $PHPExcel or similar)
|
||||||
|
$converted = preg_replace('~(?<!\$|->)(\b|\\\\)PHPExcel\b~', '\\' . \PhpOffice\PhpSpreadsheet\Spreadsheet::class, $converted);
|
||||||
|
|
||||||
|
return $converted;
|
||||||
|
}
|
||||||
|
}
|
||||||
230
PhpOffice/PhpSpreadsheet/Helper/Sample.php
Normal file
230
PhpOffice/PhpSpreadsheet/Helper/Sample.php
Normal file
|
|
@ -0,0 +1,230 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Helper;
|
||||||
|
|
||||||
|
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Writer\IWriter;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Writer\Pdf;
|
||||||
|
use RecursiveDirectoryIterator;
|
||||||
|
use RecursiveIteratorIterator;
|
||||||
|
use RecursiveRegexIterator;
|
||||||
|
use ReflectionClass;
|
||||||
|
use RegexIterator;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper class to be used in sample code.
|
||||||
|
*/
|
||||||
|
class Sample
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Returns whether we run on CLI or browser.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function isCli()
|
||||||
|
{
|
||||||
|
return PHP_SAPI === 'cli';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the filename currently being executed.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getScriptFilename()
|
||||||
|
{
|
||||||
|
return basename($_SERVER['SCRIPT_FILENAME'], '.php');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether we are executing the index page.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function isIndex()
|
||||||
|
{
|
||||||
|
return $this->getScriptFilename() === 'index';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the page title.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getPageTitle()
|
||||||
|
{
|
||||||
|
return $this->isIndex() ? 'PHPSpreadsheet' : $this->getScriptFilename();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the page heading.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getPageHeading()
|
||||||
|
{
|
||||||
|
return $this->isIndex() ? '' : '<h1>' . str_replace('_', ' ', $this->getScriptFilename()) . '</h1>';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns an array of all known samples.
|
||||||
|
*
|
||||||
|
* @return string[] [$name => $path]
|
||||||
|
*/
|
||||||
|
public function getSamples()
|
||||||
|
{
|
||||||
|
// Populate samples
|
||||||
|
$baseDir = realpath(__DIR__ . '/../../../samples');
|
||||||
|
$directory = new RecursiveDirectoryIterator($baseDir);
|
||||||
|
$iterator = new RecursiveIteratorIterator($directory);
|
||||||
|
$regex = new RegexIterator($iterator, '/^.+\.php$/', RecursiveRegexIterator::GET_MATCH);
|
||||||
|
|
||||||
|
$files = [];
|
||||||
|
foreach ($regex as $file) {
|
||||||
|
$file = str_replace(str_replace('\\', '/', $baseDir) . '/', '', str_replace('\\', '/', $file[0]));
|
||||||
|
$info = pathinfo($file);
|
||||||
|
$category = str_replace('_', ' ', $info['dirname']);
|
||||||
|
$name = str_replace('_', ' ', preg_replace('/(|\.php)/', '', $info['filename']));
|
||||||
|
if (!in_array($category, ['.', 'boostrap', 'templates'])) {
|
||||||
|
if (!isset($files[$category])) {
|
||||||
|
$files[$category] = [];
|
||||||
|
}
|
||||||
|
$files[$category][$name] = $file;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Sort everything
|
||||||
|
ksort($files);
|
||||||
|
foreach ($files as &$f) {
|
||||||
|
asort($f);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $files;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Write documents.
|
||||||
|
*
|
||||||
|
* @param Spreadsheet $spreadsheet
|
||||||
|
* @param string $filename
|
||||||
|
* @param string[] $writers
|
||||||
|
*/
|
||||||
|
public function write(Spreadsheet $spreadsheet, $filename, array $writers = ['Xlsx', 'Xls'])
|
||||||
|
{
|
||||||
|
// Set active sheet index to the first sheet, so Excel opens this as the first sheet
|
||||||
|
$spreadsheet->setActiveSheetIndex(0);
|
||||||
|
|
||||||
|
// Write documents
|
||||||
|
foreach ($writers as $writerType) {
|
||||||
|
$path = $this->getFilename($filename, mb_strtolower($writerType));
|
||||||
|
$writer = IOFactory::createWriter($spreadsheet, $writerType);
|
||||||
|
if ($writer instanceof Pdf) {
|
||||||
|
// PDF writer needs temporary directory
|
||||||
|
$tempDir = $this->getTemporaryFolder();
|
||||||
|
$writer->setTempDir($tempDir);
|
||||||
|
}
|
||||||
|
$callStartTime = microtime(true);
|
||||||
|
$writer->save($path);
|
||||||
|
$this->logWrite($writer, $path, $callStartTime);
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->logEndingNotes();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the temporary directory and make sure it exists.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
private function getTemporaryFolder()
|
||||||
|
{
|
||||||
|
$tempFolder = sys_get_temp_dir() . '/phpspreadsheet';
|
||||||
|
if (!is_dir($tempFolder)) {
|
||||||
|
if (!mkdir($tempFolder) && !is_dir($tempFolder)) {
|
||||||
|
throw new \RuntimeException(sprintf('Directory "%s" was not created', $tempFolder));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $tempFolder;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the filename that should be used for sample output.
|
||||||
|
*
|
||||||
|
* @param string $filename
|
||||||
|
* @param string $extension
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getFilename($filename, $extension = 'xlsx')
|
||||||
|
{
|
||||||
|
$originalExtension = pathinfo($filename, PATHINFO_EXTENSION);
|
||||||
|
|
||||||
|
return $this->getTemporaryFolder() . '/' . str_replace('.' . $originalExtension, '.' . $extension, basename($filename));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return a random temporary file name.
|
||||||
|
*
|
||||||
|
* @param string $extension
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getTemporaryFilename($extension = 'xlsx')
|
||||||
|
{
|
||||||
|
$temporaryFilename = tempnam($this->getTemporaryFolder(), 'phpspreadsheet-');
|
||||||
|
unlink($temporaryFilename);
|
||||||
|
|
||||||
|
return $temporaryFilename . '.' . $extension;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function log($message)
|
||||||
|
{
|
||||||
|
$eol = $this->isCli() ? PHP_EOL : '<br />';
|
||||||
|
echo date('H:i:s ') . $message . $eol;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log ending notes.
|
||||||
|
*/
|
||||||
|
public function logEndingNotes()
|
||||||
|
{
|
||||||
|
// Do not show execution time for index
|
||||||
|
$this->log('Peak memory usage: ' . (memory_get_peak_usage(true) / 1024 / 1024) . 'MB');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log a line about the write operation.
|
||||||
|
*
|
||||||
|
* @param IWriter $writer
|
||||||
|
* @param string $path
|
||||||
|
* @param float $callStartTime
|
||||||
|
*/
|
||||||
|
public function logWrite(IWriter $writer, $path, $callStartTime)
|
||||||
|
{
|
||||||
|
$callEndTime = microtime(true);
|
||||||
|
$callTime = $callEndTime - $callStartTime;
|
||||||
|
$reflection = new ReflectionClass($writer);
|
||||||
|
$format = $reflection->getShortName();
|
||||||
|
$message = "Write {$format} format to <code>{$path}</code> in " . sprintf('%.4f', $callTime) . ' seconds';
|
||||||
|
|
||||||
|
$this->log($message);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log a line about the read operation.
|
||||||
|
*
|
||||||
|
* @param string $format
|
||||||
|
* @param string $path
|
||||||
|
* @param float $callStartTime
|
||||||
|
*/
|
||||||
|
public function logRead($format, $path, $callStartTime)
|
||||||
|
{
|
||||||
|
$callEndTime = microtime(true);
|
||||||
|
$callTime = $callEndTime - $callStartTime;
|
||||||
|
$message = "Read {$format} format from <code>{$path}</code> in " . sprintf('%.4f', $callTime) . ' seconds';
|
||||||
|
|
||||||
|
$this->log($message);
|
||||||
|
}
|
||||||
|
}
|
||||||
13
PhpOffice/PhpSpreadsheet/IComparable.php
Normal file
13
PhpOffice/PhpSpreadsheet/IComparable.php
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet;
|
||||||
|
|
||||||
|
interface IComparable
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Get hash code.
|
||||||
|
*
|
||||||
|
* @return string Hash code
|
||||||
|
*/
|
||||||
|
public function getHashCode();
|
||||||
|
}
|
||||||
230
PhpOffice/PhpSpreadsheet/IOFactory.php
Normal file
230
PhpOffice/PhpSpreadsheet/IOFactory.php
Normal file
|
|
@ -0,0 +1,230 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet;
|
||||||
|
|
||||||
|
use PhpOffice\PhpSpreadsheet\Shared\File;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Factory to create readers and writers easily.
|
||||||
|
*
|
||||||
|
* It is not required to use this class, but it should make it easier to read and write files.
|
||||||
|
* Especially for reading files with an unknown format.
|
||||||
|
*/
|
||||||
|
abstract class IOFactory
|
||||||
|
{
|
||||||
|
private static $readers = [
|
||||||
|
'Xlsx' => Reader\Xlsx::class,
|
||||||
|
'Xls' => Reader\Xls::class,
|
||||||
|
'Xml' => Reader\Xml::class,
|
||||||
|
'Ods' => Reader\Ods::class,
|
||||||
|
'Slk' => Reader\Slk::class,
|
||||||
|
'Gnumeric' => Reader\Gnumeric::class,
|
||||||
|
'Html' => Reader\Html::class,
|
||||||
|
'Csv' => Reader\Csv::class,
|
||||||
|
];
|
||||||
|
|
||||||
|
private static $writers = [
|
||||||
|
'Xls' => Writer\Xls::class,
|
||||||
|
'Xlsx' => Writer\Xlsx::class,
|
||||||
|
'Ods' => Writer\Ods::class,
|
||||||
|
'Csv' => Writer\Csv::class,
|
||||||
|
'Html' => Writer\Html::class,
|
||||||
|
'Tcpdf' => Writer\Pdf\Tcpdf::class,
|
||||||
|
'Dompdf' => Writer\Pdf\Dompdf::class,
|
||||||
|
'Mpdf' => Writer\Pdf\Mpdf::class,
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create Writer\IWriter.
|
||||||
|
*
|
||||||
|
* @param Spreadsheet $spreadsheet
|
||||||
|
* @param string $writerType Example: Xlsx
|
||||||
|
*
|
||||||
|
* @throws Writer\Exception
|
||||||
|
*
|
||||||
|
* @return Writer\IWriter
|
||||||
|
*/
|
||||||
|
public static function createWriter(Spreadsheet $spreadsheet, $writerType)
|
||||||
|
{
|
||||||
|
if (!isset(self::$writers[$writerType])) {
|
||||||
|
throw new Writer\Exception("No writer found for type $writerType");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Instantiate writer
|
||||||
|
$className = self::$writers[$writerType];
|
||||||
|
$writer = new $className($spreadsheet);
|
||||||
|
|
||||||
|
return $writer;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create Reader\IReader.
|
||||||
|
*
|
||||||
|
* @param string $readerType Example: Xlsx
|
||||||
|
*
|
||||||
|
* @throws Reader\Exception
|
||||||
|
*
|
||||||
|
* @return Reader\IReader
|
||||||
|
*/
|
||||||
|
public static function createReader($readerType)
|
||||||
|
{
|
||||||
|
if (!isset(self::$readers[$readerType])) {
|
||||||
|
throw new Reader\Exception("No reader found for type $readerType");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Instantiate reader
|
||||||
|
$className = self::$readers[$readerType];
|
||||||
|
$reader = new $className();
|
||||||
|
|
||||||
|
return $reader;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Loads Spreadsheet from file using automatic Reader\IReader resolution.
|
||||||
|
*
|
||||||
|
* @param string $pFilename The name of the spreadsheet file
|
||||||
|
*
|
||||||
|
* @throws Reader\Exception
|
||||||
|
*
|
||||||
|
* @return Spreadsheet
|
||||||
|
*/
|
||||||
|
public static function load($pFilename)
|
||||||
|
{
|
||||||
|
$reader = self::createReaderForFile($pFilename);
|
||||||
|
|
||||||
|
return $reader->load($pFilename);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Identify file type using automatic Reader\IReader resolution.
|
||||||
|
*
|
||||||
|
* @param string $pFilename The name of the spreadsheet file to identify
|
||||||
|
*
|
||||||
|
* @throws Reader\Exception
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public static function identify($pFilename)
|
||||||
|
{
|
||||||
|
$reader = self::createReaderForFile($pFilename);
|
||||||
|
$className = get_class($reader);
|
||||||
|
$classType = explode('\\', $className);
|
||||||
|
unset($reader);
|
||||||
|
|
||||||
|
return array_pop($classType);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create Reader\IReader for file using automatic Reader\IReader resolution.
|
||||||
|
*
|
||||||
|
* @param string $filename The name of the spreadsheet file
|
||||||
|
*
|
||||||
|
* @throws Reader\Exception
|
||||||
|
*
|
||||||
|
* @return Reader\IReader
|
||||||
|
*/
|
||||||
|
public static function createReaderForFile($filename)
|
||||||
|
{
|
||||||
|
File::assertFile($filename);
|
||||||
|
|
||||||
|
// First, lucky guess by inspecting file extension
|
||||||
|
$guessedReader = self::getReaderTypeFromExtension($filename);
|
||||||
|
if ($guessedReader !== null) {
|
||||||
|
$reader = self::createReader($guessedReader);
|
||||||
|
|
||||||
|
// Let's see if we are lucky
|
||||||
|
if (isset($reader) && $reader->canRead($filename)) {
|
||||||
|
return $reader;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// If we reach here then "lucky guess" didn't give any result
|
||||||
|
// Try walking through all the options in self::$autoResolveClasses
|
||||||
|
foreach (self::$readers as $type => $class) {
|
||||||
|
// Ignore our original guess, we know that won't work
|
||||||
|
if ($type !== $guessedReader) {
|
||||||
|
$reader = self::createReader($type);
|
||||||
|
if ($reader->canRead($filename)) {
|
||||||
|
return $reader;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new Reader\Exception('Unable to identify a reader for this file');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Guess a reader type from the file extension, if any.
|
||||||
|
*
|
||||||
|
* @param string $filename
|
||||||
|
*
|
||||||
|
* @return null|string
|
||||||
|
*/
|
||||||
|
private static function getReaderTypeFromExtension($filename)
|
||||||
|
{
|
||||||
|
$pathinfo = pathinfo($filename);
|
||||||
|
if (!isset($pathinfo['extension'])) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (strtolower($pathinfo['extension'])) {
|
||||||
|
case 'xlsx': // Excel (OfficeOpenXML) Spreadsheet
|
||||||
|
case 'xlsm': // Excel (OfficeOpenXML) Macro Spreadsheet (macros will be discarded)
|
||||||
|
case 'xltx': // Excel (OfficeOpenXML) Template
|
||||||
|
case 'xltm': // Excel (OfficeOpenXML) Macro Template (macros will be discarded)
|
||||||
|
return 'Xlsx';
|
||||||
|
case 'xls': // Excel (BIFF) Spreadsheet
|
||||||
|
case 'xlt': // Excel (BIFF) Template
|
||||||
|
return 'Xls';
|
||||||
|
case 'ods': // Open/Libre Offic Calc
|
||||||
|
case 'ots': // Open/Libre Offic Calc Template
|
||||||
|
return 'Ods';
|
||||||
|
case 'slk':
|
||||||
|
return 'Slk';
|
||||||
|
case 'xml': // Excel 2003 SpreadSheetML
|
||||||
|
return 'Xml';
|
||||||
|
case 'gnumeric':
|
||||||
|
return 'Gnumeric';
|
||||||
|
case 'htm':
|
||||||
|
case 'html':
|
||||||
|
return 'Html';
|
||||||
|
case 'csv':
|
||||||
|
// Do nothing
|
||||||
|
// We must not try to use CSV reader since it loads
|
||||||
|
// all files including Excel files etc.
|
||||||
|
return null;
|
||||||
|
default:
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register a writer with its type and class name.
|
||||||
|
*
|
||||||
|
* @param string $writerType
|
||||||
|
* @param string $writerClass
|
||||||
|
*/
|
||||||
|
public static function registerWriter($writerType, $writerClass)
|
||||||
|
{
|
||||||
|
if (!is_a($writerClass, Writer\IWriter::class, true)) {
|
||||||
|
throw new Writer\Exception('Registered writers must implement ' . Writer\IWriter::class);
|
||||||
|
}
|
||||||
|
|
||||||
|
self::$writers[$writerType] = $writerClass;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register a reader with its type and class name.
|
||||||
|
*
|
||||||
|
* @param string $readerType
|
||||||
|
* @param string $readerClass
|
||||||
|
*/
|
||||||
|
public static function registerReader($readerType, $readerClass)
|
||||||
|
{
|
||||||
|
if (!is_a($readerClass, Reader\IReader::class, true)) {
|
||||||
|
throw new Reader\Exception('Registered readers must implement ' . Reader\IReader::class);
|
||||||
|
}
|
||||||
|
|
||||||
|
self::$readers[$readerType] = $readerClass;
|
||||||
|
}
|
||||||
|
}
|
||||||
240
PhpOffice/PhpSpreadsheet/NamedRange.php
Normal file
240
PhpOffice/PhpSpreadsheet/NamedRange.php
Normal file
|
|
@ -0,0 +1,240 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet;
|
||||||
|
|
||||||
|
use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
|
||||||
|
|
||||||
|
class NamedRange
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Range name.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $name;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Worksheet on which the named range can be resolved.
|
||||||
|
*
|
||||||
|
* @var Worksheet
|
||||||
|
*/
|
||||||
|
private $worksheet;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Range of the referenced cells.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $range;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Is the named range local? (i.e. can only be used on $this->worksheet).
|
||||||
|
*
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
private $localOnly;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Scope.
|
||||||
|
*
|
||||||
|
* @var Worksheet
|
||||||
|
*/
|
||||||
|
private $scope;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new NamedRange.
|
||||||
|
*
|
||||||
|
* @param string $pName
|
||||||
|
* @param Worksheet $pWorksheet
|
||||||
|
* @param string $pRange
|
||||||
|
* @param bool $pLocalOnly
|
||||||
|
* @param null|Worksheet $pScope Scope. Only applies when $pLocalOnly = true. Null for global scope.
|
||||||
|
*
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
public function __construct($pName, Worksheet $pWorksheet, $pRange = 'A1', $pLocalOnly = false, $pScope = null)
|
||||||
|
{
|
||||||
|
// Validate data
|
||||||
|
if (($pName === null) || ($pWorksheet === null) || ($pRange === null)) {
|
||||||
|
throw new Exception('Parameters can not be null.');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set local members
|
||||||
|
$this->name = $pName;
|
||||||
|
$this->worksheet = $pWorksheet;
|
||||||
|
$this->range = $pRange;
|
||||||
|
$this->localOnly = $pLocalOnly;
|
||||||
|
$this->scope = ($pLocalOnly == true) ? (($pScope == null) ? $pWorksheet : $pScope) : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get name.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getName()
|
||||||
|
{
|
||||||
|
return $this->name;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set name.
|
||||||
|
*
|
||||||
|
* @param string $value
|
||||||
|
*
|
||||||
|
* @return NamedRange
|
||||||
|
*/
|
||||||
|
public function setName($value)
|
||||||
|
{
|
||||||
|
if ($value !== null) {
|
||||||
|
// Old title
|
||||||
|
$oldTitle = $this->name;
|
||||||
|
|
||||||
|
// Re-attach
|
||||||
|
if ($this->worksheet !== null) {
|
||||||
|
$this->worksheet->getParent()->removeNamedRange($this->name, $this->worksheet);
|
||||||
|
}
|
||||||
|
$this->name = $value;
|
||||||
|
|
||||||
|
if ($this->worksheet !== null) {
|
||||||
|
$this->worksheet->getParent()->addNamedRange($this);
|
||||||
|
}
|
||||||
|
|
||||||
|
// New title
|
||||||
|
$newTitle = $this->name;
|
||||||
|
ReferenceHelper::getInstance()->updateNamedFormulas($this->worksheet->getParent(), $oldTitle, $newTitle);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get worksheet.
|
||||||
|
*
|
||||||
|
* @return Worksheet
|
||||||
|
*/
|
||||||
|
public function getWorksheet()
|
||||||
|
{
|
||||||
|
return $this->worksheet;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set worksheet.
|
||||||
|
*
|
||||||
|
* @param Worksheet $value
|
||||||
|
*
|
||||||
|
* @return NamedRange
|
||||||
|
*/
|
||||||
|
public function setWorksheet(Worksheet $value = null)
|
||||||
|
{
|
||||||
|
if ($value !== null) {
|
||||||
|
$this->worksheet = $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get range.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getRange()
|
||||||
|
{
|
||||||
|
return $this->range;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set range.
|
||||||
|
*
|
||||||
|
* @param string $value
|
||||||
|
*
|
||||||
|
* @return NamedRange
|
||||||
|
*/
|
||||||
|
public function setRange($value)
|
||||||
|
{
|
||||||
|
if ($value !== null) {
|
||||||
|
$this->range = $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get localOnly.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function getLocalOnly()
|
||||||
|
{
|
||||||
|
return $this->localOnly;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set localOnly.
|
||||||
|
*
|
||||||
|
* @param bool $value
|
||||||
|
*
|
||||||
|
* @return NamedRange
|
||||||
|
*/
|
||||||
|
public function setLocalOnly($value)
|
||||||
|
{
|
||||||
|
$this->localOnly = $value;
|
||||||
|
$this->scope = $value ? $this->worksheet : null;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get scope.
|
||||||
|
*
|
||||||
|
* @return null|Worksheet
|
||||||
|
*/
|
||||||
|
public function getScope()
|
||||||
|
{
|
||||||
|
return $this->scope;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set scope.
|
||||||
|
*
|
||||||
|
* @param null|Worksheet $value
|
||||||
|
*
|
||||||
|
* @return NamedRange
|
||||||
|
*/
|
||||||
|
public function setScope(Worksheet $value = null)
|
||||||
|
{
|
||||||
|
$this->scope = $value;
|
||||||
|
$this->localOnly = $value != null;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Resolve a named range to a regular cell range.
|
||||||
|
*
|
||||||
|
* @param string $pNamedRange Named range
|
||||||
|
* @param null|Worksheet $pSheet Scope. Use null for global scope
|
||||||
|
*
|
||||||
|
* @return NamedRange
|
||||||
|
*/
|
||||||
|
public static function resolveRange($pNamedRange, Worksheet $pSheet)
|
||||||
|
{
|
||||||
|
return $pSheet->getParent()->getNamedRange($pNamedRange, $pSheet);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implement PHP __clone to create a deep clone, not just a shallow copy.
|
||||||
|
*/
|
||||||
|
public function __clone()
|
||||||
|
{
|
||||||
|
$vars = get_object_vars($this);
|
||||||
|
foreach ($vars as $key => $value) {
|
||||||
|
if (is_object($value)) {
|
||||||
|
$this->$key = clone $value;
|
||||||
|
} else {
|
||||||
|
$this->$key = $value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
160
PhpOffice/PhpSpreadsheet/Reader/BaseReader.php
Normal file
160
PhpOffice/PhpSpreadsheet/Reader/BaseReader.php
Normal file
|
|
@ -0,0 +1,160 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Reader;
|
||||||
|
|
||||||
|
use PhpOffice\PhpSpreadsheet\Reader\Security\XmlScanner;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Shared\File;
|
||||||
|
|
||||||
|
abstract class BaseReader implements IReader
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Read data only?
|
||||||
|
* Identifies whether the Reader should only read data values for cells, and ignore any formatting information;
|
||||||
|
* or whether it should read both data and formatting.
|
||||||
|
*
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
protected $readDataOnly = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Read empty cells?
|
||||||
|
* Identifies whether the Reader should read data values for cells all cells, or should ignore cells containing
|
||||||
|
* null value or empty string.
|
||||||
|
*
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
protected $readEmptyCells = true;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Read charts that are defined in the workbook?
|
||||||
|
* Identifies whether the Reader should read the definitions for any charts that exist in the workbook;.
|
||||||
|
*
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
protected $includeCharts = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Restrict which sheets should be loaded?
|
||||||
|
* This property holds an array of worksheet names to be loaded. If null, then all worksheets will be loaded.
|
||||||
|
*
|
||||||
|
* @var array of string
|
||||||
|
*/
|
||||||
|
protected $loadSheetsOnly;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* IReadFilter instance.
|
||||||
|
*
|
||||||
|
* @var IReadFilter
|
||||||
|
*/
|
||||||
|
protected $readFilter;
|
||||||
|
|
||||||
|
protected $fileHandle;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var XmlScanner
|
||||||
|
*/
|
||||||
|
protected $securityScanner;
|
||||||
|
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this->readFilter = new DefaultReadFilter();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getReadDataOnly()
|
||||||
|
{
|
||||||
|
return $this->readDataOnly;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setReadDataOnly($pValue)
|
||||||
|
{
|
||||||
|
$this->readDataOnly = (bool) $pValue;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getReadEmptyCells()
|
||||||
|
{
|
||||||
|
return $this->readEmptyCells;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setReadEmptyCells($pValue)
|
||||||
|
{
|
||||||
|
$this->readEmptyCells = (bool) $pValue;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getIncludeCharts()
|
||||||
|
{
|
||||||
|
return $this->includeCharts;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setIncludeCharts($pValue)
|
||||||
|
{
|
||||||
|
$this->includeCharts = (bool) $pValue;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getLoadSheetsOnly()
|
||||||
|
{
|
||||||
|
return $this->loadSheetsOnly;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setLoadSheetsOnly($value)
|
||||||
|
{
|
||||||
|
if ($value === null) {
|
||||||
|
return $this->setLoadAllSheets();
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->loadSheetsOnly = is_array($value) ? $value : [$value];
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setLoadAllSheets()
|
||||||
|
{
|
||||||
|
$this->loadSheetsOnly = null;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getReadFilter()
|
||||||
|
{
|
||||||
|
return $this->readFilter;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setReadFilter(IReadFilter $pValue)
|
||||||
|
{
|
||||||
|
$this->readFilter = $pValue;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getSecurityScanner()
|
||||||
|
{
|
||||||
|
if (property_exists($this, 'securityScanner')) {
|
||||||
|
return $this->securityScanner;
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Open file for reading.
|
||||||
|
*
|
||||||
|
* @param string $pFilename
|
||||||
|
*
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
protected function openFile($pFilename)
|
||||||
|
{
|
||||||
|
File::assertFile($pFilename);
|
||||||
|
|
||||||
|
// Open file
|
||||||
|
$this->fileHandle = fopen($pFilename, 'r');
|
||||||
|
if ($this->fileHandle === false) {
|
||||||
|
throw new Exception('Could not open file ' . $pFilename . ' for reading.');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
563
PhpOffice/PhpSpreadsheet/Reader/Csv.php
Normal file
563
PhpOffice/PhpSpreadsheet/Reader/Csv.php
Normal file
|
|
@ -0,0 +1,563 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Reader;
|
||||||
|
|
||||||
|
use PhpOffice\PhpSpreadsheet\Cell\Coordinate;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Shared\StringHelper;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||||
|
|
||||||
|
class Csv extends BaseReader
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Input encoding.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $inputEncoding = 'UTF-8';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Delimiter.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $delimiter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enclosure.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $enclosure = '"';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sheet index to read.
|
||||||
|
*
|
||||||
|
* @var int
|
||||||
|
*/
|
||||||
|
private $sheetIndex = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Load rows contiguously.
|
||||||
|
*
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
private $contiguous = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Row counter for loading rows contiguously.
|
||||||
|
*
|
||||||
|
* @var int
|
||||||
|
*/
|
||||||
|
private $contiguousRow = -1;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The character that can escape the enclosure.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $escapeCharacter = '\\';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new CSV Reader instance.
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
parent::__construct();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set input encoding.
|
||||||
|
*
|
||||||
|
* @param string $pValue Input encoding, eg: 'UTF-8'
|
||||||
|
*
|
||||||
|
* @return Csv
|
||||||
|
*/
|
||||||
|
public function setInputEncoding($pValue)
|
||||||
|
{
|
||||||
|
$this->inputEncoding = $pValue;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get input encoding.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getInputEncoding()
|
||||||
|
{
|
||||||
|
return $this->inputEncoding;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Move filepointer past any BOM marker.
|
||||||
|
*/
|
||||||
|
protected function skipBOM()
|
||||||
|
{
|
||||||
|
rewind($this->fileHandle);
|
||||||
|
|
||||||
|
switch ($this->inputEncoding) {
|
||||||
|
case 'UTF-8':
|
||||||
|
fgets($this->fileHandle, 4) == "\xEF\xBB\xBF" ?
|
||||||
|
fseek($this->fileHandle, 3) : fseek($this->fileHandle, 0);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'UTF-16LE':
|
||||||
|
fgets($this->fileHandle, 3) == "\xFF\xFE" ?
|
||||||
|
fseek($this->fileHandle, 2) : fseek($this->fileHandle, 0);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'UTF-16BE':
|
||||||
|
fgets($this->fileHandle, 3) == "\xFE\xFF" ?
|
||||||
|
fseek($this->fileHandle, 2) : fseek($this->fileHandle, 0);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'UTF-32LE':
|
||||||
|
fgets($this->fileHandle, 5) == "\xFF\xFE\x00\x00" ?
|
||||||
|
fseek($this->fileHandle, 4) : fseek($this->fileHandle, 0);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'UTF-32BE':
|
||||||
|
fgets($this->fileHandle, 5) == "\x00\x00\xFE\xFF" ?
|
||||||
|
fseek($this->fileHandle, 4) : fseek($this->fileHandle, 0);
|
||||||
|
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Identify any separator that is explicitly set in the file.
|
||||||
|
*/
|
||||||
|
protected function checkSeparator()
|
||||||
|
{
|
||||||
|
$line = fgets($this->fileHandle);
|
||||||
|
if ($line === false) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((strlen(trim($line, "\r\n")) == 5) && (stripos($line, 'sep=') === 0)) {
|
||||||
|
$this->delimiter = substr($line, 4, 1);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->skipBOM();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Infer the separator if it isn't explicitly set in the file or specified by the user.
|
||||||
|
*/
|
||||||
|
protected function inferSeparator()
|
||||||
|
{
|
||||||
|
if ($this->delimiter !== null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$potentialDelimiters = [',', ';', "\t", '|', ':', ' ', '~'];
|
||||||
|
$counts = [];
|
||||||
|
foreach ($potentialDelimiters as $delimiter) {
|
||||||
|
$counts[$delimiter] = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Count how many times each of the potential delimiters appears in each line
|
||||||
|
$numberLines = 0;
|
||||||
|
while (($line = $this->getNextLine()) !== false && (++$numberLines < 1000)) {
|
||||||
|
$countLine = [];
|
||||||
|
for ($i = strlen($line) - 1; $i >= 0; --$i) {
|
||||||
|
$char = $line[$i];
|
||||||
|
if (isset($counts[$char])) {
|
||||||
|
if (!isset($countLine[$char])) {
|
||||||
|
$countLine[$char] = 0;
|
||||||
|
}
|
||||||
|
++$countLine[$char];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
foreach ($potentialDelimiters as $delimiter) {
|
||||||
|
$counts[$delimiter][] = $countLine[$delimiter]
|
||||||
|
?? 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// If number of lines is 0, nothing to infer : fall back to the default
|
||||||
|
if ($numberLines === 0) {
|
||||||
|
$this->delimiter = reset($potentialDelimiters);
|
||||||
|
$this->skipBOM();
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Calculate the mean square deviations for each delimiter (ignoring delimiters that haven't been found consistently)
|
||||||
|
$meanSquareDeviations = [];
|
||||||
|
$middleIdx = floor(($numberLines - 1) / 2);
|
||||||
|
|
||||||
|
foreach ($potentialDelimiters as $delimiter) {
|
||||||
|
$series = $counts[$delimiter];
|
||||||
|
sort($series);
|
||||||
|
|
||||||
|
$median = ($numberLines % 2)
|
||||||
|
? $series[$middleIdx]
|
||||||
|
: ($series[$middleIdx] + $series[$middleIdx + 1]) / 2;
|
||||||
|
|
||||||
|
if ($median === 0) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$meanSquareDeviations[$delimiter] = array_reduce(
|
||||||
|
$series,
|
||||||
|
function ($sum, $value) use ($median) {
|
||||||
|
return $sum + pow($value - $median, 2);
|
||||||
|
}
|
||||||
|
) / count($series);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ... and pick the delimiter with the smallest mean square deviation (in case of ties, the order in potentialDelimiters is respected)
|
||||||
|
$min = INF;
|
||||||
|
foreach ($potentialDelimiters as $delimiter) {
|
||||||
|
if (!isset($meanSquareDeviations[$delimiter])) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($meanSquareDeviations[$delimiter] < $min) {
|
||||||
|
$min = $meanSquareDeviations[$delimiter];
|
||||||
|
$this->delimiter = $delimiter;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// If no delimiter could be detected, fall back to the default
|
||||||
|
if ($this->delimiter === null) {
|
||||||
|
$this->delimiter = reset($potentialDelimiters);
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->skipBOM();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the next full line from the file.
|
||||||
|
*
|
||||||
|
* @param string $line
|
||||||
|
*
|
||||||
|
* @return bool|string
|
||||||
|
*/
|
||||||
|
private function getNextLine($line = '')
|
||||||
|
{
|
||||||
|
// Get the next line in the file
|
||||||
|
$newLine = fgets($this->fileHandle);
|
||||||
|
|
||||||
|
// Return false if there is no next line
|
||||||
|
if ($newLine === false) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add the new line to the line passed in
|
||||||
|
$line = $line . $newLine;
|
||||||
|
|
||||||
|
// Drop everything that is enclosed to avoid counting false positives in enclosures
|
||||||
|
$enclosure = '(?<!' . preg_quote($this->escapeCharacter, '/') . ')'
|
||||||
|
. preg_quote($this->enclosure, '/');
|
||||||
|
$line = preg_replace('/(' . $enclosure . '.*' . $enclosure . ')/Us', '', $line);
|
||||||
|
|
||||||
|
// See if we have any enclosures left in the line
|
||||||
|
// if we still have an enclosure then we need to read the next line as well
|
||||||
|
if (preg_match('/(' . $enclosure . ')/', $line) > 0) {
|
||||||
|
$line = $this->getNextLine($line);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $line;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return worksheet info (Name, Last Column Letter, Last Column Index, Total Rows, Total Columns).
|
||||||
|
*
|
||||||
|
* @param string $pFilename
|
||||||
|
*
|
||||||
|
* @throws Exception
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function listWorksheetInfo($pFilename)
|
||||||
|
{
|
||||||
|
// Open file
|
||||||
|
if (!$this->canRead($pFilename)) {
|
||||||
|
throw new Exception($pFilename . ' is an Invalid Spreadsheet file.');
|
||||||
|
}
|
||||||
|
$this->openFile($pFilename);
|
||||||
|
$fileHandle = $this->fileHandle;
|
||||||
|
|
||||||
|
// Skip BOM, if any
|
||||||
|
$this->skipBOM();
|
||||||
|
$this->checkSeparator();
|
||||||
|
$this->inferSeparator();
|
||||||
|
|
||||||
|
$worksheetInfo = [];
|
||||||
|
$worksheetInfo[0]['worksheetName'] = 'Worksheet';
|
||||||
|
$worksheetInfo[0]['lastColumnLetter'] = 'A';
|
||||||
|
$worksheetInfo[0]['lastColumnIndex'] = 0;
|
||||||
|
$worksheetInfo[0]['totalRows'] = 0;
|
||||||
|
$worksheetInfo[0]['totalColumns'] = 0;
|
||||||
|
|
||||||
|
// Loop through each line of the file in turn
|
||||||
|
while (($rowData = fgetcsv($fileHandle, 0, $this->delimiter, $this->enclosure, $this->escapeCharacter)) !== false) {
|
||||||
|
++$worksheetInfo[0]['totalRows'];
|
||||||
|
$worksheetInfo[0]['lastColumnIndex'] = max($worksheetInfo[0]['lastColumnIndex'], count($rowData) - 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
$worksheetInfo[0]['lastColumnLetter'] = Coordinate::stringFromColumnIndex($worksheetInfo[0]['lastColumnIndex'] + 1);
|
||||||
|
$worksheetInfo[0]['totalColumns'] = $worksheetInfo[0]['lastColumnIndex'] + 1;
|
||||||
|
|
||||||
|
// Close file
|
||||||
|
fclose($fileHandle);
|
||||||
|
|
||||||
|
return $worksheetInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Loads Spreadsheet from file.
|
||||||
|
*
|
||||||
|
* @param string $pFilename
|
||||||
|
*
|
||||||
|
* @throws Exception
|
||||||
|
*
|
||||||
|
* @return Spreadsheet
|
||||||
|
*/
|
||||||
|
public function load($pFilename)
|
||||||
|
{
|
||||||
|
// Create new Spreadsheet
|
||||||
|
$spreadsheet = new Spreadsheet();
|
||||||
|
|
||||||
|
// Load into this instance
|
||||||
|
return $this->loadIntoExisting($pFilename, $spreadsheet);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Loads PhpSpreadsheet from file into PhpSpreadsheet instance.
|
||||||
|
*
|
||||||
|
* @param string $pFilename
|
||||||
|
* @param Spreadsheet $spreadsheet
|
||||||
|
*
|
||||||
|
* @throws Exception
|
||||||
|
*
|
||||||
|
* @return Spreadsheet
|
||||||
|
*/
|
||||||
|
public function loadIntoExisting($pFilename, Spreadsheet $spreadsheet)
|
||||||
|
{
|
||||||
|
$lineEnding = ini_get('auto_detect_line_endings');
|
||||||
|
ini_set('auto_detect_line_endings', true);
|
||||||
|
|
||||||
|
// Open file
|
||||||
|
if (!$this->canRead($pFilename)) {
|
||||||
|
throw new Exception($pFilename . ' is an Invalid Spreadsheet file.');
|
||||||
|
}
|
||||||
|
$this->openFile($pFilename);
|
||||||
|
$fileHandle = $this->fileHandle;
|
||||||
|
|
||||||
|
// Skip BOM, if any
|
||||||
|
$this->skipBOM();
|
||||||
|
$this->checkSeparator();
|
||||||
|
$this->inferSeparator();
|
||||||
|
|
||||||
|
// Create new PhpSpreadsheet object
|
||||||
|
while ($spreadsheet->getSheetCount() <= $this->sheetIndex) {
|
||||||
|
$spreadsheet->createSheet();
|
||||||
|
}
|
||||||
|
$sheet = $spreadsheet->setActiveSheetIndex($this->sheetIndex);
|
||||||
|
|
||||||
|
// Set our starting row based on whether we're in contiguous mode or not
|
||||||
|
$currentRow = 1;
|
||||||
|
if ($this->contiguous) {
|
||||||
|
$currentRow = ($this->contiguousRow == -1) ? $sheet->getHighestRow() : $this->contiguousRow;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Loop through each line of the file in turn
|
||||||
|
while (($rowData = fgetcsv($fileHandle, 0, $this->delimiter, $this->enclosure, $this->escapeCharacter)) !== false) {
|
||||||
|
$columnLetter = 'A';
|
||||||
|
foreach ($rowData as $rowDatum) {
|
||||||
|
if ($rowDatum != '' && $this->readFilter->readCell($columnLetter, $currentRow)) {
|
||||||
|
// Convert encoding if necessary
|
||||||
|
if ($this->inputEncoding !== 'UTF-8') {
|
||||||
|
$rowDatum = StringHelper::convertEncoding($rowDatum, 'UTF-8', $this->inputEncoding);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set cell value
|
||||||
|
$sheet->getCell($columnLetter . $currentRow)->setValue($rowDatum);
|
||||||
|
}
|
||||||
|
++$columnLetter;
|
||||||
|
}
|
||||||
|
++$currentRow;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Close file
|
||||||
|
fclose($fileHandle);
|
||||||
|
|
||||||
|
if ($this->contiguous) {
|
||||||
|
$this->contiguousRow = $currentRow;
|
||||||
|
}
|
||||||
|
|
||||||
|
ini_set('auto_detect_line_endings', $lineEnding);
|
||||||
|
|
||||||
|
// Return
|
||||||
|
return $spreadsheet;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get delimiter.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getDelimiter()
|
||||||
|
{
|
||||||
|
return $this->delimiter;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set delimiter.
|
||||||
|
*
|
||||||
|
* @param string $delimiter Delimiter, eg: ','
|
||||||
|
*
|
||||||
|
* @return CSV
|
||||||
|
*/
|
||||||
|
public function setDelimiter($delimiter)
|
||||||
|
{
|
||||||
|
$this->delimiter = $delimiter;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get enclosure.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getEnclosure()
|
||||||
|
{
|
||||||
|
return $this->enclosure;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set enclosure.
|
||||||
|
*
|
||||||
|
* @param string $enclosure Enclosure, defaults to "
|
||||||
|
*
|
||||||
|
* @return CSV
|
||||||
|
*/
|
||||||
|
public function setEnclosure($enclosure)
|
||||||
|
{
|
||||||
|
if ($enclosure == '') {
|
||||||
|
$enclosure = '"';
|
||||||
|
}
|
||||||
|
$this->enclosure = $enclosure;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get sheet index.
|
||||||
|
*
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public function getSheetIndex()
|
||||||
|
{
|
||||||
|
return $this->sheetIndex;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set sheet index.
|
||||||
|
*
|
||||||
|
* @param int $pValue Sheet index
|
||||||
|
*
|
||||||
|
* @return CSV
|
||||||
|
*/
|
||||||
|
public function setSheetIndex($pValue)
|
||||||
|
{
|
||||||
|
$this->sheetIndex = $pValue;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Contiguous.
|
||||||
|
*
|
||||||
|
* @param bool $contiguous
|
||||||
|
*
|
||||||
|
* @return Csv
|
||||||
|
*/
|
||||||
|
public function setContiguous($contiguous)
|
||||||
|
{
|
||||||
|
$this->contiguous = (bool) $contiguous;
|
||||||
|
if (!$contiguous) {
|
||||||
|
$this->contiguousRow = -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Contiguous.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function getContiguous()
|
||||||
|
{
|
||||||
|
return $this->contiguous;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set escape backslashes.
|
||||||
|
*
|
||||||
|
* @param string $escapeCharacter
|
||||||
|
*
|
||||||
|
* @return $this
|
||||||
|
*/
|
||||||
|
public function setEscapeCharacter($escapeCharacter)
|
||||||
|
{
|
||||||
|
$this->escapeCharacter = $escapeCharacter;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get escape backslashes.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getEscapeCharacter()
|
||||||
|
{
|
||||||
|
return $this->escapeCharacter;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Can the current IReader read the file?
|
||||||
|
*
|
||||||
|
* @param string $pFilename
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function canRead($pFilename)
|
||||||
|
{
|
||||||
|
// Check if file exists
|
||||||
|
try {
|
||||||
|
$this->openFile($pFilename);
|
||||||
|
} catch (Exception $e) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
fclose($this->fileHandle);
|
||||||
|
|
||||||
|
// Trust file extension if any
|
||||||
|
$extension = strtolower(pathinfo($pFilename, PATHINFO_EXTENSION));
|
||||||
|
if (in_array($extension, ['csv', 'tsv'])) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Attempt to guess mimetype
|
||||||
|
$type = mime_content_type($pFilename);
|
||||||
|
$supportedTypes = [
|
||||||
|
'text/csv',
|
||||||
|
'text/plain',
|
||||||
|
'inode/x-empty',
|
||||||
|
];
|
||||||
|
|
||||||
|
return in_array($type, $supportedTypes, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
20
PhpOffice/PhpSpreadsheet/Reader/DefaultReadFilter.php
Normal file
20
PhpOffice/PhpSpreadsheet/Reader/DefaultReadFilter.php
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Reader;
|
||||||
|
|
||||||
|
class DefaultReadFilter implements IReadFilter
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Should this cell be read?
|
||||||
|
*
|
||||||
|
* @param string $column Column address (as a string value like "A", or "IV")
|
||||||
|
* @param int $row Row number
|
||||||
|
* @param string $worksheetName Optional worksheet name
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function readCell($column, $row, $worksheetName = '')
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
9
PhpOffice/PhpSpreadsheet/Reader/Exception.php
Normal file
9
PhpOffice/PhpSpreadsheet/Reader/Exception.php
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Reader;
|
||||||
|
|
||||||
|
use PhpOffice\PhpSpreadsheet\Exception as PhpSpreadsheetException;
|
||||||
|
|
||||||
|
class Exception extends PhpSpreadsheetException
|
||||||
|
{
|
||||||
|
}
|
||||||
889
PhpOffice/PhpSpreadsheet/Reader/Gnumeric.php
Normal file
889
PhpOffice/PhpSpreadsheet/Reader/Gnumeric.php
Normal file
|
|
@ -0,0 +1,889 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Reader;
|
||||||
|
|
||||||
|
use PhpOffice\PhpSpreadsheet\Cell\Coordinate;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Cell\DataType;
|
||||||
|
use PhpOffice\PhpSpreadsheet\NamedRange;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Reader\Security\XmlScanner;
|
||||||
|
use PhpOffice\PhpSpreadsheet\ReferenceHelper;
|
||||||
|
use PhpOffice\PhpSpreadsheet\RichText\RichText;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Settings;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Shared\Date;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Shared\File;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Style\Alignment;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Style\Border;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Style\Borders;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Style\Fill;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Style\Font;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
|
||||||
|
use XMLReader;
|
||||||
|
|
||||||
|
class Gnumeric extends BaseReader
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Shared Expressions.
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
private $expressions = [];
|
||||||
|
|
||||||
|
private $referenceHelper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new Gnumeric.
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
parent::__construct();
|
||||||
|
$this->referenceHelper = ReferenceHelper::getInstance();
|
||||||
|
$this->securityScanner = XmlScanner::getInstance($this);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Can the current IReader read the file?
|
||||||
|
*
|
||||||
|
* @param string $pFilename
|
||||||
|
*
|
||||||
|
* @throws Exception
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function canRead($pFilename)
|
||||||
|
{
|
||||||
|
File::assertFile($pFilename);
|
||||||
|
|
||||||
|
// Check if gzlib functions are available
|
||||||
|
if (!function_exists('gzread')) {
|
||||||
|
throw new Exception('gzlib library is not enabled');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Read signature data (first 3 bytes)
|
||||||
|
$fh = fopen($pFilename, 'r');
|
||||||
|
$data = fread($fh, 2);
|
||||||
|
fclose($fh);
|
||||||
|
|
||||||
|
return $data == chr(0x1F) . chr(0x8B);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reads names of the worksheets from a file, without parsing the whole file to a Spreadsheet object.
|
||||||
|
*
|
||||||
|
* @param string $pFilename
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function listWorksheetNames($pFilename)
|
||||||
|
{
|
||||||
|
File::assertFile($pFilename);
|
||||||
|
|
||||||
|
$xml = new XMLReader();
|
||||||
|
$xml->xml($this->securityScanner->scanFile('compress.zlib://' . realpath($pFilename)), null, Settings::getLibXmlLoaderOptions());
|
||||||
|
$xml->setParserProperty(2, true);
|
||||||
|
|
||||||
|
$worksheetNames = [];
|
||||||
|
while ($xml->read()) {
|
||||||
|
if ($xml->name == 'gnm:SheetName' && $xml->nodeType == XMLReader::ELEMENT) {
|
||||||
|
$xml->read(); // Move onto the value node
|
||||||
|
$worksheetNames[] = (string) $xml->value;
|
||||||
|
} elseif ($xml->name == 'gnm:Sheets') {
|
||||||
|
// break out of the loop once we've got our sheet names rather than parse the entire file
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $worksheetNames;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return worksheet info (Name, Last Column Letter, Last Column Index, Total Rows, Total Columns).
|
||||||
|
*
|
||||||
|
* @param string $pFilename
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function listWorksheetInfo($pFilename)
|
||||||
|
{
|
||||||
|
File::assertFile($pFilename);
|
||||||
|
|
||||||
|
$xml = new XMLReader();
|
||||||
|
$xml->xml($this->securityScanner->scanFile('compress.zlib://' . realpath($pFilename)), null, Settings::getLibXmlLoaderOptions());
|
||||||
|
$xml->setParserProperty(2, true);
|
||||||
|
|
||||||
|
$worksheetInfo = [];
|
||||||
|
while ($xml->read()) {
|
||||||
|
if ($xml->name == 'gnm:Sheet' && $xml->nodeType == XMLReader::ELEMENT) {
|
||||||
|
$tmpInfo = [
|
||||||
|
'worksheetName' => '',
|
||||||
|
'lastColumnLetter' => 'A',
|
||||||
|
'lastColumnIndex' => 0,
|
||||||
|
'totalRows' => 0,
|
||||||
|
'totalColumns' => 0,
|
||||||
|
];
|
||||||
|
|
||||||
|
while ($xml->read()) {
|
||||||
|
if ($xml->name == 'gnm:Name' && $xml->nodeType == XMLReader::ELEMENT) {
|
||||||
|
$xml->read(); // Move onto the value node
|
||||||
|
$tmpInfo['worksheetName'] = (string) $xml->value;
|
||||||
|
} elseif ($xml->name == 'gnm:MaxCol' && $xml->nodeType == XMLReader::ELEMENT) {
|
||||||
|
$xml->read(); // Move onto the value node
|
||||||
|
$tmpInfo['lastColumnIndex'] = (int) $xml->value;
|
||||||
|
$tmpInfo['totalColumns'] = (int) $xml->value + 1;
|
||||||
|
} elseif ($xml->name == 'gnm:MaxRow' && $xml->nodeType == XMLReader::ELEMENT) {
|
||||||
|
$xml->read(); // Move onto the value node
|
||||||
|
$tmpInfo['totalRows'] = (int) $xml->value + 1;
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$tmpInfo['lastColumnLetter'] = Coordinate::stringFromColumnIndex($tmpInfo['lastColumnIndex'] + 1);
|
||||||
|
$worksheetInfo[] = $tmpInfo;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $worksheetInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $filename
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
private function gzfileGetContents($filename)
|
||||||
|
{
|
||||||
|
$file = @gzopen($filename, 'rb');
|
||||||
|
$data = '';
|
||||||
|
if ($file !== false) {
|
||||||
|
while (!gzeof($file)) {
|
||||||
|
$data .= gzread($file, 1024);
|
||||||
|
}
|
||||||
|
gzclose($file);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Loads Spreadsheet from file.
|
||||||
|
*
|
||||||
|
* @param string $pFilename
|
||||||
|
*
|
||||||
|
* @throws Exception
|
||||||
|
*
|
||||||
|
* @return Spreadsheet
|
||||||
|
*/
|
||||||
|
public function load($pFilename)
|
||||||
|
{
|
||||||
|
// Create new Spreadsheet
|
||||||
|
$spreadsheet = new Spreadsheet();
|
||||||
|
|
||||||
|
// Load into this instance
|
||||||
|
return $this->loadIntoExisting($pFilename, $spreadsheet);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Loads from file into Spreadsheet instance.
|
||||||
|
*
|
||||||
|
* @param string $pFilename
|
||||||
|
* @param Spreadsheet $spreadsheet
|
||||||
|
*
|
||||||
|
* @throws Exception
|
||||||
|
*
|
||||||
|
* @return Spreadsheet
|
||||||
|
*/
|
||||||
|
public function loadIntoExisting($pFilename, Spreadsheet $spreadsheet)
|
||||||
|
{
|
||||||
|
File::assertFile($pFilename);
|
||||||
|
|
||||||
|
$gFileData = $this->gzfileGetContents($pFilename);
|
||||||
|
|
||||||
|
$xml = simplexml_load_string($this->securityScanner->scan($gFileData), 'SimpleXMLElement', Settings::getLibXmlLoaderOptions());
|
||||||
|
$namespacesMeta = $xml->getNamespaces(true);
|
||||||
|
|
||||||
|
$gnmXML = $xml->children($namespacesMeta['gnm']);
|
||||||
|
|
||||||
|
$docProps = $spreadsheet->getProperties();
|
||||||
|
// Document Properties are held differently, depending on the version of Gnumeric
|
||||||
|
if (isset($namespacesMeta['office'])) {
|
||||||
|
$officeXML = $xml->children($namespacesMeta['office']);
|
||||||
|
$officeDocXML = $officeXML->{'document-meta'};
|
||||||
|
$officeDocMetaXML = $officeDocXML->meta;
|
||||||
|
|
||||||
|
foreach ($officeDocMetaXML as $officePropertyData) {
|
||||||
|
$officePropertyDC = [];
|
||||||
|
if (isset($namespacesMeta['dc'])) {
|
||||||
|
$officePropertyDC = $officePropertyData->children($namespacesMeta['dc']);
|
||||||
|
}
|
||||||
|
foreach ($officePropertyDC as $propertyName => $propertyValue) {
|
||||||
|
$propertyValue = (string) $propertyValue;
|
||||||
|
switch ($propertyName) {
|
||||||
|
case 'title':
|
||||||
|
$docProps->setTitle(trim($propertyValue));
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'subject':
|
||||||
|
$docProps->setSubject(trim($propertyValue));
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'creator':
|
||||||
|
$docProps->setCreator(trim($propertyValue));
|
||||||
|
$docProps->setLastModifiedBy(trim($propertyValue));
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'date':
|
||||||
|
$creationDate = strtotime(trim($propertyValue));
|
||||||
|
$docProps->setCreated($creationDate);
|
||||||
|
$docProps->setModified($creationDate);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'description':
|
||||||
|
$docProps->setDescription(trim($propertyValue));
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$officePropertyMeta = [];
|
||||||
|
if (isset($namespacesMeta['meta'])) {
|
||||||
|
$officePropertyMeta = $officePropertyData->children($namespacesMeta['meta']);
|
||||||
|
}
|
||||||
|
foreach ($officePropertyMeta as $propertyName => $propertyValue) {
|
||||||
|
$attributes = $propertyValue->attributes($namespacesMeta['meta']);
|
||||||
|
$propertyValue = (string) $propertyValue;
|
||||||
|
switch ($propertyName) {
|
||||||
|
case 'keyword':
|
||||||
|
$docProps->setKeywords(trim($propertyValue));
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'initial-creator':
|
||||||
|
$docProps->setCreator(trim($propertyValue));
|
||||||
|
$docProps->setLastModifiedBy(trim($propertyValue));
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'creation-date':
|
||||||
|
$creationDate = strtotime(trim($propertyValue));
|
||||||
|
$docProps->setCreated($creationDate);
|
||||||
|
$docProps->setModified($creationDate);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'user-defined':
|
||||||
|
[, $attrName] = explode(':', $attributes['name']);
|
||||||
|
switch ($attrName) {
|
||||||
|
case 'publisher':
|
||||||
|
$docProps->setCompany(trim($propertyValue));
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'category':
|
||||||
|
$docProps->setCategory(trim($propertyValue));
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'manager':
|
||||||
|
$docProps->setManager(trim($propertyValue));
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} elseif (isset($gnmXML->Summary)) {
|
||||||
|
foreach ($gnmXML->Summary->Item as $summaryItem) {
|
||||||
|
$propertyName = $summaryItem->name;
|
||||||
|
$propertyValue = $summaryItem->{'val-string'};
|
||||||
|
switch ($propertyName) {
|
||||||
|
case 'title':
|
||||||
|
$docProps->setTitle(trim($propertyValue));
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'comments':
|
||||||
|
$docProps->setDescription(trim($propertyValue));
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'keywords':
|
||||||
|
$docProps->setKeywords(trim($propertyValue));
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'category':
|
||||||
|
$docProps->setCategory(trim($propertyValue));
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'manager':
|
||||||
|
$docProps->setManager(trim($propertyValue));
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'author':
|
||||||
|
$docProps->setCreator(trim($propertyValue));
|
||||||
|
$docProps->setLastModifiedBy(trim($propertyValue));
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'company':
|
||||||
|
$docProps->setCompany(trim($propertyValue));
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$worksheetID = 0;
|
||||||
|
foreach ($gnmXML->Sheets->Sheet as $sheet) {
|
||||||
|
$worksheetName = (string) $sheet->Name;
|
||||||
|
if ((isset($this->loadSheetsOnly)) && (!in_array($worksheetName, $this->loadSheetsOnly))) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$maxRow = $maxCol = 0;
|
||||||
|
|
||||||
|
// Create new Worksheet
|
||||||
|
$spreadsheet->createSheet();
|
||||||
|
$spreadsheet->setActiveSheetIndex($worksheetID);
|
||||||
|
// Use false for $updateFormulaCellReferences to prevent adjustment of worksheet references in formula
|
||||||
|
// cells... during the load, all formulae should be correct, and we're simply bringing the worksheet
|
||||||
|
// name in line with the formula, not the reverse
|
||||||
|
$spreadsheet->getActiveSheet()->setTitle($worksheetName, false, false);
|
||||||
|
|
||||||
|
if ((!$this->readDataOnly) && (isset($sheet->PrintInformation))) {
|
||||||
|
if (isset($sheet->PrintInformation->Margins)) {
|
||||||
|
foreach ($sheet->PrintInformation->Margins->children('gnm', true) as $key => $margin) {
|
||||||
|
$marginAttributes = $margin->attributes();
|
||||||
|
$marginSize = 72 / 100; // Default
|
||||||
|
switch ($marginAttributes['PrefUnit']) {
|
||||||
|
case 'mm':
|
||||||
|
$marginSize = (int) ($marginAttributes['Points']) / 100;
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
switch ($key) {
|
||||||
|
case 'top':
|
||||||
|
$spreadsheet->getActiveSheet()->getPageMargins()->setTop($marginSize);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'bottom':
|
||||||
|
$spreadsheet->getActiveSheet()->getPageMargins()->setBottom($marginSize);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'left':
|
||||||
|
$spreadsheet->getActiveSheet()->getPageMargins()->setLeft($marginSize);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'right':
|
||||||
|
$spreadsheet->getActiveSheet()->getPageMargins()->setRight($marginSize);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'header':
|
||||||
|
$spreadsheet->getActiveSheet()->getPageMargins()->setHeader($marginSize);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'footer':
|
||||||
|
$spreadsheet->getActiveSheet()->getPageMargins()->setFooter($marginSize);
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($sheet->Cells->Cell as $cell) {
|
||||||
|
$cellAttributes = $cell->attributes();
|
||||||
|
$row = (int) $cellAttributes->Row + 1;
|
||||||
|
$column = (int) $cellAttributes->Col;
|
||||||
|
|
||||||
|
if ($row > $maxRow) {
|
||||||
|
$maxRow = $row;
|
||||||
|
}
|
||||||
|
if ($column > $maxCol) {
|
||||||
|
$maxCol = $column;
|
||||||
|
}
|
||||||
|
|
||||||
|
$column = Coordinate::stringFromColumnIndex($column + 1);
|
||||||
|
|
||||||
|
// Read cell?
|
||||||
|
if ($this->getReadFilter() !== null) {
|
||||||
|
if (!$this->getReadFilter()->readCell($column, $row, $worksheetName)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$ValueType = $cellAttributes->ValueType;
|
||||||
|
$ExprID = (string) $cellAttributes->ExprID;
|
||||||
|
$type = DataType::TYPE_FORMULA;
|
||||||
|
if ($ExprID > '') {
|
||||||
|
if (((string) $cell) > '') {
|
||||||
|
$this->expressions[$ExprID] = [
|
||||||
|
'column' => $cellAttributes->Col,
|
||||||
|
'row' => $cellAttributes->Row,
|
||||||
|
'formula' => (string) $cell,
|
||||||
|
];
|
||||||
|
} else {
|
||||||
|
$expression = $this->expressions[$ExprID];
|
||||||
|
|
||||||
|
$cell = $this->referenceHelper->updateFormulaReferences(
|
||||||
|
$expression['formula'],
|
||||||
|
'A1',
|
||||||
|
$cellAttributes->Col - $expression['column'],
|
||||||
|
$cellAttributes->Row - $expression['row'],
|
||||||
|
$worksheetName
|
||||||
|
);
|
||||||
|
}
|
||||||
|
$type = DataType::TYPE_FORMULA;
|
||||||
|
} else {
|
||||||
|
switch ($ValueType) {
|
||||||
|
case '10': // NULL
|
||||||
|
$type = DataType::TYPE_NULL;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '20': // Boolean
|
||||||
|
$type = DataType::TYPE_BOOL;
|
||||||
|
$cell = $cell == 'TRUE';
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '30': // Integer
|
||||||
|
$cell = (int) $cell;
|
||||||
|
// Excel 2007+ doesn't differentiate between integer and float, so set the value and dropthru to the next (numeric) case
|
||||||
|
// no break
|
||||||
|
case '40': // Float
|
||||||
|
$type = DataType::TYPE_NUMERIC;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '50': // Error
|
||||||
|
$type = DataType::TYPE_ERROR;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '60': // String
|
||||||
|
$type = DataType::TYPE_STRING;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '70': // Cell Range
|
||||||
|
case '80': // Array
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$spreadsheet->getActiveSheet()->getCell($column . $row)->setValueExplicit($cell, $type);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((!$this->readDataOnly) && (isset($sheet->Objects))) {
|
||||||
|
foreach ($sheet->Objects->children('gnm', true) as $key => $comment) {
|
||||||
|
$commentAttributes = $comment->attributes();
|
||||||
|
// Only comment objects are handled at the moment
|
||||||
|
if ($commentAttributes->Text) {
|
||||||
|
$spreadsheet->getActiveSheet()->getComment((string) $commentAttributes->ObjectBound)->setAuthor((string) $commentAttributes->Author)->setText($this->parseRichText((string) $commentAttributes->Text));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
foreach ($sheet->Styles->StyleRegion as $styleRegion) {
|
||||||
|
$styleAttributes = $styleRegion->attributes();
|
||||||
|
if (($styleAttributes['startRow'] <= $maxRow) &&
|
||||||
|
($styleAttributes['startCol'] <= $maxCol)) {
|
||||||
|
$startColumn = Coordinate::stringFromColumnIndex((int) $styleAttributes['startCol'] + 1);
|
||||||
|
$startRow = $styleAttributes['startRow'] + 1;
|
||||||
|
|
||||||
|
$endColumn = ($styleAttributes['endCol'] > $maxCol) ? $maxCol : (int) $styleAttributes['endCol'];
|
||||||
|
$endColumn = Coordinate::stringFromColumnIndex($endColumn + 1);
|
||||||
|
$endRow = ($styleAttributes['endRow'] > $maxRow) ? $maxRow : $styleAttributes['endRow'];
|
||||||
|
$endRow += 1;
|
||||||
|
$cellRange = $startColumn . $startRow . ':' . $endColumn . $endRow;
|
||||||
|
|
||||||
|
$styleAttributes = $styleRegion->Style->attributes();
|
||||||
|
|
||||||
|
// We still set the number format mask for date/time values, even if readDataOnly is true
|
||||||
|
if ((!$this->readDataOnly) ||
|
||||||
|
(Date::isDateTimeFormatCode((string) $styleAttributes['Format']))) {
|
||||||
|
$styleArray = [];
|
||||||
|
$styleArray['numberFormat']['formatCode'] = (string) $styleAttributes['Format'];
|
||||||
|
// If readDataOnly is false, we set all formatting information
|
||||||
|
if (!$this->readDataOnly) {
|
||||||
|
switch ($styleAttributes['HAlign']) {
|
||||||
|
case '1':
|
||||||
|
$styleArray['alignment']['horizontal'] = Alignment::HORIZONTAL_GENERAL;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '2':
|
||||||
|
$styleArray['alignment']['horizontal'] = Alignment::HORIZONTAL_LEFT;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '4':
|
||||||
|
$styleArray['alignment']['horizontal'] = Alignment::HORIZONTAL_RIGHT;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '8':
|
||||||
|
$styleArray['alignment']['horizontal'] = Alignment::HORIZONTAL_CENTER;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '16':
|
||||||
|
case '64':
|
||||||
|
$styleArray['alignment']['horizontal'] = Alignment::HORIZONTAL_CENTER_CONTINUOUS;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '32':
|
||||||
|
$styleArray['alignment']['horizontal'] = Alignment::HORIZONTAL_JUSTIFY;
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch ($styleAttributes['VAlign']) {
|
||||||
|
case '1':
|
||||||
|
$styleArray['alignment']['vertical'] = Alignment::VERTICAL_TOP;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '2':
|
||||||
|
$styleArray['alignment']['vertical'] = Alignment::VERTICAL_BOTTOM;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '4':
|
||||||
|
$styleArray['alignment']['vertical'] = Alignment::VERTICAL_CENTER;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '8':
|
||||||
|
$styleArray['alignment']['vertical'] = Alignment::VERTICAL_JUSTIFY;
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
$styleArray['alignment']['wrapText'] = $styleAttributes['WrapText'] == '1';
|
||||||
|
$styleArray['alignment']['shrinkToFit'] = $styleAttributes['ShrinkToFit'] == '1';
|
||||||
|
$styleArray['alignment']['indent'] = ((int) ($styleAttributes['Indent']) > 0) ? $styleAttributes['indent'] : 0;
|
||||||
|
|
||||||
|
$RGB = self::parseGnumericColour($styleAttributes['Fore']);
|
||||||
|
$styleArray['font']['color']['rgb'] = $RGB;
|
||||||
|
$RGB = self::parseGnumericColour($styleAttributes['Back']);
|
||||||
|
$shade = $styleAttributes['Shade'];
|
||||||
|
if (($RGB != '000000') || ($shade != '0')) {
|
||||||
|
$styleArray['fill']['color']['rgb'] = $styleArray['fill']['startColor']['rgb'] = $RGB;
|
||||||
|
$RGB2 = self::parseGnumericColour($styleAttributes['PatternColor']);
|
||||||
|
$styleArray['fill']['endColor']['rgb'] = $RGB2;
|
||||||
|
switch ($shade) {
|
||||||
|
case '1':
|
||||||
|
$styleArray['fill']['fillType'] = Fill::FILL_SOLID;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '2':
|
||||||
|
$styleArray['fill']['fillType'] = Fill::FILL_GRADIENT_LINEAR;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '3':
|
||||||
|
$styleArray['fill']['fillType'] = Fill::FILL_GRADIENT_PATH;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '4':
|
||||||
|
$styleArray['fill']['fillType'] = Fill::FILL_PATTERN_DARKDOWN;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '5':
|
||||||
|
$styleArray['fill']['fillType'] = Fill::FILL_PATTERN_DARKGRAY;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '6':
|
||||||
|
$styleArray['fill']['fillType'] = Fill::FILL_PATTERN_DARKGRID;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '7':
|
||||||
|
$styleArray['fill']['fillType'] = Fill::FILL_PATTERN_DARKHORIZONTAL;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '8':
|
||||||
|
$styleArray['fill']['fillType'] = Fill::FILL_PATTERN_DARKTRELLIS;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '9':
|
||||||
|
$styleArray['fill']['fillType'] = Fill::FILL_PATTERN_DARKUP;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '10':
|
||||||
|
$styleArray['fill']['fillType'] = Fill::FILL_PATTERN_DARKVERTICAL;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '11':
|
||||||
|
$styleArray['fill']['fillType'] = Fill::FILL_PATTERN_GRAY0625;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '12':
|
||||||
|
$styleArray['fill']['fillType'] = Fill::FILL_PATTERN_GRAY125;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '13':
|
||||||
|
$styleArray['fill']['fillType'] = Fill::FILL_PATTERN_LIGHTDOWN;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '14':
|
||||||
|
$styleArray['fill']['fillType'] = Fill::FILL_PATTERN_LIGHTGRAY;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '15':
|
||||||
|
$styleArray['fill']['fillType'] = Fill::FILL_PATTERN_LIGHTGRID;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '16':
|
||||||
|
$styleArray['fill']['fillType'] = Fill::FILL_PATTERN_LIGHTHORIZONTAL;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '17':
|
||||||
|
$styleArray['fill']['fillType'] = Fill::FILL_PATTERN_LIGHTTRELLIS;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '18':
|
||||||
|
$styleArray['fill']['fillType'] = Fill::FILL_PATTERN_LIGHTUP;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '19':
|
||||||
|
$styleArray['fill']['fillType'] = Fill::FILL_PATTERN_LIGHTVERTICAL;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '20':
|
||||||
|
$styleArray['fill']['fillType'] = Fill::FILL_PATTERN_MEDIUMGRAY;
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$fontAttributes = $styleRegion->Style->Font->attributes();
|
||||||
|
$styleArray['font']['name'] = (string) $styleRegion->Style->Font;
|
||||||
|
$styleArray['font']['size'] = (int) ($fontAttributes['Unit']);
|
||||||
|
$styleArray['font']['bold'] = $fontAttributes['Bold'] == '1';
|
||||||
|
$styleArray['font']['italic'] = $fontAttributes['Italic'] == '1';
|
||||||
|
$styleArray['font']['strikethrough'] = $fontAttributes['StrikeThrough'] == '1';
|
||||||
|
switch ($fontAttributes['Underline']) {
|
||||||
|
case '1':
|
||||||
|
$styleArray['font']['underline'] = Font::UNDERLINE_SINGLE;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '2':
|
||||||
|
$styleArray['font']['underline'] = Font::UNDERLINE_DOUBLE;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '3':
|
||||||
|
$styleArray['font']['underline'] = Font::UNDERLINE_SINGLEACCOUNTING;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '4':
|
||||||
|
$styleArray['font']['underline'] = Font::UNDERLINE_DOUBLEACCOUNTING;
|
||||||
|
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
$styleArray['font']['underline'] = Font::UNDERLINE_NONE;
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
switch ($fontAttributes['Script']) {
|
||||||
|
case '1':
|
||||||
|
$styleArray['font']['superscript'] = true;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '-1':
|
||||||
|
$styleArray['font']['subscript'] = true;
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($styleRegion->Style->StyleBorder)) {
|
||||||
|
if (isset($styleRegion->Style->StyleBorder->Top)) {
|
||||||
|
$styleArray['borders']['top'] = self::parseBorderAttributes($styleRegion->Style->StyleBorder->Top->attributes());
|
||||||
|
}
|
||||||
|
if (isset($styleRegion->Style->StyleBorder->Bottom)) {
|
||||||
|
$styleArray['borders']['bottom'] = self::parseBorderAttributes($styleRegion->Style->StyleBorder->Bottom->attributes());
|
||||||
|
}
|
||||||
|
if (isset($styleRegion->Style->StyleBorder->Left)) {
|
||||||
|
$styleArray['borders']['left'] = self::parseBorderAttributes($styleRegion->Style->StyleBorder->Left->attributes());
|
||||||
|
}
|
||||||
|
if (isset($styleRegion->Style->StyleBorder->Right)) {
|
||||||
|
$styleArray['borders']['right'] = self::parseBorderAttributes($styleRegion->Style->StyleBorder->Right->attributes());
|
||||||
|
}
|
||||||
|
if ((isset($styleRegion->Style->StyleBorder->Diagonal)) && (isset($styleRegion->Style->StyleBorder->{'Rev-Diagonal'}))) {
|
||||||
|
$styleArray['borders']['diagonal'] = self::parseBorderAttributes($styleRegion->Style->StyleBorder->Diagonal->attributes());
|
||||||
|
$styleArray['borders']['diagonalDirection'] = Borders::DIAGONAL_BOTH;
|
||||||
|
} elseif (isset($styleRegion->Style->StyleBorder->Diagonal)) {
|
||||||
|
$styleArray['borders']['diagonal'] = self::parseBorderAttributes($styleRegion->Style->StyleBorder->Diagonal->attributes());
|
||||||
|
$styleArray['borders']['diagonalDirection'] = Borders::DIAGONAL_UP;
|
||||||
|
} elseif (isset($styleRegion->Style->StyleBorder->{'Rev-Diagonal'})) {
|
||||||
|
$styleArray['borders']['diagonal'] = self::parseBorderAttributes($styleRegion->Style->StyleBorder->{'Rev-Diagonal'}->attributes());
|
||||||
|
$styleArray['borders']['diagonalDirection'] = Borders::DIAGONAL_DOWN;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (isset($styleRegion->Style->HyperLink)) {
|
||||||
|
// TO DO
|
||||||
|
$hyperlink = $styleRegion->Style->HyperLink->attributes();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$spreadsheet->getActiveSheet()->getStyle($cellRange)->applyFromArray($styleArray);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((!$this->readDataOnly) && (isset($sheet->Cols))) {
|
||||||
|
// Column Widths
|
||||||
|
$columnAttributes = $sheet->Cols->attributes();
|
||||||
|
$defaultWidth = $columnAttributes['DefaultSizePts'] / 5.4;
|
||||||
|
$c = 0;
|
||||||
|
foreach ($sheet->Cols->ColInfo as $columnOverride) {
|
||||||
|
$columnAttributes = $columnOverride->attributes();
|
||||||
|
$column = $columnAttributes['No'];
|
||||||
|
$columnWidth = $columnAttributes['Unit'] / 5.4;
|
||||||
|
$hidden = (isset($columnAttributes['Hidden'])) && ($columnAttributes['Hidden'] == '1');
|
||||||
|
$columnCount = (isset($columnAttributes['Count'])) ? $columnAttributes['Count'] : 1;
|
||||||
|
while ($c < $column) {
|
||||||
|
$spreadsheet->getActiveSheet()->getColumnDimension(Coordinate::stringFromColumnIndex($c + 1))->setWidth($defaultWidth);
|
||||||
|
++$c;
|
||||||
|
}
|
||||||
|
while (($c < ($column + $columnCount)) && ($c <= $maxCol)) {
|
||||||
|
$spreadsheet->getActiveSheet()->getColumnDimension(Coordinate::stringFromColumnIndex($c + 1))->setWidth($columnWidth);
|
||||||
|
if ($hidden) {
|
||||||
|
$spreadsheet->getActiveSheet()->getColumnDimension(Coordinate::stringFromColumnIndex($c + 1))->setVisible(false);
|
||||||
|
}
|
||||||
|
++$c;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
while ($c <= $maxCol) {
|
||||||
|
$spreadsheet->getActiveSheet()->getColumnDimension(Coordinate::stringFromColumnIndex($c + 1))->setWidth($defaultWidth);
|
||||||
|
++$c;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((!$this->readDataOnly) && (isset($sheet->Rows))) {
|
||||||
|
// Row Heights
|
||||||
|
$rowAttributes = $sheet->Rows->attributes();
|
||||||
|
$defaultHeight = $rowAttributes['DefaultSizePts'];
|
||||||
|
$r = 0;
|
||||||
|
|
||||||
|
foreach ($sheet->Rows->RowInfo as $rowOverride) {
|
||||||
|
$rowAttributes = $rowOverride->attributes();
|
||||||
|
$row = $rowAttributes['No'];
|
||||||
|
$rowHeight = $rowAttributes['Unit'];
|
||||||
|
$hidden = (isset($rowAttributes['Hidden'])) && ($rowAttributes['Hidden'] == '1');
|
||||||
|
$rowCount = (isset($rowAttributes['Count'])) ? $rowAttributes['Count'] : 1;
|
||||||
|
while ($r < $row) {
|
||||||
|
++$r;
|
||||||
|
$spreadsheet->getActiveSheet()->getRowDimension($r)->setRowHeight($defaultHeight);
|
||||||
|
}
|
||||||
|
while (($r < ($row + $rowCount)) && ($r < $maxRow)) {
|
||||||
|
++$r;
|
||||||
|
$spreadsheet->getActiveSheet()->getRowDimension($r)->setRowHeight($rowHeight);
|
||||||
|
if ($hidden) {
|
||||||
|
$spreadsheet->getActiveSheet()->getRowDimension($r)->setVisible(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
while ($r < $maxRow) {
|
||||||
|
++$r;
|
||||||
|
$spreadsheet->getActiveSheet()->getRowDimension($r)->setRowHeight($defaultHeight);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Handle Merged Cells in this worksheet
|
||||||
|
if (isset($sheet->MergedRegions)) {
|
||||||
|
foreach ($sheet->MergedRegions->Merge as $mergeCells) {
|
||||||
|
if (strpos($mergeCells, ':') !== false) {
|
||||||
|
$spreadsheet->getActiveSheet()->mergeCells($mergeCells);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
++$worksheetID;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Loop through definedNames (global named ranges)
|
||||||
|
if (isset($gnmXML->Names)) {
|
||||||
|
foreach ($gnmXML->Names->Name as $namedRange) {
|
||||||
|
$name = (string) $namedRange->name;
|
||||||
|
$range = (string) $namedRange->value;
|
||||||
|
if (stripos($range, '#REF!') !== false) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$range = Worksheet::extractSheetTitle($range, true);
|
||||||
|
$range[0] = trim($range[0], "'");
|
||||||
|
if ($worksheet = $spreadsheet->getSheetByName($range[0])) {
|
||||||
|
$extractedRange = str_replace('$', '', $range[1]);
|
||||||
|
$spreadsheet->addNamedRange(new NamedRange($name, $worksheet, $extractedRange));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Return
|
||||||
|
return $spreadsheet;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static function parseBorderAttributes($borderAttributes)
|
||||||
|
{
|
||||||
|
$styleArray = [];
|
||||||
|
if (isset($borderAttributes['Color'])) {
|
||||||
|
$styleArray['color']['rgb'] = self::parseGnumericColour($borderAttributes['Color']);
|
||||||
|
}
|
||||||
|
|
||||||
|
switch ($borderAttributes['Style']) {
|
||||||
|
case '0':
|
||||||
|
$styleArray['borderStyle'] = Border::BORDER_NONE;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '1':
|
||||||
|
$styleArray['borderStyle'] = Border::BORDER_THIN;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '2':
|
||||||
|
$styleArray['borderStyle'] = Border::BORDER_MEDIUM;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '3':
|
||||||
|
$styleArray['borderStyle'] = Border::BORDER_SLANTDASHDOT;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '4':
|
||||||
|
$styleArray['borderStyle'] = Border::BORDER_DASHED;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '5':
|
||||||
|
$styleArray['borderStyle'] = Border::BORDER_THICK;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '6':
|
||||||
|
$styleArray['borderStyle'] = Border::BORDER_DOUBLE;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '7':
|
||||||
|
$styleArray['borderStyle'] = Border::BORDER_DOTTED;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '8':
|
||||||
|
$styleArray['borderStyle'] = Border::BORDER_MEDIUMDASHED;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '9':
|
||||||
|
$styleArray['borderStyle'] = Border::BORDER_DASHDOT;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '10':
|
||||||
|
$styleArray['borderStyle'] = Border::BORDER_MEDIUMDASHDOT;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '11':
|
||||||
|
$styleArray['borderStyle'] = Border::BORDER_DASHDOTDOT;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '12':
|
||||||
|
$styleArray['borderStyle'] = Border::BORDER_MEDIUMDASHDOTDOT;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case '13':
|
||||||
|
$styleArray['borderStyle'] = Border::BORDER_MEDIUMDASHDOTDOT;
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $styleArray;
|
||||||
|
}
|
||||||
|
|
||||||
|
private function parseRichText($is)
|
||||||
|
{
|
||||||
|
$value = new RichText();
|
||||||
|
$value->createText($is);
|
||||||
|
|
||||||
|
return $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static function parseGnumericColour($gnmColour)
|
||||||
|
{
|
||||||
|
[$gnmR, $gnmG, $gnmB] = explode(':', $gnmColour);
|
||||||
|
$gnmR = substr(str_pad($gnmR, 4, '0', STR_PAD_RIGHT), 0, 2);
|
||||||
|
$gnmG = substr(str_pad($gnmG, 4, '0', STR_PAD_RIGHT), 0, 2);
|
||||||
|
$gnmB = substr(str_pad($gnmB, 4, '0', STR_PAD_RIGHT), 0, 2);
|
||||||
|
|
||||||
|
return $gnmR . $gnmG . $gnmB;
|
||||||
|
}
|
||||||
|
}
|
||||||
970
PhpOffice/PhpSpreadsheet/Reader/Html.php
Normal file
970
PhpOffice/PhpSpreadsheet/Reader/Html.php
Normal file
|
|
@ -0,0 +1,970 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace PhpOffice\PhpSpreadsheet\Reader;
|
||||||
|
|
||||||
|
use DOMDocument;
|
||||||
|
use DOMElement;
|
||||||
|
use DOMNode;
|
||||||
|
use DOMText;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Cell\Coordinate;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Reader\Security\XmlScanner;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Style\Border;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Style\Color;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Style\Fill;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Style\Font;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Style\Style;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Worksheet\Drawing;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
|
||||||
|
|
||||||
|
/** PhpSpreadsheet root directory */
|
||||||
|
class Html extends BaseReader
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Sample size to read to determine if it's HTML or not.
|
||||||
|
*/
|
||||||
|
const TEST_SAMPLE_SIZE = 2048;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Input encoding.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $inputEncoding = 'ANSI';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sheet index to read.
|
||||||
|
*
|
||||||
|
* @var int
|
||||||
|
*/
|
||||||
|
protected $sheetIndex = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Formats.
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
protected $formats = [
|
||||||
|
'h1' => [
|
||||||
|
'font' => [
|
||||||
|
'bold' => true,
|
||||||
|
'size' => 24,
|
||||||
|
],
|
||||||
|
], // Bold, 24pt
|
||||||
|
'h2' => [
|
||||||
|
'font' => [
|
||||||
|
'bold' => true,
|
||||||
|
'size' => 18,
|
||||||
|
],
|
||||||
|
], // Bold, 18pt
|
||||||
|
'h3' => [
|
||||||
|
'font' => [
|
||||||
|
'bold' => true,
|
||||||
|
'size' => 13.5,
|
||||||
|
],
|
||||||
|
], // Bold, 13.5pt
|
||||||
|
'h4' => [
|
||||||
|
'font' => [
|
||||||
|
'bold' => true,
|
||||||
|
'size' => 12,
|
||||||
|
],
|
||||||
|
], // Bold, 12pt
|
||||||
|
'h5' => [
|
||||||
|
'font' => [
|
||||||
|
'bold' => true,
|
||||||
|
'size' => 10,
|
||||||
|
],
|
||||||
|
], // Bold, 10pt
|
||||||
|
'h6' => [
|
||||||
|
'font' => [
|
||||||
|
'bold' => true,
|
||||||
|
'size' => 7.5,
|
||||||
|
],
|
||||||
|
], // Bold, 7.5pt
|
||||||
|
'a' => [
|
||||||
|
'font' => [
|
||||||
|
'underline' => true,
|
||||||
|
'color' => [
|
||||||
|
'argb' => Color::COLOR_BLUE,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
], // Blue underlined
|
||||||
|
'hr' => [
|
||||||
|
'borders' => [
|
||||||
|
'bottom' => [
|
||||||
|
'borderStyle' => Border::BORDER_THIN,
|
||||||
|
'color' => [
|
||||||
|
Color::COLOR_BLACK,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
], // Bottom border
|
||||||
|
'strong' => [
|
||||||
|
'font' => [
|
||||||
|
'bold' => true,
|
||||||
|
],
|
||||||
|
], // Bold
|
||||||
|
'b' => [
|
||||||
|
'font' => [
|
||||||
|
'bold' => true,
|
||||||
|
],
|
||||||
|
], // Bold
|
||||||
|
'i' => [
|
||||||
|
'font' => [
|
||||||
|
'italic' => true,
|
||||||
|
],
|
||||||
|
], // Italic
|
||||||
|
'em' => [
|
||||||
|
'font' => [
|
||||||
|
'italic' => true,
|
||||||
|
],
|
||||||
|
], // Italic
|
||||||
|
];
|
||||||
|
|
||||||
|
protected $rowspan = [];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new HTML Reader instance.
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
parent::__construct();
|
||||||
|
$this->securityScanner = XmlScanner::getInstance($this);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Validate that the current file is an HTML file.
|
||||||
|
*
|
||||||
|
* @param string $pFilename
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function canRead($pFilename)
|
||||||
|
{
|
||||||
|
// Check if file exists
|
||||||
|
try {
|
||||||
|
$this->openFile($pFilename);
|
||||||
|
} catch (Exception $e) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$beginning = $this->readBeginning();
|
||||||
|
$startWithTag = self::startsWithTag($beginning);
|
||||||
|
$containsTags = self::containsTags($beginning);
|
||||||
|
$endsWithTag = self::endsWithTag($this->readEnding());
|
||||||
|
|
||||||
|
fclose($this->fileHandle);
|
||||||
|
|
||||||
|
return $startWithTag && $containsTags && $endsWithTag;
|
||||||
|
}
|
||||||
|
|
||||||
|
private function readBeginning()
|
||||||
|
{
|
||||||
|
fseek($this->fileHandle, 0);
|
||||||
|
|
||||||
|
return fread($this->fileHandle, self::TEST_SAMPLE_SIZE);
|
||||||
|
}
|
||||||
|
|
||||||
|
private function readEnding()
|
||||||
|
{
|
||||||
|
$meta = stream_get_meta_data($this->fileHandle);
|
||||||
|
$filename = $meta['uri'];
|
||||||
|
|
||||||
|
$size = filesize($filename);
|
||||||
|
if ($size === 0) {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
$blockSize = self::TEST_SAMPLE_SIZE;
|
||||||
|
if ($size < $blockSize) {
|
||||||
|
$blockSize = $size;
|
||||||
|
}
|
||||||
|
|
||||||
|
fseek($this->fileHandle, $size - $blockSize);
|
||||||
|
|
||||||
|
return fread($this->fileHandle, $blockSize);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static function startsWithTag($data)
|
||||||
|
{
|
||||||
|
return '<' === substr(trim($data), 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static function endsWithTag($data)
|
||||||
|
{
|
||||||
|
return '>' === substr(trim($data), -1, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static function containsTags($data)
|
||||||
|
{
|
||||||
|
return strlen($data) !== strlen(strip_tags($data));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Loads Spreadsheet from file.
|
||||||
|
*
|
||||||
|
* @param string $pFilename
|
||||||
|
*
|
||||||
|
* @throws Exception
|
||||||
|
*
|
||||||
|
* @return Spreadsheet
|
||||||
|
*/
|
||||||
|
public function load($pFilename)
|
||||||
|
{
|
||||||
|
// Create new Spreadsheet
|
||||||
|
$spreadsheet = new Spreadsheet();
|
||||||
|
|
||||||
|
// Load into this instance
|
||||||
|
return $this->loadIntoExisting($pFilename, $spreadsheet);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set input encoding.
|
||||||
|
*
|
||||||
|
* @param string $pValue Input encoding, eg: 'ANSI'
|
||||||
|
*
|
||||||
|
* @return Html
|
||||||
|
*/
|
||||||
|
public function setInputEncoding($pValue)
|
||||||
|
{
|
||||||
|
$this->inputEncoding = $pValue;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get input encoding.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getInputEncoding()
|
||||||
|
{
|
||||||
|
return $this->inputEncoding;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Data Array used for testing only, should write to Spreadsheet object on completion of tests
|
||||||
|
protected $dataArray = [];
|
||||||
|
|
||||||
|
protected $tableLevel = 0;
|
||||||
|
|
||||||
|
protected $nestedColumn = ['A'];
|
||||||
|
|
||||||
|
protected function setTableStartColumn($column)
|
||||||
|
{
|
||||||
|
if ($this->tableLevel == 0) {
|
||||||
|
$column = 'A';
|
||||||
|
}
|
||||||
|
++$this->tableLevel;
|
||||||
|
$this->nestedColumn[$this->tableLevel] = $column;
|
||||||
|
|
||||||
|
return $this->nestedColumn[$this->tableLevel];
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function getTableStartColumn()
|
||||||
|
{
|
||||||
|
return $this->nestedColumn[$this->tableLevel];
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function releaseTableStartColumn()
|
||||||
|
{
|
||||||
|
--$this->tableLevel;
|
||||||
|
|
||||||
|
return array_pop($this->nestedColumn);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function flushCell(Worksheet $sheet, $column, $row, &$cellContent)
|
||||||
|
{
|
||||||
|
if (is_string($cellContent)) {
|
||||||
|
// Simple String content
|
||||||
|
if (trim($cellContent) > '') {
|
||||||
|
// Only actually write it if there's content in the string
|
||||||
|
// Write to worksheet to be done here...
|
||||||
|
// ... we return the cell so we can mess about with styles more easily
|
||||||
|
$sheet->setCellValue($column . $row, $cellContent);
|
||||||
|
$this->dataArray[$row][$column] = $cellContent;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// We have a Rich Text run
|
||||||
|
// TODO
|
||||||
|
$this->dataArray[$row][$column] = 'RICH TEXT: ' . $cellContent;
|
||||||
|
}
|
||||||
|
$cellContent = (string) '';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param DOMNode $element
|
||||||
|
* @param Worksheet $sheet
|
||||||
|
* @param int $row
|
||||||
|
* @param string $column
|
||||||
|
* @param string $cellContent
|
||||||
|
*/
|
||||||
|
protected function processDomElement(DOMNode $element, Worksheet $sheet, &$row, &$column, &$cellContent)
|
||||||
|
{
|
||||||
|
foreach ($element->childNodes as $child) {
|
||||||
|
if ($child instanceof DOMText) {
|
||||||
|
$domText = preg_replace('/\s+/u', ' ', trim($child->nodeValue));
|
||||||
|
if (is_string($cellContent)) {
|
||||||
|
// simply append the text if the cell content is a plain text string
|
||||||
|
$cellContent .= $domText;
|
||||||
|
}
|
||||||
|
// but if we have a rich text run instead, we need to append it correctly
|
||||||
|
// TODO
|
||||||
|
} elseif ($child instanceof DOMElement) {
|
||||||
|
$attributeArray = [];
|
||||||
|
foreach ($child->attributes as $attribute) {
|
||||||
|
$attributeArray[$attribute->name] = $attribute->value;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch ($child->nodeName) {
|
||||||
|
case 'meta':
|
||||||
|
foreach ($attributeArray as $attributeName => $attributeValue) {
|
||||||
|
// Extract character set, so we can convert to UTF-8 if required
|
||||||
|
if ($attributeName === 'charset') {
|
||||||
|
$this->setInputEncoding($attributeValue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$this->processDomElement($child, $sheet, $row, $column, $cellContent);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'title':
|
||||||
|
$this->processDomElement($child, $sheet, $row, $column, $cellContent);
|
||||||
|
$sheet->setTitle($cellContent, true, false);
|
||||||
|
$cellContent = '';
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'span':
|
||||||
|
case 'div':
|
||||||
|
case 'font':
|
||||||
|
case 'i':
|
||||||
|
case 'em':
|
||||||
|
case 'strong':
|
||||||
|
case 'b':
|
||||||
|
if (isset($attributeArray['class']) && $attributeArray['class'] === 'comment') {
|
||||||
|
$sheet->getComment($column . $row)
|
||||||
|
->getText()
|
||||||
|
->createTextRun($child->textContent);
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($cellContent > '') {
|
||||||
|
$cellContent .= ' ';
|
||||||
|
}
|
||||||
|
$this->processDomElement($child, $sheet, $row, $column, $cellContent);
|
||||||
|
if ($cellContent > '') {
|
||||||
|
$cellContent .= ' ';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($this->formats[$child->nodeName])) {
|
||||||
|
$sheet->getStyle($column . $row)->applyFromArray($this->formats[$child->nodeName]);
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'hr':
|
||||||
|
$this->flushCell($sheet, $column, $row, $cellContent);
|
||||||
|
++$row;
|
||||||
|
if (isset($this->formats[$child->nodeName])) {
|
||||||
|
$sheet->getStyle($column . $row)->applyFromArray($this->formats[$child->nodeName]);
|
||||||
|
} else {
|
||||||
|
$cellContent = '----------';
|
||||||
|
$this->flushCell($sheet, $column, $row, $cellContent);
|
||||||
|
}
|
||||||
|
++$row;
|
||||||
|
// Add a break after a horizontal rule, simply by allowing the code to dropthru
|
||||||
|
// no break
|
||||||
|
case 'br':
|
||||||
|
if ($this->tableLevel > 0) {
|
||||||
|
// If we're inside a table, replace with a \n and set the cell to wrap
|
||||||
|
$cellContent .= "\n";
|
||||||
|
$sheet->getStyle($column . $row)->getAlignment()->setWrapText(true);
|
||||||
|
} else {
|
||||||
|
// Otherwise flush our existing content and move the row cursor on
|
||||||
|
$this->flushCell($sheet, $column, $row, $cellContent);
|
||||||
|
++$row;
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'a':
|
||||||
|
foreach ($attributeArray as $attributeName => $attributeValue) {
|
||||||
|
switch ($attributeName) {
|
||||||
|
case 'href':
|
||||||
|
$sheet->getCell($column . $row)->getHyperlink()->setUrl($attributeValue);
|
||||||
|
if (isset($this->formats[$child->nodeName])) {
|
||||||
|
$sheet->getStyle($column . $row)->applyFromArray($this->formats[$child->nodeName]);
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'class':
|
||||||
|
if ($attributeValue === 'comment-indicator') {
|
||||||
|
break; // Ignore - it's just a red square.
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$cellContent .= ' ';
|
||||||
|
$this->processDomElement($child, $sheet, $row, $column, $cellContent);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'h1':
|
||||||
|
case 'h2':
|
||||||
|
case 'h3':
|
||||||
|
case 'h4':
|
||||||
|
case 'h5':
|
||||||
|
case 'h6':
|
||||||
|
case 'ol':
|
||||||
|
case 'ul':
|
||||||
|
case 'p':
|
||||||
|
if ($this->tableLevel > 0) {
|
||||||
|
// If we're inside a table, replace with a \n
|
||||||
|
$cellContent .= "\n";
|
||||||
|
$this->processDomElement($child, $sheet, $row, $column, $cellContent);
|
||||||
|
} else {
|
||||||
|
if ($cellContent > '') {
|
||||||
|
$this->flushCell($sheet, $column, $row, $cellContent);
|
||||||
|
++$row;
|
||||||
|
}
|
||||||
|
$this->processDomElement($child, $sheet, $row, $column, $cellContent);
|
||||||
|
$this->flushCell($sheet, $column, $row, $cellContent);
|
||||||
|
|
||||||
|
if (isset($this->formats[$child->nodeName])) {
|
||||||
|
$sheet->getStyle($column . $row)->applyFromArray($this->formats[$child->nodeName]);
|
||||||
|
}
|
||||||
|
|
||||||
|
++$row;
|
||||||
|
$column = 'A';
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'li':
|
||||||
|
if ($this->tableLevel > 0) {
|
||||||
|
// If we're inside a table, replace with a \n
|
||||||
|
$cellContent .= "\n";
|
||||||
|
$this->processDomElement($child, $sheet, $row, $column, $cellContent);
|
||||||
|
} else {
|
||||||
|
if ($cellContent > '') {
|
||||||
|
$this->flushCell($sheet, $column, $row, $cellContent);
|
||||||
|
}
|
||||||
|
++$row;
|
||||||
|
$this->processDomElement($child, $sheet, $row, $column, $cellContent);
|
||||||
|
$this->flushCell($sheet, $column, $row, $cellContent);
|
||||||
|
$column = 'A';
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'img':
|
||||||
|
$this->insertImage($sheet, $column, $row, $attributeArray);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'table':
|
||||||
|
$this->flushCell($sheet, $column, $row, $cellContent);
|
||||||
|
$column = $this->setTableStartColumn($column);
|
||||||
|
if ($this->tableLevel > 1) {
|
||||||
|
--$row;
|
||||||
|
}
|
||||||
|
$this->processDomElement($child, $sheet, $row, $column, $cellContent);
|
||||||
|
$column = $this->releaseTableStartColumn();
|
||||||
|
if ($this->tableLevel > 1) {
|
||||||
|
++$column;
|
||||||
|
} else {
|
||||||
|
++$row;
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'thead':
|
||||||
|
case 'tbody':
|
||||||
|
$this->processDomElement($child, $sheet, $row, $column, $cellContent);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'tr':
|
||||||
|
$column = $this->getTableStartColumn();
|
||||||
|
$cellContent = '';
|
||||||
|
$this->processDomElement($child, $sheet, $row, $column, $cellContent);
|
||||||
|
|
||||||
|
if (isset($attributeArray['height'])) {
|
||||||
|
$sheet->getRowDimension($row)->setRowHeight($attributeArray['height']);
|
||||||
|
}
|
||||||
|
|
||||||
|
++$row;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'th':
|
||||||
|
case 'td':
|
||||||
|
$this->processDomElement($child, $sheet, $row, $column, $cellContent);
|
||||||
|
|
||||||
|
// apply inline style
|
||||||
|
$this->applyInlineStyle($sheet, $row, $column, $attributeArray);
|
||||||
|
|
||||||
|
while (isset($this->rowspan[$column . $row])) {
|
||||||
|
++$column;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->flushCell($sheet, $column, $row, $cellContent);
|
||||||
|
|
||||||
|
if (isset($attributeArray['rowspan'], $attributeArray['colspan'])) {
|
||||||
|
//create merging rowspan and colspan
|
||||||
|
$columnTo = $column;
|
||||||
|
for ($i = 0; $i < (int) $attributeArray['colspan'] - 1; ++$i) {
|
||||||
|
++$columnTo;
|
||||||
|
}
|
||||||
|
$range = $column . $row . ':' . $columnTo . ($row + (int) $attributeArray['rowspan'] - 1);
|
||||||
|
foreach (Coordinate::extractAllCellReferencesInRange($range) as $value) {
|
||||||
|
$this->rowspan[$value] = true;
|
||||||
|
}
|
||||||
|
$sheet->mergeCells($range);
|
||||||
|
$column = $columnTo;
|
||||||
|
} elseif (isset($attributeArray['rowspan'])) {
|
||||||
|
//create merging rowspan
|
||||||
|
$range = $column . $row . ':' . $column . ($row + (int) $attributeArray['rowspan'] - 1);
|
||||||
|
foreach (Coordinate::extractAllCellReferencesInRange($range) as $value) {
|
||||||
|
$this->rowspan[$value] = true;
|
||||||
|
}
|
||||||
|
$sheet->mergeCells($range);
|
||||||
|
} elseif (isset($attributeArray['colspan'])) {
|
||||||
|
//create merging colspan
|
||||||
|
$columnTo = $column;
|
||||||
|
for ($i = 0; $i < (int) $attributeArray['colspan'] - 1; ++$i) {
|
||||||
|
++$columnTo;
|
||||||
|
}
|
||||||
|
$sheet->mergeCells($column . $row . ':' . $columnTo . $row);
|
||||||
|
$column = $columnTo;
|
||||||
|
} elseif (isset($attributeArray['bgcolor'])) {
|
||||||
|
$sheet->getStyle($column . $row)->applyFromArray(
|
||||||
|
[
|
||||||
|
'fill' => [
|
||||||
|
'fillType' => Fill::FILL_SOLID,
|
||||||
|
'color' => ['rgb' => $attributeArray['bgcolor']],
|
||||||
|
],
|
||||||
|
]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($attributeArray['width'])) {
|
||||||
|
$sheet->getColumnDimension($column)->setWidth($attributeArray['width']);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($attributeArray['height'])) {
|
||||||
|
$sheet->getRowDimension($row)->setRowHeight($attributeArray['height']);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($attributeArray['align'])) {
|
||||||
|
$sheet->getStyle($column . $row)->getAlignment()->setHorizontal($attributeArray['align']);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($attributeArray['valign'])) {
|
||||||
|
$sheet->getStyle($column . $row)->getAlignment()->setVertical($attributeArray['valign']);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($attributeArray['data-format'])) {
|
||||||
|
$sheet->getStyle($column . $row)->getNumberFormat()->setFormatCode($attributeArray['data-format']);
|
||||||
|
}
|
||||||
|
|
||||||
|
++$column;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'body':
|
||||||
|
$row = 1;
|
||||||
|
$column = 'A';
|
||||||
|
$cellContent = '';
|
||||||
|
$this->tableLevel = 0;
|
||||||
|
$this->processDomElement($child, $sheet, $row, $column, $cellContent);
|
||||||
|
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
$this->processDomElement($child, $sheet, $row, $column, $cellContent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Loads PhpSpreadsheet from file into PhpSpreadsheet instance.
|
||||||
|
*
|
||||||
|
* @param string $pFilename
|
||||||
|
* @param Spreadsheet $spreadsheet
|
||||||
|
*
|
||||||
|
* @throws Exception
|
||||||
|
*
|
||||||
|
* @return Spreadsheet
|
||||||
|
*/
|
||||||
|
public function loadIntoExisting($pFilename, Spreadsheet $spreadsheet)
|
||||||
|
{
|
||||||
|
// Validate
|
||||||
|
if (!$this->canRead($pFilename)) {
|
||||||
|
throw new Exception($pFilename . ' is an Invalid HTML file.');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create a new DOM object
|
||||||
|
$dom = new DOMDocument();
|
||||||
|
// Reload the HTML file into the DOM object
|
||||||
|
$loaded = $dom->loadHTML(mb_convert_encoding($this->securityScanner->scanFile($pFilename), 'HTML-ENTITIES', 'UTF-8'));
|
||||||
|
if ($loaded === false) {
|
||||||
|
throw new Exception('Failed to load ' . $pFilename . ' as a DOM Document');
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->loadDocument($dom, $spreadsheet);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Spreadsheet from content.
|
||||||
|
*
|
||||||
|
* @param string $content
|
||||||
|
*
|
||||||
|
* @throws Exception
|
||||||
|
*
|
||||||
|
* @return Spreadsheet
|
||||||
|
*/
|
||||||
|
public function loadFromString($content): Spreadsheet
|
||||||
|
{
|
||||||
|
// Create a new DOM object
|
||||||
|
$dom = new DOMDocument();
|
||||||
|
// Reload the HTML file into the DOM object
|
||||||
|
$loaded = $dom->loadHTML(mb_convert_encoding($this->securityScanner->scan($content), 'HTML-ENTITIES', 'UTF-8'));
|
||||||
|
if ($loaded === false) {
|
||||||
|
throw new Exception('Failed to load content as a DOM Document');
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->loadDocument($dom, new Spreadsheet());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Loads PhpSpreadsheet from DOMDocument into PhpSpreadsheet instance.
|
||||||
|
*
|
||||||
|
* @param DOMDocument $document
|
||||||
|
* @param Spreadsheet $spreadsheet
|
||||||
|
*
|
||||||
|
* @throws \PhpOffice\PhpSpreadsheet\Exception
|
||||||
|
*
|
||||||
|
* @return Spreadsheet
|
||||||
|
*/
|
||||||
|
private function loadDocument(DOMDocument $document, Spreadsheet $spreadsheet): Spreadsheet
|
||||||
|
{
|
||||||
|
while ($spreadsheet->getSheetCount() <= $this->sheetIndex) {
|
||||||
|
$spreadsheet->createSheet();
|
||||||
|
}
|
||||||
|
$spreadsheet->setActiveSheetIndex($this->sheetIndex);
|
||||||
|
|
||||||
|
// Discard white space
|
||||||
|
$document->preserveWhiteSpace = false;
|
||||||
|
|
||||||
|
$row = 0;
|
||||||
|
$column = 'A';
|
||||||
|
$content = '';
|
||||||
|
$this->rowspan = [];
|
||||||
|
$this->processDomElement($document, $spreadsheet->getActiveSheet(), $row, $column, $content);
|
||||||
|
|
||||||
|
// Return
|
||||||
|
return $spreadsheet;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get sheet index.
|
||||||
|
*
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public function getSheetIndex()
|
||||||
|
{
|
||||||
|
return $this->sheetIndex;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set sheet index.
|
||||||
|
*
|
||||||
|
* @param int $pValue Sheet index
|
||||||
|
*
|
||||||
|
* @return HTML
|
||||||
|
*/
|
||||||
|
public function setSheetIndex($pValue)
|
||||||
|
{
|
||||||
|
$this->sheetIndex = $pValue;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Apply inline css inline style.
|
||||||
|
*
|
||||||
|
* NOTES :
|
||||||
|
* Currently only intended for td & th element,
|
||||||
|
* and only takes 'background-color' and 'color'; property with HEX color
|
||||||
|
*
|
||||||
|
* TODO :
|
||||||
|
* - Implement to other propertie, such as border
|
||||||
|
*
|
||||||
|
* @param Worksheet $sheet
|
||||||
|
* @param int $row
|
||||||
|
* @param string $column
|
||||||
|
* @param array $attributeArray
|
||||||
|
*/
|
||||||
|
private function applyInlineStyle(&$sheet, $row, $column, $attributeArray)
|
||||||
|
{
|
||||||
|
if (!isset($attributeArray['style'])) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$cellStyle = $sheet->getStyle($column . $row);
|
||||||
|
|
||||||
|
// add color styles (background & text) from dom element,currently support : td & th, using ONLY inline css style with RGB color
|
||||||
|
$styles = explode(';', $attributeArray['style']);
|
||||||
|
foreach ($styles as $st) {
|
||||||
|
$value = explode(':', $st);
|
||||||
|
$styleName = isset($value[0]) ? trim($value[0]) : null;
|
||||||
|
$styleValue = isset($value[1]) ? trim($value[1]) : null;
|
||||||
|
|
||||||
|
if (!$styleName) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch ($styleName) {
|
||||||
|
case 'background':
|
||||||
|
case 'background-color':
|
||||||
|
$styleColor = $this->getStyleColor($styleValue);
|
||||||
|
|
||||||
|
if (!$styleColor) {
|
||||||
|
continue 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
$cellStyle->applyFromArray(['fill' => ['fillType' => Fill::FILL_SOLID, 'color' => ['rgb' => $styleColor]]]);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'color':
|
||||||
|
$styleColor = $this->getStyleColor($styleValue);
|
||||||
|
|
||||||
|
if (!$styleColor) {
|
||||||
|
continue 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
$cellStyle->applyFromArray(['font' => ['color' => ['rgb' => $styleColor]]]);
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'border':
|
||||||
|
$this->setBorderStyle($cellStyle, $styleValue, 'allBorders');
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'border-top':
|
||||||
|
$this->setBorderStyle($cellStyle, $styleValue, 'top');
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'border-bottom':
|
||||||
|
$this->setBorderStyle($cellStyle, $styleValue, 'bottom');
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'border-left':
|
||||||
|
$this->setBorderStyle($cellStyle, $styleValue, 'left');
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'border-right':
|
||||||
|
$this->setBorderStyle($cellStyle, $styleValue, 'right');
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'font-size':
|
||||||
|
$cellStyle->getFont()->setSize(
|
||||||
|
(float) $styleValue
|
||||||
|
);
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'font-weight':
|
||||||
|
if ($styleValue === 'bold' || $styleValue >= 500) {
|
||||||
|
$cellStyle->getFont()->setBold(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'font-style':
|
||||||
|
if ($styleValue === 'italic') {
|
||||||
|
$cellStyle->getFont()->setItalic(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'font-family':
|
||||||
|
$cellStyle->getFont()->setName(str_replace('\'', '', $styleValue));
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'text-decoration':
|
||||||
|
switch ($styleValue) {
|
||||||
|
case 'underline':
|
||||||
|
$cellStyle->getFont()->setUnderline(Font::UNDERLINE_SINGLE);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'line-through':
|
||||||
|
$cellStyle->getFont()->setStrikethrough(true);
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'text-align':
|
||||||
|
$cellStyle->getAlignment()->setHorizontal($styleValue);
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'vertical-align':
|
||||||
|
$cellStyle->getAlignment()->setVertical($styleValue);
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'width':
|
||||||
|
$sheet->getColumnDimension($column)->setWidth(
|
||||||
|
str_replace('px', '', $styleValue)
|
||||||
|
);
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'height':
|
||||||
|
$sheet->getRowDimension($row)->setRowHeight(
|
||||||
|
str_replace('px', '', $styleValue)
|
||||||
|
);
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'word-wrap':
|
||||||
|
$cellStyle->getAlignment()->setWrapText(
|
||||||
|
$styleValue === 'break-word'
|
||||||
|
);
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'text-indent':
|
||||||
|
$cellStyle->getAlignment()->setIndent(
|
||||||
|
(int) str_replace(['px'], '', $styleValue)
|
||||||
|
);
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if has #, so we can get clean hex.
|
||||||
|
*
|
||||||
|
* @param $value
|
||||||
|
*
|
||||||
|
* @return null|string
|
||||||
|
*/
|
||||||
|
public function getStyleColor($value)
|
||||||
|
{
|
||||||
|
if (strpos($value, '#') === 0) {
|
||||||
|
return substr($value, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param Worksheet $sheet
|
||||||
|
* @param string $column
|
||||||
|
* @param int $row
|
||||||
|
* @param array $attributes
|
||||||
|
*
|
||||||
|
* @throws \PhpOffice\PhpSpreadsheet\Exception
|
||||||
|
*/
|
||||||
|
private function insertImage(Worksheet $sheet, $column, $row, array $attributes)
|
||||||
|
{
|
||||||
|
if (!isset($attributes['src'])) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$src = urldecode($attributes['src']);
|
||||||
|
$width = isset($attributes['width']) ? (float) $attributes['width'] : null;
|
||||||
|
$height = isset($attributes['height']) ? (float) $attributes['height'] : null;
|
||||||
|
$name = isset($attributes['alt']) ? (float) $attributes['alt'] : null;
|
||||||
|
|
||||||
|
$drawing = new Drawing();
|
||||||
|
$drawing->setPath($src);
|
||||||
|
$drawing->setWorksheet($sheet);
|
||||||
|
$drawing->setCoordinates($column . $row);
|
||||||
|
$drawing->setOffsetX(0);
|
||||||
|
$drawing->setOffsetY(10);
|
||||||
|
$drawing->setResizeProportional(true);
|
||||||
|
|
||||||
|
if ($name) {
|
||||||
|
$drawing->setName($name);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($width) {
|
||||||
|
$drawing->setWidth((int) $width);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($height) {
|
||||||
|
$drawing->setHeight((int) $height);
|
||||||
|
}
|
||||||
|
|
||||||
|
$sheet->getColumnDimension($column)->setWidth(
|
||||||
|
$drawing->getWidth() / 6
|
||||||
|
);
|
||||||
|
|
||||||
|
$sheet->getRowDimension($row)->setRowHeight(
|
||||||
|
$drawing->getHeight() * 0.9
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Map html border style to PhpSpreadsheet border style.
|
||||||
|
*
|
||||||
|
* @param string $style
|
||||||
|
*
|
||||||
|
* @return null|string
|
||||||
|
*/
|
||||||
|
public function getBorderStyle($style)
|
||||||
|
{
|
||||||
|
switch ($style) {
|
||||||
|
case 'solid':
|
||||||
|
return Border::BORDER_THIN;
|
||||||
|
case 'dashed':
|
||||||
|
return Border::BORDER_DASHED;
|
||||||
|
case 'dotted':
|
||||||
|
return Border::BORDER_DOTTED;
|
||||||
|
case 'medium':
|
||||||
|
return Border::BORDER_MEDIUM;
|
||||||
|
case 'thick':
|
||||||
|
return Border::BORDER_THICK;
|
||||||
|
case 'none':
|
||||||
|
return Border::BORDER_NONE;
|
||||||
|
case 'dash-dot':
|
||||||
|
return Border::BORDER_DASHDOT;
|
||||||
|
case 'dash-dot-dot':
|
||||||
|
return Border::BORDER_DASHDOTDOT;
|
||||||
|
case 'double':
|
||||||
|
return Border::BORDER_DOUBLE;
|
||||||
|
case 'hair':
|
||||||
|
return Border::BORDER_HAIR;
|
||||||
|
case 'medium-dash-dot':
|
||||||
|
return Border::BORDER_MEDIUMDASHDOT;
|
||||||
|
case 'medium-dash-dot-dot':
|
||||||
|
return Border::BORDER_MEDIUMDASHDOTDOT;
|
||||||
|
case 'medium-dashed':
|
||||||
|
return Border::BORDER_MEDIUMDASHED;
|
||||||
|
case 'slant-dash-dot':
|
||||||
|
return Border::BORDER_SLANTDASHDOT;
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param Style $cellStyle
|
||||||
|
* @param string $styleValue
|
||||||
|
* @param string $type
|
||||||
|
*/
|
||||||
|
private function setBorderStyle(Style $cellStyle, $styleValue, $type)
|
||||||
|
{
|
||||||
|
[, $borderStyle, $color] = explode(' ', $styleValue);
|
||||||
|
|
||||||
|
$cellStyle->applyFromArray([
|
||||||
|
'borders' => [
|
||||||
|
$type => [
|
||||||
|
'borderStyle' => $this->getBorderStyle($borderStyle),
|
||||||
|
'color' => ['rgb' => $this->getStyleColor($color)],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user