Google电子表格,
我在B列中使用此公式尝试获取B到Z列的特定单元格:
=ARRAYFORMULA(IF(ISODD(COLUMN(B:Z)),ADDRESS(ROW(),(COLUMN(B:Z)-2),1,TRUE),ADDRESS(ROW(),(COLUMN(B:Z)-1),1,TRUE)))
此输出正确无误:
A B C D E F G H I J
CellA7 $A$7 $A$7 $C$7 $C$7 $E$7 $E$7 $G$7 $G$7 $I$7
但是当我尝试使用这些字符串来获取每个字符串中的值时使用INDIRECT:
=ARRAYFORMULA(IF(ISODD(COLUMN(B:Z)),INDIRECT(ADDRESS(ROW(),(COLUMN(B:Z)-2),1,TRUE)),INDIRECT(ADDRESS(ROW(),(COLUMN(B:Z)-1),1,TRUE))))
它似乎在某处出错了,结果现在是:
B C D E F G H I J
CellA7 #VALUE! CellA7 #VALUE! CellA7 #VALUE! CellA7 #VALUE! CellA7
C,E,G,I列中的#VALUE!
错误消息为:
Error
Function ADDRESS parameter 2 value is 0. Valid values are between 1 and 18278 inclusive.
答案 0 :(得分:0)
通过以下方式解决:
=ARRAYFORMULA(IF(ISODD(COLUMN(B:Z)),EDATE($A7,FLOOR(COLUMN(B:Z)/2)),EDATE($A$7,FLOOR(COLUMN(B:Z)/2))-1))