Skip to content

Commit 6b1be8c

Browse files
author
MarkBaker
committed
Add "Not yet Implemented" stubs for 14 new Excel Functions
- TEXTBEFORE – Returns text that’s before delimiting characters - TEXTAFTER – Returns text that’s after delimiting character - TEXTSPLIT – Splits text into rows or columns using delimiters - VSTACK – Stacks arrays vertically - HSTACK – Stacks arrays horizontally - TOROW – Returns the array as one row - TOCOL – Returns the array as one column - WRAPROWS – Wraps a row array into a 2D array - WRAPCOLS – Wraps a column array into a 2D array - TAKE – Returns rows or columns from array start or end - DROP – Drops rows or columns from array start or end - CHOOSEROWS – Returns the specified rows from an array - CHOOSECOLS – Returns the specified columns from an array - EXPAND – Expands an array to the specified dimensions
1 parent bbebc0e commit 6b1be8c

File tree

4 files changed

+170
-44
lines changed

4 files changed

+170
-44
lines changed

docs/references/function-list-by-category.md

Lines changed: 50 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ Excel Function | PhpSpreadsheet Function
3535
-------------------------|--------------------------------------
3636
DATE | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Date::fromYMD
3737
DATEDIF | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Difference::interval
38+
DATESTRING | **Not yet Implemented**
3839
DATEVALUE | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\DateValue::fromString
3940
DAY | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\DateParts::day
4041
DAYS | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Days::between
@@ -49,6 +50,9 @@ NETWORKDAYS | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\N
4950
NETWORKDAYS.INTL | **Not yet Implemented**
5051
NOW | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Current::now
5152
SECOND | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\TimeParts::second
53+
THAIDAYOFWEEK | **Not yet Implemented**
54+
THAIMONTHOFYEAR | **Not yet Implemented**
55+
THAIYEAR | **Not yet Implemented**
5256
TIME | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Time::fromHMS
5357
TIMEVALUE | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\TimeValue::fromString
5458
TODAY | \PhpOffice\PhpSpreadsheet\Calculation\DateTimeExcel\Current::today
@@ -184,25 +188,25 @@ YIELDMAT | \PhpOffice\PhpSpreadsheet\Calculation\Financial\Secur
184188
Excel Function | PhpSpreadsheet Function
185189
-------------------------|--------------------------------------
186190
CELL | **Not yet Implemented**
187-
ERROR.TYPE | \PhpOffice\PhpSpreadsheet\Calculation\Functions::errorType
191+
ERROR.TYPE | \PhpOffice\PhpSpreadsheet\Calculation\Information\ExcelError::type
188192
INFO | **Not yet Implemented**
189-
ISBLANK | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isBlank
190-
ISERR | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isErr
191-
ISERROR | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isError
192-
ISEVEN | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isEven
193-
ISFORMULA | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isFormula
194-
ISLOGICAL | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isLogical
195-
ISNA | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isNa
196-
ISNONTEXT | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isNonText
197-
ISNUMBER | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isNumber
198-
ISODD | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isOdd
199-
ISREF | **Not yet Implemented**
200-
ISTEXT | \PhpOffice\PhpSpreadsheet\Calculation\Functions::isText
201-
N | \PhpOffice\PhpSpreadsheet\Calculation\Functions::n
202-
NA | \PhpOffice\PhpSpreadsheet\Calculation\Functions::NA
193+
ISBLANK | \PhpOffice\PhpSpreadsheet\Calculation\Information\Value::isBlank
194+
ISERR | \PhpOffice\PhpSpreadsheet\Calculation\Information\ErrorValue::isErr
195+
ISERROR | \PhpOffice\PhpSpreadsheet\Calculation\Information\ErrorValue::isError
196+
ISEVEN | \PhpOffice\PhpSpreadsheet\Calculation\Information\Value::isEven
197+
ISFORMULA | \PhpOffice\PhpSpreadsheet\Calculation\Information\Value::isFormula
198+
ISLOGICAL | \PhpOffice\PhpSpreadsheet\Calculation\Information\Value::isLogical
199+
ISNA | \PhpOffice\PhpSpreadsheet\Calculation\Information\ErrorValue::isNa
200+
ISNONTEXT | \PhpOffice\PhpSpreadsheet\Calculation\Information\Value::isNonText
201+
ISNUMBER | \PhpOffice\PhpSpreadsheet\Calculation\Information\Value::isNumber
202+
ISODD | \PhpOffice\PhpSpreadsheet\Calculation\Information\Value::isOdd
203+
ISREF | \PhpOffice\PhpSpreadsheet\Calculation\Information\Value::isRef
204+
ISTEXT | \PhpOffice\PhpSpreadsheet\Calculation\Information\Value::isText
205+
N | \PhpOffice\PhpSpreadsheet\Calculation\Information\Value::asNumber
206+
NA | \PhpOffice\PhpSpreadsheet\Calculation\Information\ExcelError::NA
203207
SHEET | **Not yet Implemented**
204208
SHEETS | **Not yet Implemented**
205-
TYPE | \PhpOffice\PhpSpreadsheet\Calculation\Functions::TYPE
209+
TYPE | \PhpOffice\PhpSpreadsheet\Calculation\Information\Value::type
206210

207211
## CATEGORY_LOGICAL
208212

@@ -229,7 +233,7 @@ AREAS | **Not yet Implemented**
229233
CHOOSE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Selection::CHOOSE
230234
COLUMN | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\RowColumnInformation::COLUMN
231235
COLUMNS | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\RowColumnInformation::COLUMNS
232-
FILTER | **Not yet Implemented**
236+
FILTER | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Filter::filter
233237
FORMULATEXT | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Formula::text
234238
GETPIVOTDATA | **Not yet Implemented**
235239
HLOOKUP | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\HLookup::lookup
@@ -242,10 +246,10 @@ OFFSET | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Offse
242246
ROW | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\RowColumnInformation::ROW
243247
ROWS | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\RowColumnInformation::ROWS
244248
RTD | **Not yet Implemented**
245-
SORT | **Not yet Implemented**
246-
SORTBY | **Not yet Implemented**
249+
SORT | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Sort::sort
250+
SORTBY | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Sort::sortBy
247251
TRANSPOSE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Matrix::transpose
248-
UNIQUE | **Not yet Implemented**
252+
UNIQUE | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\Unique::unique
249253
VLOOKUP | \PhpOffice\PhpSpreadsheet\Calculation\LookupRef\VLookup::lookup
250254
XLOOKUP | **Not yet Implemented**
251255
XMATCH | **Not yet Implemented**
@@ -270,6 +274,8 @@ BASE | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Base::
270274
CEILING | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Ceiling::ceiling
271275
CEILING.MATH | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Ceiling::math
272276
CEILING.PRECISE | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Ceiling::precise
277+
CHOOSECOLS | **Not yet Implemented**
278+
CHOOSEROWS | **Not yet Implemented**
273279
COMBIN | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Combinations::withoutRepetition
274280
COMBINA | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Combinations::withRepetition
275281
COS | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Cosine::cos
@@ -280,15 +286,18 @@ CSC | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\C
280286
CSCH | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Cosecant::csch
281287
DECIMAL | **Not yet Implemented**
282288
DEGREES | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Angle::toDegrees
289+
DROP | **Not yet Implemented**
283290
ECMA.CEILING | **Not yet Implemented**
284291
EVEN | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Round::even
285292
EXP | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Exp::evaluate
293+
EXPAND | **Not yet Implemented**
286294
FACT | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Factorial::fact
287295
FACTDOUBLE | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Factorial::factDouble
288296
FLOOR | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Floor::floor
289297
FLOOR.MATH | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Floor::math
290298
FLOOR.PRECISE | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Floor::precise
291299
GCD | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Gcd::evaluate
300+
HSTACK | **Not yet Implemented**
292301
INT | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\IntClass::evaluate
293302
ISO.CEILING | **Not yet Implemented**
294303
LCM | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Lcm::evaluate
@@ -309,15 +318,17 @@ PRODUCT | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Operat
309318
QUOTIENT | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Operations::quotient
310319
RADIANS | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Angle::toRadians
311320
RAND | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Random::rand
312-
RANDARRAY | **Not yet Implemented**
321+
RANDARRAY | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Random::randArray
313322
RANDBETWEEN | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Random::randBetween
314323
ROMAN | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Roman::evaluate
315324
ROUND | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Round::round
325+
ROUNDBAHTDOWN | **Not yet Implemented**
326+
ROUNDBAHTUP | **Not yet Implemented**
316327
ROUNDDOWN | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Round::down
317328
ROUNDUP | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Round::up
318329
SEC | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Secant::sec
319330
SECH | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Secant::sech
320-
SEQUENCE | **Not yet Implemented**
331+
SEQUENCE | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\MatrixFunctions::sequence
321332
SERIESSUM | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\SeriesSum::evaluate
322333
SIGN | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Sign::evaluate
323334
SIN | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Sine::sin
@@ -333,9 +344,15 @@ SUMSQ | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\SumSqu
333344
SUMX2MY2 | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\SumSquares::sumXSquaredMinusYSquared
334345
SUMX2PY2 | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\SumSquares::sumXSquaredPlusYSquared
335346
SUMXMY2 | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\SumSquares::sumXMinusYSquared
347+
TAKE | **Not yet Implemented**
336348
TAN | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Tangent::tan
337349
TANH | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trig\Tangent::tanh
350+
TOCOL | **Not yet Implemented**
351+
TOROW | **Not yet Implemented**
338352
TRUNC | \PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Trunc::evaluate
353+
VSTACK | **Not yet Implemented**
354+
WRAPCOLS | **Not yet Implemented**
355+
WRAPROWS | **Not yet Implemented**
339356

340357
## CATEGORY_STATISTICAL
341358

@@ -496,6 +513,7 @@ ZTEST | \PhpOffice\PhpSpreadsheet\Calculation\Statistical\Dis
496513

497514
Excel Function | PhpSpreadsheet Function
498515
-------------------------|--------------------------------------
516+
ARRAYTOTEXT | **Not yet Implemented**
499517
ASC | **Not yet Implemented**
500518
BAHTTEXT | **Not yet Implemented**
501519
CHAR | \PhpOffice\PhpSpreadsheet\Calculation\TextData\CharacterConvert::character
@@ -509,6 +527,7 @@ EXACT | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Text::
509527
FIND | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Search::sensitive
510528
FINDB | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Search::sensitive
511529
FIXED | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Format::FIXEDFORMAT
530+
ISTHAIDIGIT | **Not yet Implemented**
512531
JIS | **Not yet Implemented**
513532
LEFT | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Extract::left
514533
LEFTB | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Extract::left
@@ -517,6 +536,7 @@ LENB | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Text::
517536
LOWER | \PhpOffice\PhpSpreadsheet\Calculation\TextData\CaseConvert::lower
518537
MID | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Extract::mid
519538
MIDB | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Extract::mid
539+
NUMBERSTRING | **Not yet Implemented**
520540
NUMBERVALUE | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Format::NUMBERVALUE
521541
PHONETIC | **Not yet Implemented**
522542
PROPER | \PhpOffice\PhpSpreadsheet\Calculation\TextData\CaseConvert::proper
@@ -530,12 +550,20 @@ SEARCHB | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Search
530550
SUBSTITUTE | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Replace::substitute
531551
T | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Text::test
532552
TEXT | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Format::TEXTFORMAT
553+
TEXTAFTER | **Not yet Implemented**
554+
TEXTBEFORE | **Not yet Implemented**
533555
TEXTJOIN | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Concatenate::TEXTJOIN
556+
TEXTSPLIT | **Not yet Implemented**
557+
THAIDIGIT | **Not yet Implemented**
558+
THAINUMSOUND | **Not yet Implemented**
559+
THAINUMSTRING | **Not yet Implemented**
560+
THAISTRINGLENGTH | **Not yet Implemented**
534561
TRIM | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Trim::spaces
535562
UNICHAR | \PhpOffice\PhpSpreadsheet\Calculation\TextData\CharacterConvert::character
536563
UNICODE | \PhpOffice\PhpSpreadsheet\Calculation\TextData\CharacterConvert::code
537564
UPPER | \PhpOffice\PhpSpreadsheet\Calculation\TextData\CaseConvert::upper
538565
VALUE | \PhpOffice\PhpSpreadsheet\Calculation\TextData\Format::VALUE
566+
VALUETOTEXT | **Not yet Implemented**
539567

540568
## CATEGORY_WEB
541569

0 commit comments

Comments
 (0)