我有下表:
我希望输出是
我似乎找不到这方面的任何资源。
ckx4rj1h1#
在您的情况下,如何使用Google Apps脚本如下?
请将以下脚本复制粘贴到Spreadsheet的脚本编辑器中并保存。当使用您的显示示例图像时,请将自定义函数=SAMPLE(J2:J)放入单元格“K2”中。这样,脚本就会运行。
=SAMPLE(J2:J)
function SAMPLE(values) { const headers = ["item_description", "quantity"]; // Please check each value again. const temp = values.map(([j]) => j ? JSON.parse(j.trim()).flatMap(e => headers.flatMap(h => e[h] || null)) : []); const max = Math.max(...temp.map(e => e.length)); return temp.map(e => [...e, ...Array(max - e.length).fill(null)]); }
当此脚本使用示例值时,将获得以下示例情况。
function myFunction() { const headers = ["item_description", "quantity"];// Please check each value again. const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1"); // Please set the sheet name. const values = sheet.getRange("J2:J" + sheet.getLastRow()).getValues(); const temp = values.map(([j]) => j ? JSON.parse(j.trim()).flatMap(e => headers.flatMap(h => e[h] || null)) : []); const max = Math.max(...temp.map(e => e.length)); const res = temp.map(e => [...e, ...Array(max - e.length).fill(null)]); sheet.getRange(2, 11, res.length, res[0].length).setValues(res); }
1条答案
按热度按时间ckx4rj1h1#
在您的情况下,如何使用Google Apps脚本如下?
示例脚本:
请将以下脚本复制粘贴到Spreadsheet的脚本编辑器中并保存。当使用您的显示示例图像时,请将自定义函数
=SAMPLE(J2:J)
放入单元格“K2”中。这样,脚本就会运行。测试:
当此脚本使用示例值时,将获得以下示例情况。
注:
参考: