Problem description & analysis:
In the following Excel table, there are duplicate values in column A:
A | |
1 | Fruit |
2 | Apple |
3 | Banana |
4 | Banana |
5 | Strawberry |
Computing task: perform COUNT on each category and concatenate result groups into a string with "+"; if the count is greater than 1, write "x count" after each category. The final result will be like this:
Apple+Bananax2+Strawberry
As shown in the picture below:
Solution:
Use SPL XLL to enter the following formula:
=spl("=?.conj().groups(~;count(1)).(#1 / if(#2>1,$[x] / #2)).concat($[+])",A2:A5)
Explanation:
The conj()function concatenates subsets; the groups() function performs grouping & aggregation; with $[], we do not need to escape a string with double quotation marks, and #1 represents the 1st field of the table.
SPL XLL is now FREE to download and apply. You can simply click this link to try this solution by yourself to see the results: http://www.scudata.com/download-Desktop