Google 工作表矢量化操作
Google Sheets vectorized operations
我有一个 Google sheet,其中有一列日期和数字。我想要做的是说:如果日期早于 2021 年 9 月 1 日,则取该数字并乘以 1,否则乘以 2,然后对所有乘积求和。随着时间的推移,日期和数字列不断获取新信息。
现在我知道我可以创建一种“临时工作”列,其中我有一个包含 =IF(DATEVALUE(A1)<DATEVALUE("2021-9-1"),1,2) * B1
的单元格,然后将此公式应用于该列,然后在其他地方对该列求和。但是,这并不理想,因为每次输入新日期和数字时,我都必须将公式重新应用于新的临时工作列的单元格。
我所希望的是某种矢量化运算符,它首先可以消除对临时工作列的需求。像 =B1:B * 2
这样的整列相乘,或者更适合我当前任务的 =IF(DATEVALUE(A1:A)<DATEVALUE("2021-9-1"),1,2) * B1:B
.
我知道您可以在 R 中执行此类操作,但尚未在 Google 表格中看到任何矢量化操作。我猜这是不可能的,但想问一下以防万一。
=arrayformula(if(A1:A="","",IF(DATEVALUE(A1:A)
我有一个 Google sheet,其中有一列日期和数字。我想要做的是说:如果日期早于 2021 年 9 月 1 日,则取该数字并乘以 1,否则乘以 2,然后对所有乘积求和。随着时间的推移,日期和数字列不断获取新信息。
现在我知道我可以创建一种“临时工作”列,其中我有一个包含 =IF(DATEVALUE(A1)<DATEVALUE("2021-9-1"),1,2) * B1
的单元格,然后将此公式应用于该列,然后在其他地方对该列求和。但是,这并不理想,因为每次输入新日期和数字时,我都必须将公式重新应用于新的临时工作列的单元格。
我所希望的是某种矢量化运算符,它首先可以消除对临时工作列的需求。像 =B1:B * 2
这样的整列相乘,或者更适合我当前任务的 =IF(DATEVALUE(A1:A)<DATEVALUE("2021-9-1"),1,2) * B1:B
.
我知道您可以在 R 中执行此类操作,但尚未在 Google 表格中看到任何矢量化操作。我猜这是不可能的,但想问一下以防万一。
=arrayformula(if(A1:A="","",IF(DATEVALUE(A1:A)