2015-11-16 24 views
0

對於谷歌電子表格電子表格:ADRESS()在ARRAYFORMULA()中工作,將其包裝在INDIRECT()中不?

我使用這個公式在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的#VALUE!錯誤消息,我是:

Error 
Function ADDRESS parameter 2 value is 0. Valid values are between 1 and 18278 inclusive. 
+0

您的輸入或理想的佈局是什麼樣的? –

+0

@RobinGertenbach我的計劃是在CellA7日期杜我個人的預算計算,我希望它自動修復的日期爲,我可以在其他計算中使用的標題,就像這樣: '2015年8月25日2015 - 2015-09-25 2015-10-24 2015-10-24 2015-10-25 2015-11-24'等。 – MGJ

回答

0

要解決它:

=ARRAYFORMULA(IF(ISODD(COLUMN(B:Z)),EDATE($A7,FLOOR(COLUMN(B:Z)/2)),EDATE($A$7,FLOOR(COLUMN(B:Z)/2))-1)) 
相關問題