函數(shù)語法INDEX(array,row夢(mèng)到錢包丟了_num,column_num)array:為單元格區(qū)域或數(shù)組常量。如果數(shù)組值包含一行或以列,則只要選擇相對(duì)應(yīng)的一個(gè)參數(shù)row_num或column_num.如果數(shù)組有多行或多列,但是只使用row_num或column_num,INDEX函數(shù)則返回?cái)?shù)組中的整行或整列,且返回值也為數(shù)組。 row_num:為數(shù)組中的某行的行序號(hào),函數(shù)從該行返回?cái)?shù)值。如果省略row_num,則必須有column_num. column _ num:為數(shù)組中某列的序列號(hào),函數(shù)從該列返回?cái)?shù)值。如果省略column_num,則必須有row_num. 函數(shù)語法ROW(reference)Reference:為需要得到其行號(hào)的單元格或單元格區(qū)域。 函數(shù)說明如果省略reference,則指ROW函數(shù)對(duì)所在單元格的引用。如果reference為一個(gè)單元格區(qū)域,并且ROW函數(shù)作為垂直數(shù)組輸入,ROW函數(shù)則將reference的行號(hào)以垂直數(shù)組的形式返回。 函數(shù)語法COLUMN(reference)Reference:為需要得到其列標(biāo)的單元格或單元格區(qū)域。 函數(shù)說明如果省略reference,則假定為是對(duì)COLUMN函數(shù)所在的單元格的引用。如果reference為一個(gè)單元格區(qū)域,并且COLUMN函數(shù)作為水平數(shù)組輸入,COLUMN函數(shù)則將reference中的列標(biāo)以水平數(shù)組形式返回。 本例公式說明=IF(MOD(ROW(),3)=0,“”,IF(MOD(ROW(),3)=1,工資明細(xì)表!A$3,INDEX(工資明細(xì)表!$A:$Q,INT((ROW()-1)/3)+4,COLUMN())))首先分析INDEX(工資明細(xì)表!$A:$Q, INT( (ROW( ) -1) /3)+4,其中行參數(shù)為INT((ROW()-1)/3)+4,如果在第一行輸入該參數(shù),結(jié)果是4,向下拖拽公式治20行,可以看到結(jié)果是4;4;4;5;5;5;5;6;6;6如果用“INT((ROW()-1)/3)+4”做INDEX的行參數(shù),公式將連續(xù)3行重復(fù)返回指定區(qū)域內(nèi)的第4、5、6行的內(nèi)容,而指定區(qū)域是“工資明細(xì)表”工作表,第四行以下是人員記錄的第一行,這樣就可以每隔3行得到下一條記錄。用COLUMN()做INDEX的列參數(shù),當(dāng)公式向右側(cè)拖拽時(shí),列參數(shù)COLUMN()也隨之增加。 如果公式到此為止,返回的結(jié)果是每隔連續(xù)3行顯示下一條記錄,與期望的結(jié)果還有一定的差距。希望得到的結(jié)果是第一行顯示字段、第二行顯示記錄、第三行為空,這就需要做判斷取值。如果當(dāng)前行是第一行或是3的整數(shù)倍加1行,結(jié)果返回“工資明細(xì)表” 工作表的字段行。如果當(dāng)前行是第二行或是3的整數(shù)倍加兩行,公式返回INDEX的結(jié)果;如果當(dāng)前行是3的整數(shù)倍行,公式返回空。 公式中的第一個(gè)IF判斷IF(MOD(ROW(),3)=0,“”,******)用來判斷3的整數(shù)倍行的情況,如果判斷結(jié)果為“真”則返回空,第二個(gè)判斷IF(MOD(ROW(),3)=1,工資明細(xì)表!A$3,******)用來判斷3的整數(shù)倍加1時(shí)的情況,判斷結(jié)果為“真”則返回工資明細(xì)表!A$3即字段行的內(nèi)容;余下的情況則返回INDEX函數(shù)段的結(jié)果。 |