我有一个谷歌电子表格,有两张表格,人
如果人员B栏中的单元格与公司A栏中的单元格中的文本匹配,那么我需要将公司B栏的内容添加到人员C栏中
之前的人物表:
公司表:
人员名单如下:
我一直试图使用Stackoverflow上其他地方找到的匹配脚本,但没有成功:
function myFunction(){
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var people = sheet.getSheetByName("People");
var companies = sheet.getSheetByName("Companies");
var people = people.getRange(column(b));
var data1 = people.getValues();
var data2 = companies.getValues();
}
我真的被困住了,知道吗?提前感谢您的任何帮助。
虽然Vlookup会为你做这件事,但如果你仍然好奇,这是一种通过脚本完成的方法。
function myFunction(){
var peopleSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("PEOPLE");
var companySheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("COMPANIES");
// --------- SPECIFY INFO --------------
var ignoreTitles = true; // If you have titles, this will offset them.
var peopleColumn = 2; // Which column to use in the People sheet to check comparison
var companyColumn = 1; // Which column to use in the Company sheet to check comparison
var companyColumnToGet = 2; // Which column in Company sheet to transfer data from
var peopleColumnToSet = 3; // Which column in People sheet to transfer data into
// -------------------------------------
var start = 1;
if(ignoreTitles) {
start++;
}
for(var i=start; i<=peopleSheet.getDataRange().getValues().length; i++) {
for(var j=start; j<=companySheet.getDataRange().getValues().length; j++) {
if(peopleSheet.getRange(i,peopleColumn).getValue() === companySheet.getRange(j,companyColumn).getValue()) {
peopleSheet.getRange(i,peopleColumnToSet).setValue(companySheet.getRange(j,companyColumnToGet).getValue());
}
}
}
}
你不需要脚本。沃卢库普会做的。在“人员”C2中输入:
=iferror(arrayformula(vlookup(B2:B,Company!A2:B,2,false)),"")
我不熟悉谷歌电子表格功能,并尝试以以下方式应用公式: 我有一张床单 我想链接工作表2中的范围数据 现在需要考虑的是,它只显示了一个项目(最后一个),而这个范围本来应该显示十个项目(a1:a10) 有关更正上述公式的详细信息和帮助,请查看以下链接: https://docs.google.com/spreadsheets/d/1HX1eatP57A5k9Xku7awIVnBPQ2A4ICVrYXTs
此函数工作正常。当当前工作表不是Google表单响应工作表时。我正在使用(每分钟)触发器 图像:沙子数据(主数据)表至(共享数据1)表 我正在寻找一个,当用户提交的谷歌表格的状态是(支付),数据应该在第二页,这是(shareData1) 这里的问题是,当我使用谷歌表单响应表时,这个函数将不再工作。它显示了一个错误。错误图像 在降级的错误图像中,我手动运行此函数,相同的错误显示在AppScript面
我有一个电子表格,有十二张,一年中每个月一张。我希望在打开电子表格时,将与当前月份匹配的工作表默认设置为活动工作表。 似乎很容易: 不幸的是,SpreadsheetApp首先加载第一张工作表(一月),然后加载我想要的工作表。在一些移动客户端上,这会导致不可接受的长加载时间。 在电子表格中的第一张工作表作为活动工作表加载之前,有没有办法钩入序列?
我想不断更新/重写到谷歌表。不过,我不能只是更新它,而不清除旧的工作表,因为有时更新的行比之前的行和旧的行留在工作表中。 因此,开发者页面上列出的协议是: 翻译成python会是这样的,我认为: 返回错误: GoogleapClient。错误。HttpError:https://sheets.googleapis.com/v4/spreadsheets/[uniqueIDhere]/values:
我尝试使用“读取多个范围”示例: https://sheets.googleapis.com/v4/spreadsheets/{SpreadsheetID}/values:batchGet?范围=表1!B:B 来自:Google Sheets API v4示例我用我的电子表格ID替换了"spreadsheetId"。但当我发送GET请求(通过邮递员)我收到: 比我以前https://develop
可编辑链接-https://docs.google.com/spreadsheets/d/1vrzchTHVwwzc9wgFGmtc_zBsh27CEtE7KOyeNDuLwC0/edit?usp=sharing 发布至网页-https://docs.google.com/spreadsheets/d/e/2PACX-1vRaJd3YpKnemAneU47RI58m7cxQsYFdViFBxJPV