我创建了一个 Google 电子表格,其中
Locale
设置为 Brazil
和 Timezone
设置为 (GMT-03:00) Sau Paulo
,其中 Date column
的日期采用区域格式,如 01-jan.-2021, 23-fev.-2021
等。
我在此日期列旁边创建了一个
Month
列,并尝试使用 Arrayformula 填充月份:
=ARRAYFORMULA(IF(LEN(F2:F),MONTH(F2:F),))
如果我在 Arrayformula 函数中使用
IF
或 LEN
似乎不起作用,但是,如果我简单地这样做,似乎可以工作:
=ARRAYFORMULA(MONTH(F2:F))
这显然会填充所有行,包括空白日期单元格并添加更多行。
我注意到的另一件事是,如果我将电子表格设置更改为
Locale : United States
和 Timezone : Eastern Time (GMT-04:00)
,则具有 IF
和 LEN
函数的数组公式似乎都可以工作!但是,它不适用于上述区域。
如果有人有替代解决方案使其发挥作用,请在此处分享!
在 Google 电子表格中,任何给定函数中的参数都用小数点或小数逗号分隔。适用的分隔符取决于电子表格区域设置(文件、电子表格设置、区域设置)以及该国家/地区使用的小数点分隔符
.
) 作为小数点分隔符的国家/地区,则函数参数通常使用逗号 (
,
) 分隔。
,
) 作为小数点分隔符的国家/地区,则函数参数通常使用分号 (
;
) 分隔。
=ARRAYFORMULA(IF(LEN(F2:F),MONTH(F2:F),))
:失败
=ARRAYFORMULA(IF(LEN(F2:F);MONTH(F2:F);))
:成功
=ARRAYFORMULA(IF(LEN(F2:F),MONTH(F2:F),))
:成功
=ARRAYFORMULA(IF(LEN(F2:F),MONTH(F2:F),))
:失败
巴西
美国
需要同时使用两者;或者,英文。分号用于创建一维数组,逗号用于创建更多列的数组。
在这种情况下,您需要使用反斜杠而不是其他语言环境中的逗号。 (在我的示例中使用斯洛伐克语言环境)
={A1:A10; C1:C10}
={A1:A10, C1:C10}
={A1:A10, C1:C10}
={A1:A10\ C1:C10}