Advertisement
Guest User

Untitled

a guest
Aug 21st, 2016
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.77 KB | None | 0 0
  1. <!-- language: lang-none -->
  2.  
  3. | partner | id | email | status | type | group | details |
  4. |---------|-----------|---------------------|--------|------|-------|----------------------|
  5. | YESTKBW | Wednesday | wednesday@gmail.com | YES | 0 | 11 | kgplqolgbmdxenwpehyn |
  6. | ZBSDCUY | Wednesday | wednesday@gmail.com | YES | 0 | 11 | upujkpekm tmqfzpca |
  7. | RBGBHNK | Wednesday | wednesday@gmail.com | YES | 0 | 11 | iky k gtlffdyukngwlo |
  8. | UXJGHLW | Saturday | saturday@gmail.com | NO | 0 | 11 | mjdmodggygxkydxifxny |
  9. | UZHNECM | Friday | friday@gmail.com | YES | 1 | 22 | wpboajbemueskbuyjqeg |
  10. | XACTUOK | Tuesday | tuesday@gmail.com | NO | 2 | 33 | rxnwkpmegng bobjdqlz |
  11. | EIOBZXS | Tuesday | tuesday@gmail.com | NO | 2 | 33 | rwqxxwoeanxqsbpbwx j |
  12.  
  13. <!-- language: lang-none -->
  14.  
  15. | partner | id | email | status | type | group | details |
  16. |---------|-----------|---------------------|--------|------|-------|----------------------|
  17. | YESTKBW | Wednesday | wednesday@gmail.com | YES | 0 | 11 | kgplqolgbmdxenwpehyn |
  18. | ZBSDCUY | | | | | | upujkpekm tmqfzpca |
  19. | RBGBHNK | | | | | | iky k gtlffdyukngwlo |
  20. | UXJGHLW | Saturday | saturday@gmail.com | NO | 0 | 11 | mjdmodggygxkydxifxny |
  21. | UZHNECM | Friday | friday@gmail.com | YES | 1 | 22 | wpboajbemueskbuyjqeg |
  22. | XACTUOK | Tuesday | tuesday@gmail.com | NO | 2 | 33 | rxnwkpmegng bobjdqlz |
  23. | EIOBZXS | | | | | | rwqxxwoeanxqsbpbwx j |
  24.  
  25. function verticallyMerger(sheet, blocks){
  26. /*
  27. {
  28. columns: [],
  29. rows: [[index, count],[index, count]]
  30. }
  31. */
  32. for (var i = 0; i < blocks.rows.length; i++){
  33. for (var j = 0; j < blocks.columns.length; j++){
  34. sheet.getRange(blocks.rows[i][0], blocks.columns[j], blocks.rows[i][1]).mergeVertically();
  35. }
  36. }
  37. return sheet;
  38. }
  39.  
  40. function blockBilder(sheet, initialBlocks){
  41. var blocks = initialBlocks;
  42. blocks.rows = [];
  43. var values = sheet.getRange(1, blocks.mergerColumn, sheet.getLastRow()).getValues();
  44. var isNew = true;
  45. var prevVal;
  46. for(var i = 0; i < values.length; i++){
  47. if(prevVal === values[i][0]){
  48. if(isNew){
  49. blocks.rows.push([i , 2]);
  50. isNew = false;
  51. } else {
  52. blocks.rows[blocks.rows.length - 1][1]++;
  53. }
  54. } else {
  55. prevVal = values[i][0];
  56. isNew = true;
  57. }
  58. }
  59. return blocks;
  60. }
  61.  
  62. {
  63. mergerColumn : 2
  64. }
  65.  
  66. function run(){
  67. var sheet = SpreadsheetApp.getActiveSheet();
  68. var blocks = blockBilder(sheet, {mergerColumn : 2, columns: [2, 3, 4, 5, 6]});
  69. verticallyMerger(sheet, blocks);
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement