将 Google Ads 数据导出到特定单元格范围

Posted

技术标签:

【中文标题】将 Google Ads 数据导出到特定单元格范围【英文标题】:Exporting Google Ads Data To Specific Cell Range 【发布时间】:2019-11-06 16:18:52 【问题描述】:

我有一个根据规则将数据导出到工作表的广告脚本。

但是,我只想替换某个单元格范围内的数据,例如 Google 工作表中的“A2:J”。

我知道如何在电子表格应用程序脚本中执行此操作,但不确定/在广告脚本/AWQL 上苦苦挣扎。

我在下面粘贴了脚本的基础知识,但确实可以深入了解是否以及如何推动到特定范围。

function main()

// Put your Google data sheet here
var sheetURL = '';

// Enter the tab name here
var tabName = '';

var QUERIES = ['query' : 'SELECT Date, DayOfWeek, HourOfDay, Device, CampaignName, Impressions, Clicks, Cost, Conversions, ConversionValue ' +
                        'FROM CAMPAIGN_PERFORMANCE_REPORT ' +
            'WHERE Impressions > 0 ' +
                      'DURING TODAY',
                      //'DURING ' + dateRanges, 
            'spreadsheetUrl' : sheetURL,
            'tabName' : tabName,
            'reportVersion' : 'v201809'
                       
          ];

//This is to gather the above query and push it to the spreadsheet stated above
  for(var i in QUERIES) 
    var queryObject = QUERIES[i];
    var query = queryObject.query;
    var spreadsheetUrl = queryObject.spreadsheetUrl;
    var tabName = queryObject.tabName;
    var reportVersion = queryObject.reportVersion;
    //Logger.log(spreadsheetUrl + " " + query);
    var spreadsheet = SpreadsheetApp.openByUrl(spreadsheetUrl);
    var sheet = spreadsheet.getSheetByName(tabName);
    var report = AdWordsApp.report(query, apiVersion: reportVersion);
    report.exportToSheet(sheet);
  

【问题讨论】:

此报告看起来会填充前十列,即 J 列。那么问题出在哪里? @Cooper 它确实填充了我想要的列。但是,它会清除并替换整个工作表,而不仅仅是 A:J 列中的数据。所以我只想替换一个设定范围而不是整个工作表。 啊,我明白了。我想知道如何让每次都在同一张表中执行此操作,然后只需添加代码以自己将数据复制到最终表中,然后您就可以更好地控制最终报告的外观。 @Cooper 我很想通过查询或按计划将数据推送到新工作表来做到这一点。 (我为更大的数据集设置了这个)。我只是想看看是否有办法替换某个范围。我认为它需要更多时间进行研究...感谢您的时间 【参考方案1】:

答案:

基本上,不能将report 直接导出到工作表的某个范围。正如您在 official docs 中看到的那样,exportToSheet(sheet) 只接受 sheet 作为参数,并且没有其他可选参数来实现您的目的。

解决方法:

正如 Cooper 和您自己评论的那样,您可以将报告导出到另一张表,然后从那里将 copy the desired range 导出到您的最后一张表。

如果你不想一直有这个额外的工作表,我建议每次使用exportTosheet 时都使用creating a new sheet,将报告导出到这个新创建的工作表,最后在它之后使用deleting this sheet已复制到最后一张。

此外,自 2018 年 11 月以来,您应该使用 AdsApp 而不是 AdWordsApp,如 here 所述。

【讨论】:

您好,感谢您提供的信息。我很欣赏明确没有确认,所以我将使用其他方法。我用更新后的 AdsApp 创建了一个版本,只是粘贴了旧版本,但再次为抬头欢呼。

以上是关于将 Google Ads 数据导出到特定单元格范围的主要内容,如果未能解决你的问题,请参考以下文章

超链接到具有相同名称/值的单元格范围 - Google 表格

将图表从单元格范围更改为命名范围

Vba 代码在单元格范围内复制特定值

VBA - 在工作簿中调整单元格范围以发送电子邮件

VBA excel Target.Address =单元格范围

将单元格范围复制到新位置