Excel 如何搜索文本中的字符列表

Excel 如何搜索文本中的字符列表,excel,powerquery,Excel,Powerquery,我必须在Power Query的文本字段中搜索非英语文本。有几种语言具有特殊字符,可在文本字段中搜索,如果找到,则这些文本字段显然是非英语文本 我已经尝试并努力寻找特定的语言字符,如é或ä等。但我知道只使用条件列函数搜索每个字符,如果找到,则给出0作为值,稍后我将乘以所有条件列,如果为0,则为非英语文本,如果为1,则为英语 = Table.AddColumn(#"Added Conditional Column13", "Custom É", each if Text.Contains([Tex

我必须在Power Query的文本字段中搜索非英语文本。有几种语言具有特殊字符,可在文本字段中搜索,如果找到,则这些文本字段显然是非英语文本

我已经尝试并努力寻找特定的语言字符,如é或ä等。但我知道只使用条件列函数搜索每个字符,如果找到,则给出0作为值,稍后我将乘以所有条件列,如果为0,则为非英语文本,如果为1,则为英语

= Table.AddColumn(#"Added Conditional Column13", "Custom É", each if Text.Contains([Text 1], "É") then 0 else if Text.Contains([Text 2], "É") then 0 else if Text.Contains([Text 3], "É") then 0 else 1)
如果在文本中找到任何人,是否有一个解决方案来搜索文本字段中的特殊字符列表,例如搜索>结果0,否则将作为输出1。

我将查看有关如何在Excel中搜索字符的命令。我还将它与Excel识别的所有ASCII字符结合使用,我将查看有关如何在Excel中搜索字符的命令。我还将它与Excel识别的所有ASCII字符结合使用,您可以使用List.contains检查列表是否包含第二个列表中的任何值

将其与Text.ToList结合使用,将字符拆分为一个列表,您可以得到如下结果:

= Table.AddColumn(#"Prior Step", "Contains Special Characters", each List.ContainsAny(Text.ToList([Values]),Text.ToList("ÁáÉéÖöÜüäß")), type logical)
当然,这种方法要求您提供要测试的特殊字符的列表。您可以翻转此轮,并指定英文字符:

#"English Characters" = "abcdefghijklmnopqrstuvwxyz0123456789 ,.:;", // include all characters you consider "English"
#"Added Custom" = Table.AddColumn(#"Prior Step", "Contains Special Characters", each not List.ContainsAny(Text.ToList([Values]),List.Union({Text.ToList(#"English Characters"), Text.ToList(Text.Upper(#"English Characters"))})), type logical)
您可以使用List.ContainsAny检查列表是否包含第二个列表中的任何值

将其与Text.ToList结合使用,将字符拆分为一个列表,您可以得到如下结果:

= Table.AddColumn(#"Prior Step", "Contains Special Characters", each List.ContainsAny(Text.ToList([Values]),Text.ToList("ÁáÉéÖöÜüäß")), type logical)
当然,这种方法要求您提供要测试的特殊字符的列表。您可以翻转此轮,并指定英文字符:

#"English Characters" = "abcdefghijklmnopqrstuvwxyz0123456789 ,.:;", // include all characters you consider "English"
#"Added Custom" = Table.AddColumn(#"Prior Step", "Contains Special Characters", each not List.ContainsAny(Text.ToList([Values]),List.Union({Text.ToList(#"English Characters"), Text.ToList(Text.Upper(#"English Characters"))})), type logical)

该问题正在寻找电源查询解决方案,而不是VBAThanks我也将检查此解决方案,我将返回结果该问题正在寻找电源查询解决方案,而不是VBAThanks我也将检查此解决方案,我将返回结果谢谢,我将尝试。我认为相反的方式更好,我的意思是找到非英语字符,如捷克语、匈牙利语、西班牙语等字符。如果我在牢房里发现了其中一个,那么我可以标记为nor英语,这对我来说就足够了。我会告诉它我是如何成功的。谢谢,我会尝试的。我认为相反的方式更好,我的意思是找到非英语字符,如捷克语、匈牙利语、西班牙语等字符。如果我在牢房里发现了其中一个,那么我可以标记为nor英语,这对我来说就足够了。我会告诉它我是如何成功的。