首页 > 解决方案 > 搜索不同电子表格中的列

问题描述

好的,我将尝试用文字解释我想要完成的工作,希望有人能够将我推向正确的方向。

我有两个不同的谷歌电子表格:

  1. 一个名为“Ads_sent_in”的列包含几个不同的列,这些列由我网站上的 PHP 文件自动填充。(它是通过网络表单上传的文件上传列表)。这些是上传广告(pdf)的客户,这些广告将被放入杂志以供印刷。

“Ads_sent_in”中的一列称为“Ordernumber”,其中包含广告的特定唯一编号。

  1. 另一个名为“Magazine_name_03-2019”的电子表格。这是将所有广告放置在杂志不同页面上的地方,都在一个电子表格中。每个广告由 1 行 3 列的信息/数据表示。

它们是:广告商名称/客户名称 - 广告尺寸 - 订单号(与上述第 1 点中的其他电子表格中的数字相同。

现在,

我想做一个脚本,能够在“Ads_sent_in”电子表格中搜索“ordernumber”,并在另一个电子表格“Magazine_name_03-2019”中找到相同的“ordernumber”。
如果匹配,“ordernumber”的文本颜色(如果可能的话,总是位于“ordernumber”左侧一步/列的单元格)应更改为绿色。如果没有匹配,什么也不做。

这可能吗?

==============================

编辑

我使用以下代码从Ads_sent_in表中获取订单号:

var ordernumber = sheet_Ads.getRange(sheet_Ads.getLastRow(), 1).getValues();

在那之后,我认为我需要的只是一个函数,它将在Magazine_name_03-2019表中搜索我从上面得到的订单号。

最好的情况是该函数可以在整个电子表格(列和行)中搜索订单号并返回单元格(例如“D5”)。我不需要返回任何值,我只需要知道这个订单号在哪里,在Magazine_name_03-2019表中的哪个单元格中。

然后将单元格位置(例如“D5”)存储在:

var ordernumber_loc = sheet_Magazine_name_0319.getActiveCell ?

如果可能,我想将上面ordernumber_loc左侧的两列退回并将其存储在另一个变量中

var client_cell_loc = ordernumber_loc - "2 columns"

从那里开始,我想将client_cell_loc文本的颜色更改为绿色并使其变为粗体:

var style = SpreadsheetApp.newTextStyle()
  .setForegroundColor("green")
  .setBold(true)
  .build();
range.setTextStyle(style);

(对不起,如果它有点乱,我对编码不太了解..但想学习:)

标签: google-apps-scriptgoogle-sheets

解决方案


这个有可能。步骤可能如下 -

  1. 使用提示输入订单号
  2. Ads_sent_in中搜索
  3. Magazine_name_03-2019中搜索
  4. 如果匹配,则为单元格/行着色

推荐阅读