Skip to main content
Eliminar ruido añadir explicación
Origen Enlace
Aubá
  • 44
  • 1
  • 5

he revisado el código según mi compresión a la pregunta creo que se debe a que falta corchetes.setValues([valores])

Espero que el tiempo dedicado te pueda haber ayudado.

Alternativa:

const factura = SpreadsheetApp.getActive().getSheetByName('Sheet3');
const a1Notations = ['A1:A10', 'C1:10'C10', 'D1:D10']
const arrValores = factura.getRangeList(a1Notations).getRanges()
    .map(function(row){return row.getValues()});

const valores = transpose(arrValores)

var datos = SpreadsheetApp.getActive().getSheetByName('Sheet2');

datos.getRange(datos.getLastRow()+1,1,valores.length,valores[0].length).setValues(valores);}/* End if */

/**
 * Get traspose array
 * @see Ask question:
 * https://stackoverflow.com/questions/4492678/swap-rows-with-columns-transposition-of-a-matrix-in-javascript
 * @see Property code:
 * https://stackoverflow.com/users/4079309/kit-inwi
 */
function transpose(a) {
    return a[0].map(function (_, c) { return a.map(function (r) { return r[c]; }); });}

En esta otra alternativa utilizo método getRangeList() reduzco las llamadas a los valores con el método getValues() y retorna los valores a la variable matriz a una matriz con la función traspose() invierta las filas en columnas.
También he utilizado método getSheetByName() para obtener la clase Sheet.

Un Saludo. A la espera de más información.

he revisado el código según mi compresión a la pregunta creo que se debe que falta corchetes.setValues([valores])

Espero que el tiempo dedicado te pueda haber ayudado.

Alternativa:

const factura = SpreadsheetApp.getActive().getSheetByName('Sheet3');
const a1Notations = ['A1:A10', 'C1:10', 'D1:D10']
const arrValores = factura.getRangeList(a1Notations).getRanges()
    .map(function(row){return row.getValues()});

const valores = transpose(arrValores)

var datos = SpreadsheetApp.getActive().getSheetByName('Sheet2');

datos.getRange(datos.getLastRow()+1,1,valores.length,valores[0].length).setValues(valores);}/* End if */

/**
 * Get traspose array
 * @see Ask question:
 * https://stackoverflow.com/questions/4492678/swap-rows-with-columns-transposition-of-a-matrix-in-javascript
 * @see Property code:
 * https://stackoverflow.com/users/4079309/kit-inwi
 */
function transpose(a) {
    return a[0].map(function (_, c) { return a.map(function (r) { return r[c]; }); });}

En esta otra alternativa utilizo método getRangeList() reduzco las llamadas a los valores con el método getValues() y retorna los valores a la variable matriz.
También he utilizado método getSheetByName() para obtener la clase Sheet.

Un Saludo. A la espera de más información.

he revisado el código se debe a que falta corchetes.setValues([valores])

Alternativa:

const factura = SpreadsheetApp.getActive().getSheetByName('Sheet3');
const a1Notations = ['A1:A10', 'C1:C10', 'D1:D10']
const arrValores = factura.getRangeList(a1Notations).getRanges()
    .map(function(row){return row.getValues()});

const valores = transpose(arrValores)

var datos = SpreadsheetApp.getActive().getSheetByName('Sheet2');

datos.getRange(datos.getLastRow()+1,1,valores.length,valores[0].length).setValues(valores);}/* End if */

/**
 * Get traspose array
 * @see Ask question:
 * https://stackoverflow.com/questions/4492678/swap-rows-with-columns-transposition-of-a-matrix-in-javascript
 * @see Property code:
 * https://stackoverflow.com/users/4079309/kit-inwi
 */
function transpose(a) {
    return a[0].map(function (_, c) { return a.map(function (r) { return r[c]; }); });}

En esta otra alternativa utilizo método getRangeList() reduzco las llamadas a los valores con el método getValues() y retorna los valores a la variable matriz a una matriz con la función traspose() invierta las filas en columnas.
También he utilizado método getSheetByName() para obtener la clase Sheet.

Código de alternativa
Origen Enlace
Aubá
  • 44
  • 1
  • 5

he revisado el código según mi compresión a la pregunta creo que se debe que falta corchetes.setValues([valores])

Espero que el tiempo dedicado te pueda haber ayudado.

Alternativa:

const factura = SpreadsheetApp.getActive().getSheetByName('Sheet3');
const a1Notations = ['A1:A10', 'C1:10', 'D1:D10']
const arrValores = factura.getRangeList(a1Notations).getRanges()
    .map(function(row){return row.getValues()});

const valores = transpose(arrValores)

var datos = SpreadsheetApp.getActive().getSheetByName('Sheet2');

datos.getRange(datos.getLastRow()+1,1,valores.length,valores[0].length).setValues(valores);}/* End if */

/**
 * Get traspose array
 * @see Ask question:
 * https://stackoverflow.com/questions/4492678/swap-rows-with-columns-transposition-of-a-matrix-in-javascript
 * @see Property code:
 * https://stackoverflow.com/users/4079309/kit-inwi
 */
function transpose(a) {
    return a[0].map(function (_, c) { return a.map(function (r) { return r[c]; }); });}

En esta otra alternativa utilizo método getRangeList() reduzco las llamadas a los valores con el método getValues() y retorna los valores a la variable matriz.
También he utilizado método getSheetByName() para obtener la clase Sheet.

Un Saludo. A la espera de más información.

he revisado el código según mi compresión a la pregunta creo que se debe que falta corchetes.setValues([valores])

Espero que el tiempo dedicado te pueda haber ayudado.

he revisado el código según mi compresión a la pregunta creo que se debe que falta corchetes.setValues([valores])

Espero que el tiempo dedicado te pueda haber ayudado.

Alternativa:

const factura = SpreadsheetApp.getActive().getSheetByName('Sheet3');
const a1Notations = ['A1:A10', 'C1:10', 'D1:D10']
const arrValores = factura.getRangeList(a1Notations).getRanges()
    .map(function(row){return row.getValues()});

const valores = transpose(arrValores)

var datos = SpreadsheetApp.getActive().getSheetByName('Sheet2');

datos.getRange(datos.getLastRow()+1,1,valores.length,valores[0].length).setValues(valores);}/* End if */

/**
 * Get traspose array
 * @see Ask question:
 * https://stackoverflow.com/questions/4492678/swap-rows-with-columns-transposition-of-a-matrix-in-javascript
 * @see Property code:
 * https://stackoverflow.com/users/4079309/kit-inwi
 */
function transpose(a) {
    return a[0].map(function (_, c) { return a.map(function (r) { return r[c]; }); });}

En esta otra alternativa utilizo método getRangeList() reduzco las llamadas a los valores con el método getValues() y retorna los valores a la variable matriz.
También he utilizado método getSheetByName() para obtener la clase Sheet.

Un Saludo. A la espera de más información.

Error en código
Origen Enlace
Aubá
  • 44
  • 1
  • 5

he revisado el código según mi compresión a la pregunta creo que se debe que falta corchetes.setValues([valores])

Espero que el tiempo dedicado te pueda haber ayudado.

Alternativa:

var factura = SpreadsheetApp.getActive().getSheetByName('Sheet1');

var valores = factura.getRangeList(['A1:A10', 'C1:C10', 'D1:D10']).getRanges()
    .map(function(row){
      return row.getValues().map(function(column){
          return column})});

var datos = SpreadsheetApp.getActive().getSheetByName('Sheet2');

datos.getRange(datos.getLastRow()+1,1,1,valores.length).setValues([valores]);

En esta otra alternativa utilizo método getRangeList() utilizo solo una llamada a los rangos y con la función map() llamo a todas líneas columnas con el método getValues() y retorna los valores a la variable matriz.
También he utilizado método getSheetByName() para obtener la clase Sheet.

Un Saludo. A la espera de más información.

he revisado el código según mi compresión a la pregunta creo que se debe que falta corchetes.setValues([valores])

Espero que el tiempo dedicado te pueda haber ayudado.

Alternativa:

var factura = SpreadsheetApp.getActive().getSheetByName('Sheet1');

var valores = factura.getRangeList(['A1:A10', 'C1:C10', 'D1:D10']).getRanges()
    .map(function(row){
      return row.getValues().map(function(column){
          return column})});

var datos = SpreadsheetApp.getActive().getSheetByName('Sheet2');

datos.getRange(datos.getLastRow()+1,1,1,valores.length).setValues([valores]);

En esta otra alternativa utilizo método getRangeList() utilizo solo una llamada a los rangos y con la función map() llamo a todas líneas columnas con el método getValues() y retorna los valores a la variable matriz.
También he utilizado método getSheetByName() para obtener la clase Sheet.

Un Saludo. A la espera de más información.

he revisado el código según mi compresión a la pregunta creo que se debe que falta corchetes.setValues([valores])

Espero que el tiempo dedicado te pueda haber ayudado.

Origen Enlace
Aubá
  • 44
  • 1
  • 5
Loading