I'm trying to programatically duplicate rows in a Google spreadsheet. I would like the number of times the row is duplicated to be based on one of the values in the row itself.
For example, lets say I have a table like this:
You can see that there are numbers in column C. The value in column C is the number of times I would like to duplicate the row. This is what the desired result would look like:
Technically, if the value in column C was 3, we would be duplicating the row two times.
Any ideas on how to script a Google spreadsheet to do this would be great!
Thanks!
This is fairly simple and you should have tried it yourself. I'm sure that when you'll read the code below you'll say "Oh, of course, I could have done it easily"... right ?
Assuming your input is on inSheet, on a different sheet you can place the following formula
=transpose(split(arrayformula(textjoin(",",false,iferror(rept(inSheet!A1:A&",",inSheet!$C1:$C)))),","))
and drag it right twice and you're done. This could be bulletproofed to handle empty cells or ones with commas or repeat values of 0, but for nice data like above, it works as is.