If statement Arrayformula不适用于语言环境不是我们的Google电子表格设置
我创建了一个谷歌电子表格,其中If statement Arrayformula不适用于语言环境不是我们的Google电子表格设置,if-statement,google-sheets,formula,locale,array-formulas,If Statement,Google Sheets,Formula,Locale,Array Formulas,我创建了一个谷歌电子表格,其中地区设置为巴西,时区设置为(GMT-03:00)圣保罗,有一个日期列,日期以地区格式显示,如2021年1月1日,2021年2月23日等 我已在此日期列旁边创建了一个Month列,并尝试使用Arrayformula填充月份: =ARRAYFORMULA(IF(LEN(F2:F),MONTH(F2:F),)) 如果我在Arrayformula函数中使用if或LEN,它似乎不起作用,但是,如果我只是这样做,它似乎起作用: =ARRAYFORMULA(MONTH(F2:F
地区设置为巴西
,时区设置为(GMT-03:00)圣保罗
,有一个日期列
,日期以地区格式显示,如2021年1月1日,2021年2月23日
等
我已在此日期列旁边创建了一个Month
列,并尝试使用Arrayformula填充月份:
=ARRAYFORMULA(IF(LEN(F2:F),MONTH(F2:F),))
如果我在Arrayformula函数中使用if
或LEN
,它似乎不起作用,但是,如果我只是这样做,它似乎起作用:
=ARRAYFORMULA(MONTH(F2:F))
这显然会填充包括空白日期单元格在内的所有行,并添加更多行
我注意到的另一件事是,如果我将电子表格设置更改为地区:美国
和时区:东部时间(GMT-04:00)
,则带有if
和LEN
函数的数组公式似乎可以工作!但是,它不适用于上述区域
如果有人有其他解决方案,请在这里分享 在谷歌电子表格中,任何给定函数中的参数都用小数点或小数点逗号分隔。适用的分隔符取决于电子表格区域设置(文件、电子表格设置、区域设置)以及该国家/地区使用的
- 如果区域设置是使用小数点(
)作为小数分隔符的国家/地区,则函数参数通常使用逗号(,
)分隔
- 如果区域设置是使用十进制逗号(
,
)作为十进制分隔符的国家/地区,则函数参数通常使用分号(;
)分隔
巴西使用一个小数点逗号,因此Google工作表参数之间用分号分隔
=数组公式(如果(LEN(F2:F),MONTH(F2:F),)
:失败
=数组公式(如果(LEN(F2:F);MONTH(F2:F);)
:成功
美国使用小数点),所以谷歌表格应该用逗号分隔
=数组公式(如果(长(F2:F),月(F2:F),)
:成功
=数组公式(如果(LEN(F2:F),MONTH(F2:F),)
:失败
下面的快照取自两个电子表格(#1 locale=Brazil,#2 locale=USA),并演示了逗号或分号作为参数分隔符的应用
巴西
美国