我在 Excel 中遇到了一些公式问题。我有三行数据,涉及三个人,这些数据被平均分配,直到其中两个人达到最大值。然后所有值都分配给一个人。以下是标准
第 1 行的最大值是 800
第 2 行没有最大值
第 3 行的最大值是 300
第 1 行的公式=MIN(800, SUM (D1:BF3)/3)
第 2 行的=IF(AND((BG3=300),(BG1=800)),(SUM(D1:BF3)-1100),(SUM(D1:BF3)/3))
公式 第 3 行的公式= MIN(300, SUM (D1:BF3)/3)
以下是使用这些公式得出的原始数据和每行的总数
第 1 行:R1=10,U1=50,AC1=20,总计 BG1= 513
第 2 行:R2=10,AC2= 20,总计 BG2= 513
第 3 行:N3=100,R3=10,W3=1250,Z3=50,AC3=20,总计 BG3= 300
所有单元格的实际总数为 1540。第 3 行的总数为 300,因此第 1 行和第 2 行的总数应为 1540-300=1240 /2 = BG1 为 620,BG2 为 620。如您所见,BG1 和 BG2 较短。
我需要的是将这些人的所有单元格都除以 3,一旦第 3 行达到 300,则将所有(第 1、2 和 3 行)除以 2,这样第 1 行和第 2 行的总数就会继续加起来,一旦第 1 行的总数达到 800,则第 2 行的总数将继续增加,所有单元格的总数(第 1、2、3 行)
第 2 行和第 1 行的公式中是否需要某处进行 OR 运算?
希望这不会太令人困惑。如果我能附上表格,可能会更容易理解一些。
答案1
您对 BG3 的公式没有问题。BG1 需要针对 BG3 为 300 的情况进行调整:
=MIN(800,IF(BG3=300,(SUM(D1:BF3)-300)/2,SUM(D1:BF3)/3))
类似BG2:
=IF(BG3=300,IF(BG1=800,SUM(D1:BF3)-1100,(SUM(D1:BF3)-300)/2),SUM(D1:BF3)/3)
答案2
根据您的逻辑简化的公式:
- 第 3 行的公式是正确的:
= MIN(300, SUM (D1:BF3)/3)
- 对于第 1 行:
=MIN(800, (SUM(D1:BF3)-BG3)/2)
减去第 3 行值后剩余金额的一半,但不超过 800 - 第 2 行的公式
=SUM(D1:BF3)-BG1-BG3
在任何情况下,它都是其他两行的总和减去太阳。