谷歌表格查询和语言环境十进制数字

Posted

技术标签:

【中文标题】谷歌表格查询和语言环境十进制数字【英文标题】:Google Sheet Query and locale decimal numbers 【发布时间】:2021-01-04 18:18:33 【问题描述】:

我在 Google 表格中使用查询功能,但即使我的文件设置为意大利地区,当我想过滤具有小数(逗号而不是点)的值的记录时,例如 10,45,查询也会返回错误。

例子:

QUERY(A1:B3;"选择 count(A) where B>" & B6 & " label count(A) ''") 其中 A1:B3 是一个简单的示例表,例如:

Stefano 50,00 法比奥 42,00 安德烈亚 50,00

B6 是一个单元格,您可以在其中放置所需的值。例如,如果我输入 48,则查询返回 2。 但是,如果您输入带小数的值,例如 48,3,则会返回错误。 似乎 Query 命令无法识别工作表属性中的语言环境。

【问题讨论】:

分享您的工作表副本 docs.google.com/spreadsheets/d/… 答案已更新... 【参考方案1】:

尝试:

=QUERY(A1:B3;
 "select count(A) 
  where B > "&SUBSTITUTE(B8; ","; ".")&" 
  label count(A) ''")


或更短:

=QUERY(A1:B3;
 "select count(A) 
  where B > "&TEXT(B8; "#,#")&" 
  label count(A) ''")

【讨论】:

嗨 player0,感谢 SUBSTITUTE 命令一切正常,但最大的问题是:为什么我需要使用此命令作为解决方法? Google 表格中的“语言环境”“应该”解决有关如何在不同国家/地区之间显示小数点的所有问题。似乎 Query 命令无法识别语言环境。 @user1297545 QUERY 根本不考虑语言环境。它的基于 SQL 的

以上是关于谷歌表格查询和语言环境十进制数字的主要内容,如果未能解决你的问题,请参考以下文章

Google表格十进制数,如何删除逗号并添加零

C语言 字符串转数字 急急急

C语言:怎么将十进制数字转换为二进制字符串,谁能帮我写个函数

C语言如何把11位16进制字符串转成16进制数?

数字逻辑8421BCD码换成十进制和二进制数

C语言中十进制数和十六进制数能直接运算吗