01When Excel lacks certain necessary functionalities
Excel does not offer functionalities or functions for certain computing tasks.
Split A1 according to separator “->“. The expected result is C1:F1:
Usually need VBA as a formula alone cannot manage
High technical threshold & low efficiency
Use multi-character splitting function split(). Enter formula in C1:
=spl("=?.split(""->"")",A1)
Directly use a splitting function without turning to VBA, and has high efficiency
Find data existing in column A but not in column B, that is, the difference. The expected result is shown in column C:
Do not support set operations such as difference, and can only piece together a complex and hard to understand formula using existing functions (such as if, iserror, vlookup and filter)
Use the difference operator \
=spl("=?1\?2",A1:A6,B1:B5)
Support various operators and functions for set operations; formulas are simple and easy to understand and allow automatic filling
More SPL functionalities
Calculate median of values in unspecified cells (like those where max and min values will be removed)
Get TopN from an unspecified number of cells (N is a cell value, for instance)
Return the substring before the specified marker string
Split a string into an array of numbers and an array of characters
Split away all dates from a string
Insert an empty row every N rows
Insert an empty row wherever the specified data changes
Split key value pairs in a certain range into two columns – the key and the value
Get all Sundays within a specified time period
02Enable old versions of Excel to have features of the latest ones
You cannot access the more powerful functions the latest version offers through an old version of Excel.
The old version does not support the unique function (for getting unique values) the 2019?&365 offers.
Get upgraded or write a complex formula
Use the SPL counterpart id@u
=spl("=?.id@u()",A2:A17)
More about SPL id function:
Sort result by default, and is equivalent to Excel sort(unique())
id@u does not sort the result and is equivalent to Excel unique
Achieve a lot of new functionalities in an old version without upgrading, and support automatic filling
New functionalities achievable in an old version of Excel:
filter
sort\sortBy
xlookup
maxifs\minifs
xmatch
sequence
randArray
switch
concat\textjoin
03Power up common Excel functions
Certain commonly used Excel functions are not powerful enough.
Filter function does not return column names for the filtering result, cannot reference column names in the condition, does not support fuzzy query.
Copy column names manually and formulas are hard to write (accompanied by functions such as search\iferror)
Return all eligible records after the first matched one
Support reverse filtering
Return non-matched records
Support binary search
Return column names for the filtering result, allow using column names in the condition and support fuzzy query
More powered-up Excel functions
Vlookup: return multiple matched records
Xlookup: Perform cross-match and two-way match
Index: Get ordinal numbers backwards
avg: Skip non-number members
max: Return ordinal number(s) of the max value
count: Calculate formula on each member and return number of the non-null results
datedif: Calculate the number of quarters/weeks/Mondays/Sundays between two dates
concat: Use a user-defined separator and enclose members with quotation marks
find: Case-insensitive and find eligible members backwards
04Simplify Excel data handling
In same scenarios, it’s harder for Excel to process table data (multiple records with column names)
Find products whose sales quantities rank in top10 in Jan. but do not rank in top10 in Feb., that is, records existing in table on the left but not in table on the right (their difference).
Do no support getting difference of simple data sets as well as of table data; need cooperation of multiple functions to achieve, which is hard
Use the specialized function merge@od to get difference on records
By default return duplicate records after combination (which is concatenation) and data remains ordered
@o means data is still unordered
@i gets common records of two tables – the intersection
@u gets all unique records of two tables – the union
Can perform a set operation between single columns/multiple columns/whole rows
Support various set operations on table data with simple and easy to understand formulas
Table Orders’ SellerID column is associated with table Seller’s ID column (in a many-to-one relationship), but both have missing data (highlighted in blue and yellow). Our goal is to perform a two-way search (full join) on the two tables and generate a new table using certain columns while displaying missing data in the other table.
xlookup has incomplete functionalities, and can perform a one-way search only (inner join and left join) but cannot perform a two-way search (full join)
Use the two-way search (full join) function join@f on records. Enter the following formula:
-3 represents top3 employees getting the highest salaries
Support various computations after table data is grouped
SPL can handle more computations on grouped table data
Get ranking of values of a specified field in a group
Get positions of odd numbers, even numbers or steps in a group
Get a relative position in a group, such as calculating YOY, link relative ratio or moving average
Perform filtering on detailed data in a group according to a condition like greater than average and less than a certain percentage of the aggregate value
Perform aggregate-value-related computations on detailed data in a group, such as calculating percentage of a certain field’s value in the aggregate value
Use a separator to combine multiple rows in a group into a single row
Split each row into multiple rows according to a specified separator