【问题标题】:Find value cells contains diacritics and filter in one column查找值单元格在一列中包含变音符号和过滤器
【发布时间】:2019-09-27 19:46:08
【问题描述】:

我将个人姓名导入我的电子表格,每次导入我都会得到不同的姓名。为了匹配过去的保存名称并找出这个新导入中是否已经存在任何名称,他们帮助我创建了一种从单词中删除变音符号并保存在 column E 中的方法。示例 → (Remove all diacritics without script with a single formula for use in all cells without making calls to Google API)

这些名称仅使用巴西键盘常用字母的字母表进行注册。

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

但是当我导入这些数据时,例如瑞典名字带有各种口音和奇怪的字母。我想在Column B 中创建一个公式,该公式将在Column A 中找到所有在我的键盘上具有除常用字母之外的任何字母的名称。如果存在则出现,如果不存在则不出现。

像这样:

Fabio        João
Lucas        Caçandrà
João         Sølskjaer
Caçandrà     Alemão
Sølskjaer
Alemão

如果只出现不同的字母就更好了,像这样:

Fabio        ã
Lucas        çà
João         ø
Caçandra     ã
Sølskjaer
Alemão

如果每个名字中有多个不同的字母,两个变音符号不会出现在一个单元格中,总是出现在下面的一个单元格中,像这样:

Fabio        ã
Lucas        ç
João         à
Caçandra     ø
Sølskjaer    ã
Alemão

我相信可以通过FILTER 函数来使用,但因为我需要相反(包含来自常见字母表的不同值的单词,我无法组合)。

这样,我可以创建一个脚本,每当我在导入时发现不同的名称时,它都会将其注册到 Column J 中,这样我就可以在我的列表中看到并注册这个新的变音符号,如下所示:

for (var i = 1; i < 100; i++) {

  var cel = "B"+ i //

  if (sheet.getRange(cel).getValue() != "")  {   

    for (var u = 1; u < 1000; u++) {
      var cel2 = "J"+ u //

      if (sheet.getRange(cel2).getValue() == "")  { 

        sheet.getRange("J"+u).setValue(sheet.getRange(cel).getValue());
        break;
      }
    }
  }
};

【问题讨论】:

    标签: regex google-sheets google-sheets-formula array-formulas textjoin


    【解决方案1】:
    =ARRAYFORMULA(IFERROR(REGEXEXTRACT(A1:A, "[^(A-Za-z)]")))
    


    =ARRAYFORMULA(TRANSPOSE(REGEXEXTRACT(
     TEXTJOIN(, 1, IFERROR(REGEXEXTRACT(A1:A, "[^(A-Za-z)]+"))), REPT("(.)", LEN(
     TEXTJOIN(, 1, IFERROR(REGEXEXTRACT(A1:A, "[^(A-Za-z)]+"))))))))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-26
      • 1970-01-01
      相关资源
      最近更新 更多