我在自定义公式框中尝试了此公式:
=DETECTLANGUAGE(A:A)=ja
但是它不起作用。所有单元格都被隐藏。我在做什么错了?
答案 0 :(得分:1)
您可以使用查询的regex(preg):
=QUERY(A:A,"where A matches '.*[\p{Hiragana}\p{Katakana}\p{Han}]+.*'")
.*
无限匹配任意字符[]+
匹配一次任意字符,且次数不限\p{...}
Han
,Hiragana
和Katakana
脚本的Unicode类Han
,Hiragana
和Katakana
字符之一,也将返回单元格。 答案 1 :(得分:0)
请注意,DETECTLANGUAGE
不适用于数组/范围,因此:
=IF(DETECTLANGUAGE(A1)="ja", "Japanese", )
但是您可以使用脚本:
function NIPPON(input) {
var output = [];
for (i = 0 ; i < input.length; i++){
try {
output[i] = LanguageApp.translate(input[i], '', 'ja');
}
catch(err) {
output[i] = err.message;
}
} return output; }
=ARRAYFORMULA(FILTER(A1:A, IF(LEN(A1:A)=LEN(NIPPON(A1:A)), LEN(A1:A), )>0))
在数组中使用DETECTLANGUAGE
进行英语检测的示例:
=IFERROR(ARRAYFORMULA(IF(LEN(A5:A),
IF({DETECTLANGUAGE(A5)="en";
DETECTLANGUAGE(A6)="en";
DETECTLANGUAGE(A7)="en";
DETECTLANGUAGE(A8)="en";
DETECTLANGUAGE(A9)="en";
DETECTLANGUAGE(A10)="en"},
LEN(A5:A), 0), )), "-")