ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
Xlfn.php
Go to the documentation of this file.
1<?php
2
4
5class Xlfn
6{
7 const XLFNREGEXP = '/(?<!_xlfn[.])\\b('
8 // functions added with Excel 2010
9 . 'beta[.]dist'
10 . '|beta[.]inv'
11 . '|binom[.]dist'
12 . '|binom[.]inv'
13 . '|ceiling[.]precise'
14 . '|chisq[.]dist'
15 . '|chisq[.]dist[.]rt'
16 . '|chisq[.]inv'
17 . '|chisq[.]inv[.]rt'
18 . '|chisq[.]test'
19 . '|confidence[.]norm'
20 . '|confidence[.]t'
21 . '|covariance[.]p'
22 . '|covariance[.]s'
23 . '|erf[.]precise'
24 . '|erfc[.]precise'
25 . '|expon[.]dist'
26 . '|f[.]dist'
27 . '|f[.]dist[.]rt'
28 . '|f[.]inv'
29 . '|f[.]inv[.]rt'
30 . '|f[.]test'
31 . '|floor[.]precise'
32 . '|gamma[.]dist'
33 . '|gamma[.]inv'
34 . '|gammaln[.]precise'
35 . '|lognorm[.]dist'
36 . '|lognorm[.]inv'
37 . '|mode[.]mult'
38 . '|mode[.]sngl'
39 . '|negbinom[.]dist'
40 . '|networkdays[.]intl'
41 . '|norm[.]dist'
42 . '|norm[.]inv'
43 . '|norm[.]s[.]dist'
44 . '|norm[.]s[.]inv'
45 . '|percentile[.]exc'
46 . '|percentile[.]inc'
47 . '|percentrank[.]exc'
48 . '|percentrank[.]inc'
49 . '|poisson[.]dist'
50 . '|quartile[.]exc'
51 . '|quartile[.]inc'
52 . '|rank[.]avg'
53 . '|rank[.]eq'
54 . '|stdev[.]p'
55 . '|stdev[.]s'
56 . '|t[.]dist'
57 . '|t[.]dist[.]2t'
58 . '|t[.]dist[.]rt'
59 . '|t[.]inv'
60 . '|t[.]inv[.]2t'
61 . '|t[.]test'
62 . '|var[.]p'
63 . '|var[.]s'
64 . '|weibull[.]dist'
65 . '|z[.]test'
66 // functions added with Excel 2013
67 . '|acot'
68 . '|acoth'
69 . '|arabic'
70 . '|averageifs'
71 . '|binom[.]dist[.]range'
72 . '|bitand'
73 . '|bitlshift'
74 . '|bitor'
75 . '|bitrshift'
76 . '|bitxor'
77 . '|ceiling[.]math'
78 . '|combina'
79 . '|cot'
80 . '|coth'
81 . '|csc'
82 . '|csch'
83 . '|days'
84 . '|dbcs'
85 . '|decimal'
86 . '|encodeurl'
87 . '|filterxml'
88 . '|floor[.]math'
89 . '|formulatext'
90 . '|gamma'
91 . '|gauss'
92 . '|ifna'
93 . '|imcosh'
94 . '|imcot'
95 . '|imcsc'
96 . '|imcsch'
97 . '|imsec'
98 . '|imsech'
99 . '|imsinh'
100 . '|imtan'
101 . '|isformula'
102 . '|iso[.]ceiling'
103 . '|isoweeknum'
104 . '|munit'
105 . '|numbervalue'
106 . '|pduration'
107 . '|permutationa'
108 . '|phi'
109 . '|rri'
110 . '|sec'
111 . '|sech'
112 . '|sheet'
113 . '|sheets'
114 . '|skew[.]p'
115 . '|unichar'
116 . '|unicode'
117 . '|webservice'
118 . '|xor'
119 // functions added with Excel 2016
120 . '|forecast[.]et2'
121 . '|forecast[.]ets[.]confint'
122 . '|forecast[.]ets[.]seasonality'
123 . '|forecast[.]ets[.]stat'
124 . '|forecast[.]linear'
125 . '|switch'
126 // functions added with Excel 2019
127 . '|concat'
128 . '|countifs'
129 . '|ifs'
130 . '|maxifs'
131 . '|minifs'
132 . '|sumifs'
133 . '|textjoin'
134 // functions added with Excel 365
135 . '|filter'
136 . '|randarray'
137 . '|sequence'
138 . '|sort'
139 . '|sortby'
140 . '|unique'
141 . '|xlookup'
142 . '|xmatch'
143 . '|arraytotext'
144 . '|call'
145 . '|let'
146 . '|register[.]id'
147 . '|valuetotext'
148 . ')(?=\\s*[(])/i';
149
153 public static function addXlfn(string $funcstring): string
154 {
155 return preg_replace(self::XLFNREGEXP, '_xlfn.$1', $funcstring);
156 }
157
162 public static function addXlfnStripEquals(string $funcstring): string
163 {
164 return self::addXlfn(substr($funcstring, 1));
165 }
166}
An exception for terminatinating execution or to throw for unit testing.
static addXlfn(string $funcstring)
Prefix function name in string with _xlfn.
Definition: Xlfn.php:153
static addXlfnStripEquals(string $funcstring)
Prefix function name in string with _xlfn.
Definition: Xlfn.php:162