答案1
请尝试一下=INT((A1+49)/50)
它将返回 1、2、3 等,分别表示 1-50、51-100、101-150...
更新 是的,你可以用以下公式来实现
=25*(INT((INT((A1-1)/50)*50+49)/50))*(INT((INT((A1-1)/50)*50+49)/50)+1)+(A1-INT((A1-1)/50)*50)*(INT((A1+49)/50))
或者
=25*INT((INT((A1+49)/50)*50+49)/50)*(INT((INT((A1+49)/50)*50+49)/50)+1)-(INT((A1+49)/50)*50-A1)*INT((A1+49)/50)
无需辅助表即可工作
答案2
这是一个比JohnSUN 的回答:
=A1 + FLOOR((A1-1)/50,1)*(MOD(A1-1,50)+1) + 50*(FLOOR((A1-1)/50,1)*(FLOOR((A1-1)/50,1)-1))/2
你说你希望能够计算价值否
无需知道价值N−1(以及所有前面的值)。我可以通过添加“辅助”列来做到这一点,并使公式更短。如果 ColumnZ
不用于任何用途,则设置Z1
为
=FLOOR((A1-1)/50,1)
,然后您可以使用
=A1 + Z1*(MOD(A1-1,50)+1) + 50*(Z1*(Z1-1))/2
我现在无法解释它是如何工作的。我只是玩了一会儿,运用了一些直觉,然后我就想出了这个。
答案3
这是一个简短的公式,它不需要辅助列,也不依赖于之前的值来计算输出:
=LET(groups,INT(([@number]-1)/50),groups*(groups+1)/2*50+(groups+1)*(MOD([@number]-1,50)+1))
公式原理:
50 * n*(n+1)/2 + mod * (n+1)
其中 n 是 50 个数字的完整组数int((n-1)/50)mod 是最后一个不完整组的数字数量MOD(n-1,50)+1)
例如计算256:
- 50 * 1 + 50 * 2 + 50 * 3 + 50 * 4 + 50 * 5 + 6 * 6
- = 50 * (1 + 2 + 3 + 4 + 5) + 6 * 6
- = 50 * ( 5 * 6 / 2) + 6 * 6(1 到 n 的数字之和 = n(n+1)/2)*
答案4
int i = 175;
int result = i + (i / 50);
在这个例子中,结果等于 178。
如果你没有使用 int:
float i = 175;
float result = i + (float)Math.Floor((float)i / 50);
所以我猜公式应该是 X = A + FLOOR(A / 50)