使用单个公式删除所有不带脚本的变音符号,用于所有单元格而无需调用 Google API

Remove all diacritics without script with a single formula for use in all cells without making calls to Google API

我创建了一个删除变音符号的公式,但需要通过 ImportDATA 进行调用。如果我在我需要的每个单元格上使用这个公式,它将超过我可以进行的调用限制。并且它会锁定电子表格。

=ArrayFormula(if(exact(A1,Upper(A1)),Upper(VLOOKUP(A1,split(trim(transpose(split(query(SUBSTITUTE(regexreplace(regexreplace(query(IMPORTDATA("https://docs.oracle.com/cd/E29584_01/webhelp/mdex_basicDev/src/rbdv_chars_mapping.html"),"Select Col1 where Col1 contains '<td'",),"<td class=.+>","")&"~"&MOD(ROW(A:A),4),".+~[01]$",""),"~3","@"),"",9^6),"@"))),"~2"),2,0)),split(trim(transpose(split(query(SUBSTITUTE(regexreplace(regexreplace(query(IMPORTDATA("https://docs.oracle.com/cd/E29584_01/webhelp/mdex_basicDev/src/rbdv_chars_mapping.html"),"Select Col1 where Col1 contains '<td'",),"<td class=.+>","")&"~"&MOD(ROW(A:A),4),".+~[01]$",""),"~3","@"),"",9^6),"@"))),"~2")))

我不想调用 ImportDATA,而是使用 A 列放置变音符号,B 列放置相应的常用字母...因此无需在电子表格外部进行调用即可进行更改,并且也不必创建一个也经常使用的新脚本函数,有一个阻止使用的 google 限制......但是当我在 Whosebug 的 3 个答案的帮助下创建这个公式时,现在做这个改变我没有成功。

而且最好这个公式已经在一整列中进行了更改,而不是只转换一个单元格。

=ARRAYFORMULA(PROPER(IFERROR(REGEXREPLACE(L2:L, TEXTJOIN("|", 1, J2:J),
 VLOOKUP(REGEXEXTRACT(L2:L, TEXTJOIN("|", 1, J2:J)), J2:K, 2*
 SIGN(ROW(A2:A)), 0)&""), L2:L)))