This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* | |
| Name: ARRDEPTH | |
| Description: Final user interface (Use this). Returns how many levels an array is nested. | |
| [is_ragged]: TRUE finds the deepest array path. FALSE or Omitted assumes uniform layout and only tests the first element's path for speed. | |
| Made By: Medohh2120 | |
| */ | |
| ARRDEPTH = LAMBDA(array, [is_ragged], IF(is_ragged, ANALYZE_NESTING(array,1), LINEARDEPTH(array))); | |
| /* | |
| Name: ISRAGGED |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* | |
| Name: ISIN | |
| Description: Element-wise membership test (SQL IN clone). Returns TRUE/FALSE for each value in array. | |
| Deals errors as identical matches. | |
| Recommendation: Leave [Use_Xmatch] omitted (0) for standard lookups; MATCH is significantly faster than XMATCH on exact matches. | |
| [Use_Xmatch]: 0 or Omitted (Fast MATCH), 1 (XMATCH). User is responsible for parameters if 1. | |
| [Match_mode]: Default 0 (Exact match) for safety. | |
| [Search_mode]: Controls XMATCH search direction (only evaluated if Use_Xmatch is 1). | |
| [case_sensitive]: 0, FALSE, or Omitted (Case-insensitive matching), 1 or TRUE (Strict case-sensitive matching). Note: Activating this short-circuits the formula and bypasses all other optional parameters. | |
| Made By: Medohh2120 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* | |
| Name: DESCRIBE | |
| Description: Generates a descriptive-statistics summary for each selected column, | |
| similar to Python's pandas .describe() function. | |
| [isSample] default: TRUE; uses sample variance, standard deviation, and skewness. | |
| [include] default: 0; 0 = numeric columns, 1 = text columns, 2 = all columns. | |
| [Has_hdrs?] default: TRUE; specifies whether the first row contains headers. | |
| Made By: Medohh2120 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* | |
| Name: FILL | |
| Description : Fills blank cells of an array in a given direction. | |
| Supports 2D arrays. | |
| Supports multiple directions via array constant {"d", "r", ...} respectively ⚠. | |
| [directions]: control Filling direction: | |
| "d" or Omitted (down). | |
| "u" (up). | |
| "r" (right). | |
| "l" (left). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* | |
| Name: WRAPROWS_AT | |
| Description: Wraps a column into rows at every occurrence of a trigger value. | |
| Supports multiple triggers via array constant {"start", "end", ...}. | |
| ⚠ Triggers are not case-sensitive "end" and "END" are treated the same. | |
| Consecutive triggers in data are automatically treated as one -> no empty groups produced. | |
| Groups are internally joined via CHAR(1) as a safe delimiter, never colliding with real data. | |
| Optional "pad_with" pads shorter rows to uniform width. | |
| ⚠ Note: TEXTJOIN cap applies -> max ~32,000 chars per group. | |
| Made By: Medohh2120 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* | |
| Name: GROUPBY_RETITLE | |
| Description: Replaces the native (GROUPBY+HSTACK) value field headers with provided [custom_headers] array. | |
| GROUPBY.[Field_headers] must equal 2 or 3. | |
| Made By: Medohh2120 | |
| */ | |
| GROUPBY_RETITLE = LAMBDA(groupby_result, [custom_headers], | |
| LET( | |
| n_value_fields, SUM(--(TAKE(groupby_result, 1) <> "")), |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* | |
| Name: COMPATVER | |
| Description: Dynamically switches between legacy, dynamic-array, and modern Excel engines | |
| to return the current compatibility level: 1, 2, or 3. | |
| Made By: Medohh2120 | |
| */ | |
| COMPATVER = LAMBDA( | |
| SWITCH( | |
| TRUE, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* | |
| Name: BENCHMARK | |
| Description: Runs a formula N iterations and returns avg & total execution time. | |
| Func must be wrapped in LAMBDA() =BENCHMARK(LAMBDA(your_formula), 50) | |
| [iterations] default: 1 | |
| [time_unit] default: 0 (ms), 1 = seconds | |
| Because this function uses NOW(), manual calculation mode is highly recommended. | |
| Made By: Medohh2120 | |
| */ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* | |
| Name: REPLACE_VECTOR | |
| Description: Replaces targeted rows and/or columns in an array with given "new_arrays". | |
| If multiple indices are supplied per axis, the same "new_array" is placed at each target. | |
| preserves the original order of the remaining rows/columns. | |
| Optional "pad_with" replaces dimension-mismatch errors in the final result. | |
| Made By: Medohh2120 | |
| */ | |
| REPLACE_VECTOR = LAMBDA(array, [row_idxs], [new_row_array], [col_idxs], [new_col_array], [pad_with], |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* | |
| Name: REPEAT | |
| Recommended version: v2024 or 365 | |
| Description: Repeats a data range based on a frequency column. | |
| Optimized with Binary Search. | |
| Made By: Medohh2120 | |
| */ | |
| Repeat = LAMBDA(Values,Number_times, | |
| LET( |
NewerOlder