EXCEL的公式?

2014-10-21 5:15 am
我想問如果我有一個方格是5000,而我要在另外五個方格內平圴除開,令每一個方格內也變成1000.但如果其中一個方格的數值改變了的話,(例如改了2000)其中四個方格會自動把餘數平圴除開(5000-2000=3000,3000/4).這樣的公式應如何寫???
另外的問題是那一個寫了5000的方格其實是其他方格的總和的話,會影響到個公式嗎?
由於我不太懂EXCEL,可以的話加以說明,謝謝!!

回答 (2)

2014-10-21 9:37 am
✔ 最佳答案
應該只可用 VBA 了
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 And Target.Column = 1 Then
Application.EnableEvents = False
If Target.Address = "$A$1" Then
For i = 2 To 6
Cells(i, 1) = Target.Value / 5
Next
ElseIf Union(Target, Range("A2:a6")).Address = Range("A2:a6").Address Then
target_address = Target.Address
For i = 2 To 6
If Cells(i, 1).Address = target_address Then
Else
Cells(i, 1) = ([a1] - Range(target_address).Value) / 4
End If
Next
End If
Application.EnableEvents = True
End If
End Sub

http://club.excelhome.net/forum.php 唔明可去這兒發問
2014-10-22 11:15 pm
如果不太懂EXCEL卻又可以寫VBA的話,相信也不用發問問題了。現嘗試以公式版本作答。

首先,要分清試算表上輸入與輸出的概念。如果單元格內沒有公式,輸入數值,它儲存及顯示出數值;但如果單元格內儲存有公式,它會顯示出公式計算結果,而許多時候公式的輸入數值都是參考其他單元格。如果要同一單元格既可以輸入數值,又可以存放有公式來計算,一般來說並不可行,因公式不能以產生的數值覆寫掉公式本身,它只可顯示出公式計算結果,單元格存放有公式。

一個可行的做法是將輸入數值和計算公式用不同的單元格處理,問題可分成三列乘五行共15個單元格的區塊(A1:F5)。A列是供第一輪輸入用,A1是總額輸入5000,B1:F1是總額平均分配後的平均額(即放有公式=$A1/5)。B列是供第二輪輸入用,B2:F2是輸入修改第一輪分配額的新數值(沒有公式),A2可用來計算B2:F2輸入的總額(公式=SUM(B2:F2))。C列是顯示第二輪輸入後的新分配結果,B3:F3是計算第二輪新數值下的修訂分配額(參考輸入數值單元格為B1:F2,公式見下),A3可用來計算B3:F3新修訂分配額的總額(公式=SUM(B3:F3)),以驗證經修訂分配額後總額有否和之前不同。

B3:F3公式 (可鍵入B3公式然後複製至C3:F3即可)
-----------------------------------------------------------------
B3公式: =IF(B2>0,B2,($A$1-SUM($B2:$F2))/(5-COUNTIF($B2:$F2,">0")))
C3公式:=IF(C2>0,C2,($A$1-SUM($B2:$F2))/(5-COUNTIF($B2:$F2,">0")))
D3公式:=IF(D2>0,D2,($A$1-SUM($B2:$F2))/(5-COUNTIF($B2:$F2,">0")))
E3公式:=IF(E2>0,E2,($A$1-SUM($B2:$F2))/(5-COUNTIF($B2:$F2,">0")))
F3公式:=IF(F2>0,F2,($A$1-SUM($B2:$F2))/(5-COUNTIF($B2:$F2,">0")))

供第二輪輸入用的B列,可允許修訂多個分配額,公式會將餘額平均分配至未有修訂分配額的單元格內,最重要是A3等如A1,總額分配前後相同。


收錄日期: 2021-04-11 20:52:44
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20141020000051KK00104

檢視 Wayback Machine 備份