Board logo

標題: [發問] 能請大大幫我看一下 這excel 損益表 中 日期期間怎麼 做來的 [打印本頁]

作者: mycmyc    時間: 2011-9-23 22:31     標題: 能請大大幫我看一下 這excel 損益表 中 日期期間怎麼 做來的

損益表 中
=IF(B6="","",VLOOKUP(B6,會計科目表,5,FALSE))
根本 跟起迄期間  無關
但 只要日期 變  其值確實會變

是用 篩選 還是 參照 還是 其他方法  

試了好幾天  能教我一下嗎? 謝謝[attach]7914[/attach]
作者: infoverdad    時間: 2011-9-23 23:05

本帖最後由 infoverdad 於 2011-9-23 23:09 編輯

回復 1# mycmyc

損益表 中
=IF(B6="","",VLOOKUP(B6,會計科目表,5,FALSE))


損益表的資料來自"會計科目表"第5欄,而其公式如下:
    =IF($C119="借",
SUMPRODUCT((傳票日期>=損益表起日)*(傳票日期<=損益表訖日)*(傳票科目=$A119)*(傳票借方))-
SUMPRODUCT((傳票日期>=損益表起日)*(傳票日期<=損益表訖日)*(傳票科目=$A119)*(傳票貸方)),

SUMPRODUCT((傳票日期>=損益表起日)*(傳票日期<=損益表訖日)*(傳票科目=$A119)*(傳票貸方))-
SUMPRODUCT((傳票日期>=損益表起日)*(傳票日期<=損益表訖日)*(傳票科目=$A119)*(傳票借方)))

從以上的公式看來傳票日期確實與損益表起訖日相關哦!!
只是日記簿的傳票日期看來都是介於2009年1月1日∼2009/12/31
作者: mycmyc    時間: 2011-9-23 23:25

本帖最後由 mycmyc 於 2011-9-23 23:35 編輯

回復 2# infoverdad


謝謝回復

=IF(B6="","",VLOOKUP(B6,會計科目表,5,FALSE))
會計科目表是公式裡的 會計科目表  非 工作表之 會計科目表  (會計科目表!)
會計科目表 是 陣列公式  看 名稱管理員 得知
損益表 內 日期起迄 用 損益表起日 與 損益表迄日 控制  (名稱管理員 得知)
SUMPRODUCT((傳票日期>=損益表起日)*(傳票日期<=損益表訖日)*(傳票科目=$A119)*(傳票借方))........
是計算 整年度
損益表內 日期期間 是用  損益表起日 與 損益表訖日 控制  (名稱管理員 得知)
當你把 損益表  損益表起日 與 損益表訖日  設定為 98/1/1  至 98/1/1  損益表全是0
但SUMPRODUCT((傳票日期>=損益表起日)*(傳票日期<=損益表訖日)*(傳票科目=$A119)*(傳票借方))........
沒變 也非0
應該 有其他控制 方法  

再 請問 大大  
我如想 增加一工作表  
把 98/8/1 至 98/8/31  期間  日記簿 明細  印出來當月報表  怎麼方法
可以把  98/8/1 至 98/8/31  期間  日記簿 明細 印出來
謝謝你
作者: mycmyc    時間: 2011-9-24 16:21

請大大們 幫我看一下好嗎
對不起  真的研究不出來
作者: infoverdad    時間: 2011-9-24 18:37

本帖最後由 infoverdad 於 2011-9-24 18:39 編輯

回復 4# mycmyc

   
=IF(B6="","",VLOOKUP(B6,會計科目表,5,FALSE))
會計科目表是公式裡的 會計科目表  非 工作表之 會計科目表  (會計科目表!)
會計科目表 是 陣列公式  看 名稱管理員 得知


根據名稱定義看到 會計科目表=會計科目表!$A$5:$E$210

損益表內 日期期間 是用  損益表起日 與 損益表訖日 控制  (名稱管理員 得知)
當你把 損益表  損益表起日 與 損益表訖日  設定為 98/1/1  至 98/1/1  損益表全是0
但SUMPRODUCT((傳票日期>=損益表起日)*(傳票日期<=損益表訖日)*(傳票科目=$A119)*(傳票借方))........
沒變 也非0
應該 有其他控制 方法


根據名稱定義看到
損益表起日=損益表!$D$4
損益表訖日=損益表!$E$4

所以都互相相關!!
作者: infoverdad    時間: 2011-9-24 19:34

本帖最後由 infoverdad 於 2011-9-24 19:37 編輯

回復 4# mycmyc
  
我如想 增加一工作表  
把 98/8/1 至 98/8/31  期間  日記簿 明細  印出來當月報表  怎麼方法
可以把  98/8/1 至 98/8/31  期間  日記簿 明細 印出來

可用進階篩選,但請注意欄位名不能重複!!
進階篩選一個比較少人知道的寫法是將準則寫成公式。
準則寫成公式時要注意以下兩點:
1.在準則欄位內寫公式時必須讓公式傳回邏輯值True,False。
2.當準則是公式時,該準則的標題必須是空白
3.篩選是找出8月所有明細
4.在M2輸入公式=MONTH(D6)=8,這時準則標題M1應該要變成空白!
5.資料>>篩選>>進階篩選,確定資料範圍是$D$5:$K$5000,準則範圍是$M$1:$M$2,複製到$M$5
6.按下確定即可。
[attach]7929[/attach]
作者: mycmyc    時間: 2011-9-24 21:53

回復 7# infoverdad

謝謝 infoverdad
我還是看不懂  

能幫我把
SUMPRODUCT((傳票日期>=損益表起日)*(傳票日期<=損益表訖日)*(傳票科目=$A119)*(傳票借方))-
SUMPRODUCT((傳票日期>=損益表起日)*(傳票日期<=損益表訖日)*(傳票科目=$A119)*(傳票貸方)),
變動 看一次嗎

他是怎麼會
當你把 損益表  損益表起日 與 損益表訖日  設定為 98/1/1  至 98/1/1  損益表全是0
但SUMPRODUCT((傳票日期>=損益表起日)*(傳票日期<=損益表訖日)*(傳票科目=$A119)*(傳票借方))........
沒變 也非0
依公式  二個值會是一樣
謝謝你
作者: infoverdad    時間: 2011-9-24 23:34

本帖最後由 infoverdad 於 2011-9-24 23:51 編輯

回復 8# mycmyc


您日記簿的日期最小是2009/04/01 最大是2009/09/11
您用2009/1/1當然會等於0
建議先去瞭解sumproduct的語義
網路上很多可查
看實際範例會幫助您比較具體地瞭解哦

請注意日記簿內包括:資產負債表和損益表科目
如附件 我將損益表起迄日改為2009/6/1~2009/6/1
請觀察損益表、日記簿與會計科目表的變化
[attach]7933[/attach]
作者: mycmyc    時間: 2011-9-26 22:04

本帖最後由 mycmyc 於 2011-9-26 22:43 編輯

infoverdad 謝謝  
我確實  sumproduct的語義  不懂
我請教  GOOGLE  大神 很多次
還無法 融會貫通  我研究一下
不懂在麻煩你  
謝謝 不吝 指導
作者: mycmyc    時間: 2011-9-26 22:36

本帖最後由 mycmyc 於 2011-9-26 22:44 編輯

請教 infoverdad :
SUMPRODUCT((傳票日期>=損益表起日)*(傳票日期<=損益表訖日)*(傳票科目=$A119)*(傳票借方))-
傳票日期>=損益表起日         值應該是 0 或 1         True/False陣列轉換為1/0陣列
傳票日期<=損益表訖日        值應該是 0 或 1         True/False陣列轉換為1/0陣列  
傳票科目=$A119                    值應該是 0 或 1          True/False陣列轉換為1/0陣列
傳票借方   不是判斷式 應該是本身的值    以 你 損益表起迄日改為2009/6/1~2009/6/1  為例 應該有一筆 25100                       

=SUMPRODUCT(A1:A2,B1:B2)
非判斷式 Array1, array2  是A1×B1+A2×B2

這樣 解釋 對嗎? 你給我一些更好觀念嗎?




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)