在A栏中,我有1到30的数字,在B栏中,我想在A栏中加上10,即
。如果A1是1
我希望{B1}中的11
和C1中我想要21
和
如果A2为2
,我想在B2和C2中12
,我希望22
。
我不希望B列和C列中的数字超过我在A列中的数字的最大限制,在这种情况下是30
。
我需要一个公式来实现这一目标,这样B列和C列中的任何一个单元都没有超过30
的数字,如果加法超过了我希望从中减去30。我用IF尝试了这个,但它没有帮助,因为我不知道如何在添加数字之后操纵当前的单元格。
我希望B列中的数字与A列中的数字相加10
,并且不应超过最大数量。
答案 0 :(得分:1)
也许:
=A1+10-30*(A1+10>30)
并且在C1中,两者都被复制以适应:
=B1+10-30*(B1+10>30)
考虑到B1,通过将(A1+10>30)
渲染为(A1>20)
,可以略微简化上述内容。
A1+10
是基本要求。
条件是A1+10
超过30
,应该扣除30。这可以重写为"其中A1超过20"。
(A1>20)
返回TRUE(当A1超过20时)和FALSE(否则)。
所有人都不感兴趣的是,当用作乘数时,Excel将TRUE视为1
,将FALSE视为0
。
因此,当A1小于或等于20
时,不会从A1 + 10中扣除任何内容。 30*(A1>20)
变为30*FALSE
(有效30*0
),即0
。但是,当A1超过20时,30*(A1>20)
变为30*TRUE
(有效30*1
),即30
。
答案 1 :(得分:0)
B1的公式为:
=IF(A1+10>MAX($A$1:$A$30),A1+10-MAX($A$1:$A$30),A1+10)
(对于C1,只需从B1做“向右填充”。)
有时最好使用多个列来获得结果:
首先我在D1 =A1+10
中创建,然后在E1 =MAX($A$1:$A$30)
中创建。
$
表示填充时列或行号不会改变,因此A1在每个单元格中保持固定为A1。
在F1中我创建了一个IF公式:=IF(D1>$E$1,D1-$E$1,D1)
表示“ IF D1超过A1到A30的最高值那么减去D1的最高值 ELSE 只显示D1(= A1 + 10)“
如果你替换这些值:
(E1):=IF(D1>MAX($A$1:$A$30),D1-MAX($A$1:$A$30),D1)
(D1):=IF(A1+10>MAX($A$1:$A$30),A1+10-MAX($A$1:$A$30),A1+10)
你得到我刚才提到的结果。