- 帖子
- 4901
- 主題
- 44
- 精華
- 24
- 積分
- 4916
- 點名
- 136
- 作業系統
- Windows 7
- 軟體版本
- Office 20xx
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台北
- 註冊時間
- 2010-4-30
- 最後登錄
- 2025-6-6
               
|
8#
發表於 2011-9-30 16:16
| 只看該作者
本帖最後由 Hsieh 於 2011-9-30 18:08 編輯
回復 7# hsien33
刪除儲存格會造成定義參照錯誤改用INDIRECT指定範圍
A=INDEX(INDIRECT("資料!$A:$A"),MATCH(統計!$B$2,INDIRECT("資料!$A:$A"),0)+3,1) 找到該姓名的第一列資料位置
B=OFFSET(A,MATCH("小計",A:INDIRECT("資料!$A$65536"),0)-2,) 該姓名資料範圍第一列資料位置向下找到第一個"小計"向上1格(資料最後一筆位置)
P=MATCH("保費小計",OFFSET(A,-2,,,256),0) 該姓名資料範圍標題為"保費小計"的位置
Rng=OFFSET(A,,,ROW(B)-ROW(A)+1,) A欄資料範圍
Rng1=OFFSET(A,,P-1,ROW(B)-ROW(A)+1,) "保費小計"欄位資料範圍
不過我認為要將資料整理成如下圖的資料庫再來計算會比較好
A=INDEX(INDIRECT("資料!$A:$A"),MATCH(工作表1!$A3,INDIRECT("資料!$A:$A"),0)+3,1) 找到該姓名的第一列資料位置
B=OFFSET(A,MATCH("小計",A:INDIRECT("資料!$A$65536"),0)-2,) 該姓名資料範圍第一列資料位置向下找到第一個"小計"向上1格(資料最後一筆位置)
P=MATCH(工作表1!C$1,OFFSET(A,-2,,,256),0)+IF(工作表1!C$1="換算保費小計",0,MOD(COLUMN()-3,3)) 該姓名資料範圍標題為"保費小計"的位置
Rng=OFFSET(A,,,ROW(B)-ROW(A)+1,) A欄資料範圍
Rng1=OFFSET(A,,P-1,ROW(B)-ROW(A)+1,) "保費小計"欄位資料範圍
分區加總.rar (11.89 KB)
|
|