返回列表 上一主題 發帖

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

回復 1# u7490074


    C3儲存格輸入=INDIRECT(A2&B2&"!D3")
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 3# u7490074

工作表名稱用單引號括住(  '工作表名稱'!儲存格名稱 )
C3儲存格輸入=INDIRECT("'"&A2&B2&"'!D3")
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 5# u7490074

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


=AVERAGE(INDIRECT("'"&A2&B2&"'!B2:D2")
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 7# u7490074

猜猜看,是不是這樣
=SUM(INDIRECT("Y"&ROW()&":Z"&ROW()))
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 9# u7490074

是一定要用INDIRECT("F"&ROW())才能得到F18儲存格的值嗎?  與在A18儲存格輸入=F18寫法,要多不少語法對嗎.

A18 =F18 當然比 A18 =INDIRECT("F"&ROW()) 簡單多了
每個函數各有使用時機。目前是看不出來你要怎麼用,有檔案說明比較容易了解你要什麼?


你的T2、U2公式不變,其結果引用回來就可以
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 12# u7490074

檔案我看了,但沒有看到使用 INDIRECT("M"&ROW())的目的,無從了解及說明,是否在再補充一下
使用原公式中使用 INDIRECT("M"&ROW()) 這種方法太複雜

你可以將原先公式中需要的6個儲存格分別用引用
R1 = 13
R2 = INDIRECT("B"&R1)
R3 = INDIRECT("C"&R1)
R4 = INDIRECT("G"&R1)
R5 = INDIRECT("H"&R1)
R6 = INDIRECT("L"&R1)
R7 = INDIRECT("M"&R1)
再將R2~R7帶入公式中
你也可以先複製表格,用 剪下/貼上 的方式來移動 B13、C13...L13、M13,公式就能自動改變,再將公式內容複製你要的地方。
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

本帖最後由 ML089 於 2014-10-1 10:37 編輯

回復 12# u7490074
N13
=IF(AND(N$12<=12,DATE(YEAR($B13),MONTH($B13)+1,)=DATE(YEAR($B13),N$12+1,)),ROUND($H13*($L13/$G13),0),IF(AND(N$12<=12,DATE(YEAR($C13),MONTH($C13)+1,)=DATE(YEAR($B13),N$12+1,)),ROUND($H13*($M13/$G13),0),IF(AND(N$12>12,DATE(YEAR($C13),MONTH($C13)+1,)=DATE(YEAR($B13)+1,(N$12-12)+1,)),ROUND($H13*($M13/$G13),0),0)))+IF(AND(N$12<=12,DATE(YEAR($B13),MONTH($B13)+1,)<DATE(YEAR($B13),N$12+1,),DATE(YEAR($B13),N$12+1,)<DATE(YEAR($C13),MONTH($C13)+1,)),ROUND($H13*(DAY(DATE(YEAR($C13),N$12+1,))/$G13),0),IF(AND(N$12>12,DATE(YEAR($B13),MONTH($B13)+1,)<DATE(YEAR($B13)+1,(N$12-12)+1,),DATE(YEAR($B13)+1,(N$12-12)+1,)<DATE(YEAR($C13),MONTH($C13)+1,)),ROUND($H13*(DAY(DATE(YEAR($B13)+1,(N$12-12)+1,))/$G13),0),0))


N13公式可以簡化,只需要 起日期/迄日期/利息總費用及月數等資料就可以計算

=ROUND($H13/($C13-$B13)*FREQUENCY(ROW(INDIRECT($B13&":"&$C13-1)),DATE(YEAR($B13),N$12+1,)),) - SUM($M13:M13,-$M13)

每月利息費用會四捨伍入,誤差累積超過1元時該月會增加1元
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 12# u7490074


    AG13驗證合計這樣寫會有問題,因為EXCEL儲存格可以格式化為整數但其實是有含小數的數字,用SUM(....)的總數會對,但用眼睛看用計算機計算就是會不一樣。

將 =SUM(N13:AE13)
改為 =SUMPRODUCT(ROUND(N13:AE13,0))
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 14# ML089


    14樓公式使用陣列方式比較慢一些,直接數學計算比較快

N13
=ROUND($H13/($C13-$B13)*(MAX(0,MIN($C13,DATE(YEAR($B13),N$12+1,1))-$B13)),) - SUM($M13:M13,-$M13)

公式 = 四捨伍入至整數( 總利息/總天數 * (起日期至各月底天數) ) - 前面的利息合計
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 17# u7490074

你這說明是函數說明,我知道。
如果只是= INDIRECT("M"&ROW()) 下拉,是否採用 =M13 下拉效果一樣   

例如
N13 =INDIRECT("M"&ROW())
N13 =M13
以上兩式下拉效果相同,當然採用 N13 =M13

一般使用
A2 輸入你要的列號,例如 13
B2 =INDIRECT("B"&A2) 起日
C2 =INDIRECT("C"&A2) 迄日
D2 =INDIRECT("H"&A2) 利息
E2 輸入你的公式,B2、C2、D2就是你的公式裡參數
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

        靜思自在 : 一個人不怕錯,就怕不改過,改過並不難。
返回列表 上一主題