Copy Entire Row

I'm looking for an elegant and efficient way to copy an entire row (new or updated) to a new line in another table.

This is obviously for auditing purposes and my current method utilises a bot and a long concatenated expression that I have to tailor to each sheet.

CONCAT([Col1],[Col2]...)

It works, but is hardly efficient. Is there a better way?

 

Solved Solved
0 6 161
1 ACCEPTED SOLUTION

Aurelien
Google Developer Expert
Google Developer Expert

@Qiro in this case yes, this is the best way ๐Ÿ™‚

 

View solution in original post

6 REPLIES 6

There is an event in actions Just for It bro

Aurelien
Google Developer Expert
Google Developer Expert

Hi @Qiro 

As @diogolupcosta said, this is this one:

Aurelien_2-1652158412369.png

For what you describe (new/add or update) you may not even need a bot.

Just specify which action you wish to fire on form saving:

 

Aurelien_3-1652158466675.png

 

Hi @Aurelien

This is the method I'm using now, though it only occurred to me that I could do it as a save action without the bot, after I'd gone to bed!

I am trying to add all the data to one cell, because the tables I'm copying data from are all different. That's why I was concatenating the data.

Am I already doing it the best way?

Aurelien
Google Developer Expert
Google Developer Expert

@Qiro in this case yes, this is the best way ๐Ÿ™‚

 

Thanks for confirming.

Just for the sake of tidiness, I have separated each data point with "," to create comma separated values, but where there is no data, you end up with a string of commas. 

Am I right in thinking complicating the expression with IFS might slow things down? This is the kind of thing I'm outputting right now. 

NAME,DATE,TIME,,,,,LOCATION,COLOUR,,,TEMP,

Any suggestions to keep it clean?

Aurelien
Google Developer Expert
Google Developer Expert

I think it is a good way to deal with it, in my opinion that won't slow it too much 

You can also try this:

 

CONCATENATE(
  LIST([Col1],[Col2],...,[ColN])
  -LIST("")
)

 

Top Labels in this Space