Excel 公式向单元格中添加一个数字,如果该数字大于某个数字,则更改该值

Excel 公式向单元格中添加一个数字,如果该数字大于某个数字,则更改该值,excel,excel-formula,Excel,Excel Formula,在A列中,我有从1到30的数字,在B列中,我想在A列的数字上加10,即 如果A1是1我想要B1中的11和C1中的21和 如果A2是2我想要B2中的12,C2中我想要22 我不希望B列和C列中的数字超过A列中的最大数字限制,在这种情况下,即30 我需要一个公式来实现这一点,这样在B列和C列中没有一个单元格的数字超过30,如果加法超过30,我希望从中减去30。我用IF尝试了这个方法,但没有用,因为我不知道在添加数字后如何操作当前单元格 预期结果的屏幕截图: 我希望B列中的数字与A列中的数字相加10

在A列中,我有从1到30的数字,在B列中,我想在A列的数字上加10,即

如果A1是
1
我想要B1中的
11
和C1中的
21

如果A2是
2
我想要B2中的
12
,C2中我想要
22

我不希望B列和C列中的数字超过A列中的最大数字限制,在这种情况下,即
30

我需要一个公式来实现这一点,这样在B列和C列中没有一个单元格的数字超过30,如果加法超过30,我希望从中减去30。我用IF尝试了这个方法,但没有用,因为我不知道在添加数字后如何操作当前单元格

预期结果的屏幕截图:

我希望B列中的数字与A列中的数字相加
10
,并且不应超过最大值

也许,在B1中:

在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时,A1>30*(A1>20)变为
30*TRUE
(实际上
30*1
),即
30

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(D1>$E$1,D1-$E$1,D1)
,这意味着“如果D1超过A1到A30中的最高值,则从D1中减去该最高值,否则只显示D1(=A1+10)”

如果替换这些值:

(E1):
=IF(D1>MAX($A$1:$A$30),D1-MAX($A$1:$A$30),D1)

(D1):
=如果(A1+10>最大值($A$1:$A$30),A1+10-最大值($A$1:$A$30),A1+10)


你得到了我在第一位提到的结果。

你能发布你尝试过的公式吗?=如果(A1>=30,A1-30+10,A1+10),但我不知道在添加数字后如何做,这是一个例子,展示了你面临的挑战。截图,示例文件,使用文件共享服务,但请使用无广告服务,如Dropbox或Onedrive。我不确定我是否理解你的意思。请编辑您的问题,以包括a)公式,b)一个不符合预期的示例。在您的if公式中,不要检查A1>=30,只需执行A1>20…哇,太棒了,这就是我想要的,谢谢。。但是,你能解释一下这是什么吗?哈哈,这不仅仅是我们办公室里的一个简单游戏。了解发生了什么对你和你的同事都有好处。。。Neat@pnutswell,保安不讨论excel:d谢谢这个抱歉,但我不搞政治。我只是学计算机科学。
=IF(A1+10>MAX($A$1:$A$30),A1+10-MAX($A$1:$A$30),A1+10)