Skip to content

Commit 05e8075

Browse files
enh(excel) update keywords from 2016 to 2024 (#4182)
* Update from 2016 to 2024 with new formulae Remove: FALSE|0 MIDBs SQL.REQUEST TRUE|0 Add: ARRAYTOTEXT BYCOL BYROW CHOOSECOLS CHOOSEROWS DROP EXPAND FALSE FILTER HSTACK IMAGE ISOMITTED LAMBDA LET MAKEARRAY MAP MIDB RANDARRAY REDUCE SCAN SEQUENCE SORT SORTBY STOCKHISTORY TAKE TEXTAFTER TEXTBEFORE TEXTSPLIT TOCOL TOROW TRUE UNIQUE VALUETOTEXT VSTACK WRAPCOLS WRAPROWS XLOOKUP XMATCH * Include missing functions I have left in SQL.REQUEST, this was from an addin that was included in Excel pre-2010 and is no longer used. Perhaps people want to highlight it in code for older Excel versions. I've removed MIDBs - this was clearly a typo and should have been MIDB which I have added. I've removed TRUE|0 and FALSE|0 and replaced them with TRUE and FALSE which are both callable as functions. The "|0" does not appear in the original archived link, so unless you can think of a reason for it (perhaps it handles the fact that TRUE and FALSE are also valid data not as a function) I will leave removed. * Update CHANGES.md * Update CHANGES.md * Update CHANGES.md --------- Co-authored-by: Josh Goebel <[email protected]>
1 parent 195659e commit 05e8075

File tree

2 files changed

+42
-5
lines changed

2 files changed

+42
-5
lines changed

CHANGES.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ Core Grammars:
1010
- fix(makefile) - allow strings inside `$()` expressions [aneesh98][]
1111
- enh(arcade) updated to ArcGIS Arcade version 1.29 [Kristian Ekenes][]
1212
- enh(css) add all properties listed on MDN (96 additions including `anchor-name`, `aspect-ratio`, `backdrop-filter`, `container`, `margin-trim`, `place-content`, `scroll-timeline`, ...) [BaliBalo][]
13+
- enh(excel) add built-in functions for Excel 365 release to 2024 [Danny Winrow][]
1314
- enh(erlang) OTP 27 triple-quoted strings [nixxquality][]
1415
- enh(erlang) OTP 27 doc attribute [nixxquality][]
1516
- enh(erlang) OTP 27 Sigil type [nixxquality][]
@@ -89,6 +90,7 @@ CONTRIBUTORS
8990
[Jake Leahy]: https://github.com/ire4ever1190
9091
[Laurel King]: https://github.com/laurelthorburn
9192
[Kristian Ekenes]: https://github.com/ekenes
93+
[Danny Winrow]: https://github.com/dannywinrow
9294

9395

9496
## Version 11.10.0

src/languages/excel.js

Lines changed: 40 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Category: enterprise
88

99
/** @type LanguageFn */
1010
export default function(hljs) {
11-
// built-in functions imported from https://web.archive.org/web/20160513042710/https://support.office.com/en-us/article/Excel-functions-alphabetical-b3944572-255d-4efb-bb96-c6d90033e188
11+
// built-in functions imported from https://web.archive.org/web/20241205190205/https://support.microsoft.com/en-us/office/excel-functions-alphabetical-b3944572-255d-4efb-bb96-c6d90033e188
1212
const BUILT_INS = [
1313
"ABS",
1414
"ACCRINT",
@@ -24,6 +24,7 @@ export default function(hljs) {
2424
"AND",
2525
"ARABIC",
2626
"AREAS",
27+
"ARRAYTOTEXT",
2728
"ASC",
2829
"ASIN",
2930
"ASINH",
@@ -57,6 +58,8 @@ export default function(hljs) {
5758
"BITOR",
5859
"BITRSHIFT",
5960
"BITXOR",
61+
"BYCOL",
62+
"BYROW",
6063
"CALL",
6164
"CEILING",
6265
"CEILING.MATH",
@@ -72,6 +75,8 @@ export default function(hljs) {
7275
"CHISQ.INV.RT",
7376
"CHISQ.TEST",
7477
"CHOOSE",
78+
"CHOOSECOLS",
79+
"CHOOSEROWS",
7580
"CLEAN",
7681
"CODE",
7782
"COLUMN",
@@ -143,6 +148,7 @@ export default function(hljs) {
143148
"DOLLARDE",
144149
"DOLLARFR",
145150
"DPRODUCT",
151+
"DROP",
146152
"DSTDEV",
147153
"DSTDEVP",
148154
"DSUM",
@@ -162,14 +168,16 @@ export default function(hljs) {
162168
"EVEN",
163169
"EXACT",
164170
"EXP",
171+
"EXPAND",
165172
"EXPON.DIST",
166173
"EXPONDIST",
167174
"FACT",
168175
"FACTDOUBLE",
169-
"FALSE|0",
176+
"FALSE",
170177
"F.DIST",
171178
"FDIST",
172179
"F.DIST.RT",
180+
"FILTER",
173181
"FILTERXML",
174182
"FIND",
175183
"FINDB",
@@ -213,6 +221,7 @@ export default function(hljs) {
213221
"HEX2OCT",
214222
"HLOOKUP",
215223
"HOUR",
224+
"HSTACK",
216225
"HYPERLINK",
217226
"HYPGEOM.DIST",
218227
"HYPGEOMDIST",
@@ -221,6 +230,7 @@ export default function(hljs) {
221230
"IFNA",
222231
"IFS",
223232
"IMABS",
233+
"IMAGE",
224234
"IMAGINARY",
225235
"IMARGUMENT",
226236
"IMCONJUGATE",
@@ -263,19 +273,22 @@ export default function(hljs) {
263273
"ISNONTEXT",
264274
"ISNUMBER",
265275
"ISODD",
276+
"ISOMITTED",
266277
"ISREF",
267278
"ISTEXT",
268279
"ISO.CEILING",
269280
"ISOWEEKNUM",
270281
"ISPMT",
271282
"JIS",
272283
"KURT",
284+
"LAMBDA",
273285
"LARGE",
274286
"LCM",
275287
"LEFT",
276288
"LEFTB",
277289
"LEN",
278290
"LENB",
291+
"LET",
279292
"LINEST",
280293
"LN",
281294
"LOG",
@@ -287,6 +300,8 @@ export default function(hljs) {
287300
"LOGNORM.INV",
288301
"LOOKUP",
289302
"LOWER",
303+
"MAKEARRAY",
304+
"MAP",
290305
"MATCH",
291306
"MAX",
292307
"MAXA",
@@ -295,7 +310,7 @@ export default function(hljs) {
295310
"MDURATION",
296311
"MEDIAN",
297312
"MID",
298-
"MIDBs",
313+
"MIDB",
299314
"MIN",
300315
"MINIFS",
301316
"MINA",
@@ -372,12 +387,14 @@ export default function(hljs) {
372387
"QUOTIENT",
373388
"RADIANS",
374389
"RAND",
390+
"RANDARRAY",
375391
"RANDBETWEEN",
376392
"RANK.AVG",
377393
"RANK.EQ",
378394
"RANK",
379395
"RATE",
380396
"RECEIVED",
397+
"REDUCE",
381398
"REGISTER.ID",
382399
"REPLACE",
383400
"REPLACEB",
@@ -393,11 +410,13 @@ export default function(hljs) {
393410
"RRI",
394411
"RSQ",
395412
"RTD",
413+
"SCAN",
396414
"SEARCH",
397415
"SEARCHB",
398416
"SEC",
399417
"SECH",
400418
"SECOND",
419+
"SEQUENCE",
401420
"SERIESSUM",
402421
"SHEET",
403422
"SHEETS",
@@ -409,10 +428,13 @@ export default function(hljs) {
409428
"SLN",
410429
"SLOPE",
411430
"SMALL",
412-
"SQL.REQUEST",
431+
"SORT",
432+
"SORTBY",
413433
"SQRT",
414434
"SQRTPI",
435+
"SQL.REQUEST",
415436
"STANDARDIZE",
437+
"STOCKHISTORY",
416438
"STDEV",
417439
"STDEV.P",
418440
"STDEV.S",
@@ -435,6 +457,7 @@ export default function(hljs) {
435457
"T",
436458
"TAN",
437459
"TANH",
460+
"TAKE",
438461
"TBILLEQ",
439462
"TBILLPRICE",
440463
"TBILLYIELD",
@@ -443,26 +466,33 @@ export default function(hljs) {
443466
"T.DIST.RT",
444467
"TDIST",
445468
"TEXT",
469+
"TEXTAFTER",
470+
"TEXTBEFORE",
446471
"TEXTJOIN",
472+
"TEXTSPLIT",
447473
"TIME",
448474
"TIMEVALUE",
449475
"T.INV",
450476
"T.INV.2T",
451477
"TINV",
478+
"TOCOL",
479+
"TOROW",
452480
"TODAY",
453481
"TRANSPOSE",
454482
"TREND",
455483
"TRIM",
456484
"TRIMMEAN",
457-
"TRUE|0",
485+
"TRUE",
458486
"TRUNC",
459487
"T.TEST",
460488
"TTEST",
461489
"TYPE",
462490
"UNICHAR",
463491
"UNICODE",
492+
"UNIQUE",
464493
"UPPER",
465494
"VALUE",
495+
"VALUETOTEXT",
466496
"VAR",
467497
"VAR.P",
468498
"VAR.S",
@@ -471,14 +501,19 @@ export default function(hljs) {
471501
"VARPA",
472502
"VDB",
473503
"VLOOKUP",
504+
"VSTACK",
474505
"WEBSERVICE",
475506
"WEEKDAY",
476507
"WEEKNUM",
477508
"WEIBULL",
478509
"WEIBULL.DIST",
479510
"WORKDAY",
480511
"WORKDAY.INTL",
512+
"WRAPCOLS",
513+
"WRAPROWS",
481514
"XIRR",
515+
"XLOOKUP",
516+
"XMATCH",
482517
"XNPV",
483518
"XOR",
484519
"YEAR",

0 commit comments

Comments
 (0)