有網友問到:如果在一個資料表中,會不斷的增加資料(參考下圖)。如何能在另一個工作表中,呈現最末10, 8, 6, 4, 2 筆的資料?(參考下下圖)

 

【輸入公式】

儲存格B1:=INDIRECT("data!A"&(COUNT(data!A:A)-10+ROW(1:1)*2))

儲存格C1:=INDIRECT("data!B"&(COUNT(data!A:A)-10+ROW(1:1)*2))

儲存格D1:=INDIRECT("data!C"&(COUNT(data!A:A)-10+ROW(1:1)*2))

複製儲存格B1:D1,貼至儲存格B1:D6。

COUNT(data!A:A):取得 data 工作表中A欄中已輸入資料的數量。

COUNT(data!A:A)-10+ROW(1:1)*2:取得倒數第 10 列的列名。向下複製後,即可取得倒數第 8 列、第 6 列、第 4 列和第 2 列的列名。

藉由上式取得的列套用到 INDIRECT 函數中當為一個動態的位址,再由 INDIRECT 函數傳回儲存格內容。

如此,若在 data 工作表輸入新資料時, report 工作表即會顯示最新調整過的資料了。

 

【補充資料】

詳細函數說明請參閱微軟網站:

INDIRECThttp://office.microsoft.com/zh-tw/excel-help/HP010342609.aspx

INDIRECT:傳回文字串所指定的參照位址。

語法:INDIRECT(ref_text,[a1])

ref_text:單一儲存格的參照位址,其中包含A1欄名列號表示法、R1C1欄名列號表示法、定義為參照位址的名稱,或定義為字串的儲存格參照位址。

a1:指定ref_text儲存格中所包含參照位址類型的邏輯值。

arrow
arrow
    全站熱搜

    vincent 發表在 痞客邦 留言(3) 人氣()