使用脚本在Google表格中将特定文本从一个单元格移动到另一个单元格

时间:2018-05-19 19:29:50

标签: google-apps-script google-sheets

我有一张在特定列中包含文本条目的工作表。

该列中的每个单元格都包含多个单词;我需要根据它们的固有价值(不是基于它们在单元格中的文本字符串中的位置,也不是基于它们之前或之后的内容)复制这些单词中的两个或三个(各种公司名称)

我想要一个函数将这些公司名称复制到工作表中另一列的同一行。

我一直在玩这个剧本,但我认为它不能应付内在价值的变化,但也许它可以而且我只是不知道正确的方法实施它:

<div class="parent--products">
  <section class="products">
    <div class="product-card">
      <div class="product-image">
        <img src="https://picsum.photos/5416/3611?image=1082">
      </div>
      <div class="product-info">
        <h5>Winter Jacket</h5>
        <h6>$99.99</h6>
      </div>
    </div>
  </section>
  <section class="products">
    <div class="product-card">
      <div class="product-image">
        <img src="https://picsum.photos/5416/3611?image=1082">
      </div>
      <div class="product-info">
        <h5>Winter Jacket</h5>
        <h6>$99.99</h6>
      </div>
    </div>
  </section>
  <section class="products">
    <div class="product-card">
      <div class="product-image">
        <img src="https://picsum.photos/5416/3611?image=1082">
      </div>
      <div class="product-info">
        <h5>Winter Jacket</h5>
        <h6>$99.99</h6>
      </div>
    </div>
  </section>
  <section class="products">
    <div class="product-card">
      <div class="product-image">
        <img src="https://picsum.photos/5416/3611?image=1082">
      </div>
      <div class="product-info">
        <h5>Winter Jacket</h5>
        <h6>$99.99</h6>
      </div>
    </div>
  </section>
  <section class="products">
    <div class="product-card">
      <div class="product-image">
        <img src="https://picsum.photos/5416/3611?image=1082">
      </div>
      <div class="product-info">
        <h5>Winter Jacket</h5>
        <h6>$99.99</h6>
      </div>
    </div>
  </section>
  <section class="products">
    <div class="product-card">
      <div class="product-image">
        <img src="https://picsum.photos/5416/3611?image=1082">
      </div>
      <div class="product-info">
        <h5>Winter Jacket</h5>
        <h6>$99.99</h6>
      </div>
    </div>
  </section>
</div>

任何帮助都非常感谢!

1 个答案:

答案 0 :(得分:0)

您可以使用match()indexOf()查找单元格中文本内的公司名称。

以下示例显示了使用match()解决问题的一种方法:

function fillColJ() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data  = sheet.getDataRange().getValues();

  var regex   = /Name 1|Name 2|Name 3/
  var matches = []; 

  for(i in data){
    // Try to match one of the company names in the regular expression
    // If the match fails, then return an array element containing an empty string
    matches.push(data[i][5].match(regex) || [""]);
  }

  sheet.getRange(1, 10, matches.length, 1).setValues(matches);
}