如何将 Google Sheets 中的二维范围动态重新排列为一维范围,其中行被“堆叠”在一起,如下所示?当我说动态时,我的意思是该范围使用 FILTER 是动态大小的,具有未知数量的列(但已知行数为 52)。我尝试过使用其他问题中看到的 SPLIT(JOIN(range)) 方法,但这里不起作用,因为 JOIN 要求范围为 1D。 寻找谷歌表格解决方案,如果可能的话,但谷歌脚本也可以。
当然,出于许多原因,其他答案更受推荐。 为了文档记录目的,并且由于您愿意接受谷歌应用脚本解决方案,这里是一个您可以使用的自定义函数: function myFlat(rng) { const array = SpreadsheetApp.getActiveSheet().getRange(rng).getValues(); return array[0].map((_, colIndex) => array.map(row => row[colIndex])).flat(); }
FLATTEN()
的未记录函数。试试看。 - General Grievance