返回列表 上一主題 發帖

跨工作表LINK(讀取)某個指定位置的值,有簡單的方法嗎

跨工作表LINK(讀取)某個指定位置的值,有簡單的方法嗎

請問:這如果要  在【工作表1】的C2儲存格取得【工作表2】D3儲存格的數值,
在C3儲存格輸入=A2&B2&"!"&D3是錯誤的,小問題該如何解決?(PS : 因為有很多個類【工作表2】,但要在一個【工作表1】統一看各資料的變化,希望用函數或其他方式簡化LINK的作業)

工作表1        A        B        C       
1        代號        名稱        股價       
2        1532        勤美               
                               
假設【工作表2】名稱是  1532勤美                               
工作表2        A        B        C        D
1                               
2                               
3                                58

回復  u7490074


    C3儲存格輸入=INDIRECT(A2&B2&"!D3")
ML089 發表於 2014-9-21 15:56


==>如果是下列這類的名稱(英文+符號+數字),無法用這函數解決,不知問題出在那? <==

工作表1        A        B        C
1        代號        名稱        股價
2        1256        F-鮮活        #REF!

工作表2        A        B        C        D
1                               
2                               
3                                58

TOP

最後請問一個問題:
如果【工作表1】的C2儲存格要取得【工作表2】的AVERAGE(B2:D2)
是否只能用AVERAGE(INDIRECT("'"&A2&B2&"'!B2"),INDIRECT("'"&A2&B2&"'!C2"),INDIRECT("'"&A2&B2&"'!D2"))之方式,如果平均數多就很困擾~


工作表1        A        B        C
1        代號        名稱        股價
2        1256        F-鮮活       

工作表2        A        B        C        D
1                               
2                               
3                53        50        58

TOP

【請問版主】
如果在A3的儲存格,寫入SUM(Y3:Z3),即讀取A3儲存格=SUM(Y3:Z3)的儲存格合計
且=SUM($Y$3:$Z$3)要改成=SUM($Y$ROW():$Z$ROW())之意,連接語法該怎表示才正常
(加總第三列:儲存格Y~Z的數值)

TOP

回復  u7490074

猜猜看,是不是這樣
=SUM(INDIRECT("Y"&ROW()&":Z"&ROW()))
ML089 發表於 2014-9-29 21:40


是可以用,但如果單一儲存格打入="F"&ROW()   .......假設在第18列   則得到是F18,
是一定要用INDIRECT("F"&ROW())才能得到F18儲存格的值嗎?  與在A18儲存格輸入=F18寫法,要多不少語法對嗎.......因為我有多判別式,所以一個儲存格內放好長的語法,如下,有方法能再精簡or更簡明的語法嗎?

【儲存格A~L內容】
起始年度                   終迄年度                                  單據編號               原本金             利率        總天數        總利息費用     總月數           起月      迄月        起月天數  迄月天數
2014年08月04日        2014年10月06日        40C000800        30,000,000         1.080%        63         55,920                 3               8         10         28         5

【儲存格M~AD內容】
1        2        3        4        5        6        7        8        9        10        11        12        13        14        15        16        17        18
0         0         0         0         0         0         0         24,853         26,629         4,438         0         0         0         0         0         0         0         0

【儲存格T2內容】
其中,8月份=24853元=IF(AND(U2<=12,DATE(YEAR($B3),MONTH($B3)+1,)=DATE(YEAR($B3),U2+1,)),ROUND($H3*($L3/$G3),0),IF(AND(U2>12,DATE(YEAR($B3),MONTH($B3)+1,)=DATE(YEAR($B3),(U2-12)+1,)),ROUND($H3*($L3/$G3),0),IF(AND(U2<=12,DATE(YEAR($C3),MONTH($C3)+1,)=DATE(YEAR($B3),U2+1,)),ROUND($H3*($M3/$G3),0),IF(AND(U2>12,DATE(YEAR($C3),MONTH($C3)+1,)=DATE(YEAR($B3)+1,(U2-12)+1,)),ROUND($H3*($M3/$G3),0),0))))+IF(AND(U2<=12,DATE(YEAR($B3),MONTH($B3)+1,)<DATE(YEAR($B3),U2+1,),DATE(YEAR($B3),U2+1,)<DATE(YEAR($C3),MONTH($C3)+1,)),ROUND($H3*(DAY(DATE(YEAR($B3)+1,(U2-12)+1,))/$G3),0),IF(AND(U2>12,DATE(YEAR($B3),MONTH($B3)+1,)<DATE(YEAR($B3)+1,(U2-12)+1,),DATE(YEAR($B3)+1,(U2-12)+1,)<DATE(YEAR($C3),MONTH($C3)+1,)),ROUND($H3*(DAY(DATE(YEAR($B3)+1,(U2-12)+1,))/$G3),0),0))

【儲存格U2內容】
其中,9月份=26629元=IF(AND(V2<=12,DATE(YEAR($B3),MONTH($B3)+1,)=DATE(YEAR($B3),V2+1,)),ROUND($H3*($L3/$G3),0),IF(AND(V2>12,DATE(YEAR($B3),MONTH($B3)+1,)=DATE(YEAR($B3),(V2-12)+1,)),ROUND($H3*($L3/$G3),0),IF(AND(V2<=12,DATE(YEAR($C3),MONTH($C3)+1,)=DATE(YEAR($B3),V2+1,)),ROUND($H3*($M3/$G3),0),IF(AND(V2>12,DATE(YEAR($C3),MONTH($C3)+1,)=DATE(YEAR($B3)+1,(V2-12)+1,)),ROUND($H3*($M3/$G3),0),0))))+IF(AND(V2<=12,DATE(YEAR($B3),MONTH($B3)+1,)<DATE(YEAR($B3),V2+1,),DATE(YEAR($B3),V2+1,)<DATE(YEAR($C3),MONTH($C3)+1,)),ROUND($H3*(DAY(DATE(YEAR($B3)+1,(V2-12)+1,))/$G3),0),IF(AND(V2>12,DATE(YEAR($B3),MONTH($B3)+1,)<DATE(YEAR($B3)+1,(V2-12)+1,),DATE(YEAR($B3)+1,(V2-12)+1,)<DATE(YEAR($C3),MONTH($C3)+1,)),ROUND($H3*(DAY(DATE(YEAR($B3)+1,(V2-12)+1,))/$G3),0),0))

TOP

檔案欄位N~AE:是算費用分攤的月份(算頭不算尾),超過12(即Y欄),就算是隔年(本商品最多發行6個月,所以才有13月~18月)
==>單一儲存格公式太多,檢核很辛苦會漏,且每換一列,追綜列就要動態變動

檔案如下網址 : 要下載到個人電腦才能看~
https://docs.google.com/file/d/0BytNKnm2laTvQXFaQUE2bTNRRlNXMThwQjFFOVlNR0gzTFF3/edit?usp=sharing

TOP

檔案欄位N~AE:是算費用分攤的月份(算頭不算尾),超過12(即Y欄),就算是隔年(本商品最多發行6個月,所以才有 ...
u7490074 發表於 2014-9-30 15:30



對了,因為這樣長的公式←無果再加上INDIRECT("M"&ROW())則因為公式太長會被EXCEL拒絕再修改~~~困擾且不好編修~~


【R13儲存格】
=IF(AND(R12<=12,DATE(YEAR(INDIRECT("$b"&ROW())),MONTH(INDIRECT("$b"&ROW()))+1,)=DATE(YEAR(INDIRECT("$b"&ROW())),R12+1,)),ROUND($H13*($L13/$G13),0),IF(AND(R12<=12,DATE(YEAR(INDIRECT("$c"&ROW())),MONTH(INDIRECT("$c"&ROW()))+1,)=DATE(YEAR(INDIRECT("$b"&ROW())),R12+1,)),ROUND($H13*($M13/$G13),0),IF(AND(R12>12,DATE(YEAR(INDIRECT("$C"&ROW())),MONTH(INDIRECT("$C"&ROW()))+1,)=DATE(YEAR(INDIRECT("$b"&ROW()))+1,(R12-12)+1,)),ROUND($H13*($M13/$G13),0),0)))+IF(AND(R12<=12,DATE(YEAR(INDIRECT("$b"&ROW())),MONTH(INDIRECT("$b"&ROW()))+1,)<DATE(YEAR(INDIRECT("$b"&ROW())),R12+1,),DATE(YEAR(INDIRECT("$b"&ROW())),R12+1,)<DATE(YEAR(INDIRECT("$C"&ROW())),MONTH(INDIRECT("$C"&ROW()))+1,)),ROUND($H13*(DAY(DATE(YEAR(INDIRECT("$C"&ROW())),R12+1,))/$G13),0),)+IF(AND(R12>12,DATE(YEAR(INDIRECT("$b"&ROW())),MONTH(INDIRECT("$b"&ROW()))+1,)<DATE(YEAR(INDIRECT("$b"&ROW()))+1,(R12-12)+1,),DATE(YEAR(INDIRECT("$b"&ROW()))+1,(R12-12)+1,)<DATE(YEAR(INDIRECT("$C"&ROW())),MONTH($C13)+1,)),ROUND($H13*(DAY(DATE(YEAR($B13)+1,(R12-12)+1,))/$G13),0),0)

TOP

回復  u7490074

檔案我看了,但沒有看到使用 INDIRECT("M"&ROW())的目的,無從了解及說明,是否在再補充 ...
ML089 發表於 2014-10-1 09:05



INDIRECT("M"&ROW())或INDIRECT("b"&ROW())或INDIRECT("c"&ROW())...等 : 均是考量在N13儲存格垂直下拉時,列號會變,才用這樣的土方式啦~

TOP

回復  u7490074

你這說明是函數說明,我知道。
如果只是= INDIRECT("M"&ROW()) 下拉,是否採用 =M13 下 ...
ML089 發表於 2014-10-1 14:34



拍謝啦~應該 是說= INDIRECT("M"&ROW()) 是要固定每列用m欄儲存格,與水平由1月(n13)拖曳到18月時,能利用ROW()固定找該列的m儲存格(即m13)

如果:直接寫N13=M13,則拖曳到O13時,則O13=N13,而非O13仍=M13啦~~前面說明寫錯了~

TOP

以前一直沒注意$的用法:
$M13:水平拖曳時,M13是整個被固定不變,而非只是M不變,13一直往右增加

M$13:水平拖曳時,只有13不變,M會增減變動  ^*^~

TOP

        靜思自在 : 小事不做、大事難成。
返回列表 上一主題