Hello how to get a increment numbers for duplicate with array function.
Example in below picture if we search a word in entire A
row if there is any duplicates it will add numbers in B
.
CodePudding user response:
Try
=arrayformula(if(A1:A="",,
A1:A&if(countif(A1:A,A1:A)=1,,
"-"&text(countifs(A1:A,A1:A,row(A1:A),"<="&row(A1:A)),"00"))))
Or...
=A1&if(countif(A$1:A,A1)=1,,
"-"&text(countif(A$1:A1,A1),"00"))
...and dragdown.
CodePudding user response:
Count duplicates
function countdups() {
const ss = SpreadsheetApp.getActive();
const sh = ss.getSheetByName("Sheet0");
const vs = sh.getRange(1,1,sh.getLastRow(),2).getValues();
let uA = [];
let obj = {pA:[]};
vs.forEach(r => {
if(!~uA.indexOf(r[0])) {
uA.push(r[0]);
obj[r[0]] = 1;
obj.pA.push(r[0]);
} else {
obj[r[0]] = 1;
}
});
let vo = obj.pA.map(p => [`${p}-${obj[p]}`]);
sh.getRange(1,2,vo.length,1).setValues(vo);
}
COL1 | COL1-1 |
---|---|
7 | 7-2 |
6 | 6-1 |
9 | 9-1 |
11 | 11-3 |
16 | 16-1 |
4 | 4-1 |
15 | 15-1 |
19 | 19-3 |
11 | 2-1 |
2 | 10-3 |
10 | 18-1 |
11 | 5-1 |
10 | 0-1 |
18 | |
19 | |
19 | |
10 | |
5 | |
0 | |
7 |