我有一个信息透视表,总计(总计列包含单词" Total"),我想进一步处理。我创建了一个新工作表并使用
=ARRAYFORMULA('Pivot Table mins'!A:B)
抓住前两列。
但是我想"导入"只有具有单词" Total"的列。在他们中间,所以我创造了:
=FILTER('Sheet'!A:X,MMULT(REGEXMATCH('Sheet'!A:X,"Total"),ROW(INDIRECT("a1:a"&COLUMNS('Sheet'!A:X)))^0))
e.g。如果数据透视表数据跨越A到Z列,但只有D和D列。 F有关键字" Total",我只想"导入"那些专栏。
但是我收到一条错误消息:
FILTER的范围大小不匹配。预期行数:1250。列数:1。实际行数:1,列数:1。
我已经读过可能是范围不匹配,但我有所有范围匹配。
旁注:两张纸都有1242行。
答案 0 :(得分:0)
function onOpen() {
SpreadsheetApp.getActiveSpreadsheet().addMenu(
'Copy Data', [
{ name: 'Copy', functionName: 'copyTotalColumns' },
]);
}
function copyTotalColumns() {
var ss = SpreadsheetApp.getActiveSpreadsheet()
var s=ss.getSheetByName("Sheet")
var s1=ss.getSheetByName("Sheet2")
var lastColumn = s.getLastColumn();
var lastRow= s.getLastRow()
var startCol=3 //column to start total rows
var data = s.getRange(1,1,1,lastColumn).getValues();//get headers
for(var i=0;i<data[0].length;i++){
if( data[0][i]=="Total"){
var copyFrom=s.getRange(2, i+1, lastRow,1).getValues()//get total column
var copyTo=s1.getRange(2, startCol,
lastRow,1).setValues(copyFrom)//set total column on new sheet
startCol=startCol+1 //index column
}
}}