在 Google 表格中,使用 IMPORTRANGE 从另一个文件导入列。输入的列包含变音符号,导致使用 ORDER BY 时出现问题

问题描述 投票:0回答:1

我使用 Google Sheets 中的 IMPORTRANGE 与 QUERY 函数结合使用 ORDER BY 从另一个文件导入列。然后,这种排序需要与使用过滤器的正常列排序相匹配。问题是导入的文件包含变音符号,并且这些变音符号无法正确排序,但例如将 Ü 放在 Z 之后。

这是我正在使用的公式,除了排序问题外,效果很好:

=QUERY(IMPORTRANGE("aBc....xYz";"SheetX!E4:M");"选择 Col1、Col2、Col3、Col9、Col10,其中 Col2 不为空,按 Col1、Col2、Col3 ASC 排序")

其中 aBc....xYz 是正在导入数据的文件的文件标识符。问题是,原始工作表包含变音符号(也可能是带有重音符号的字母,如法语、瑞典语、西班牙语等),因此,例如 Ü 被排序在 Z 之后,这与正常排序不匹配。

然后我尝试了: =QUERY(IMPORTRANGE("aBc....xYz"; "SheetX!E4:M"); "选择 Col1、Col2、Col3、Col9、Col10,其中 Col2 不为空 ORDER BY REGEXREPLACE(Col1, '[äÖÜäöü]' , '[AOUaou]'), REGEXREPLACE(Col2, '[ÖÜäöü]', '[AOUaou]'), REGEXREPLACE(Col1, '[ÖÜäöü]', '[AOUaou]') ASC")

然后: =查询( ARRAYFORMULA(REGEXREPLACE(IMPORTRANGE("aBc....xYz"; "SheetX!E4:M"); "[ÖÜäöü]"; "[AOUaou]")), “选择 Col1、Col2、Col3、Col9、Col10,其中 Col2 不为空,按 Col1、Col2、Col3 ASC 排序”

但是这些都给了我语法错误。 (可能 REGEXREPLACE 不适合查询语法,但 ChatGPT 和 Google Bard 都建议这样做。)我需要已排序的导入数据来匹配正常 Google Sheets 过滤器排序的排序,这似乎可以正确处理变音符号。有谁知道这里的语法错误是什么,或者知道一种更简单的方法来让 ORDER BY 排序正确使用重音符号和变音符号,或者可以想出一些更简单的问题解决方案吗?

sorting google-sheets-formula array-formulas regex-replace
1个回答
0
投票

您可以尝试将

sort
函数包装在查询周围作为替代方案,并完全跳过
Order by
部分:

=sort(your_query,1,1,2,1,3,1)
© www.soinside.com 2019 - 2024. All rights reserved.