更新:
以下の調査に基づいて、730 より大きい入力数値および/または実際に割り切れるすべての入力数値に対して、次の式を使用します。
100s: =CHOOSE(MOD(ROUNDUP([@number]/10;0); 20)+1;
0;1;1;0;1;1;0;1;0;0;1;0;0;1;0;0;1;0;1;1)
150s: =CHOOSE(MOD(ROUNDUP([@number]/10;0); 10)+1;
0;0;1;1;0;1;1;0;0;1)
170s: =CHOOSE(MOD(ROUNDUP([@number]/10;0); 5)+1;
0;3;1;4;2)
200s: =CEILING(([@number]-930)/200;1) +
CHOOSE(MOD(ROUNDUP([@number]/10;0); 20)+1;
4;1;2;0;2;3;1;3;1;2;4;2;3;0;2;3;0;3;0;1)
MOD(x; 20)
0 ~ 19 の数字を返しCHOOSE(x;a;b;...)
、最初の引数に基づいて n 番目の引数を返します (1=>2 番目の引数、...)
- CHOOSEの詳細を見る
- Windows の言語と地域の設定に基づいて
,
代わりに使用する;
200 を 170 よりも 150 よりも 100 よりも優先して使用したいという仮定から始めましょう。つまり300=200+100
、代わりに300=2*150
論理的な結論に従います。
結果セットには、最大 1100
、最大 1150
、最大 4170s
、無制限の数しか含めることができません200s
( 1700=8x200+100 のため、9 から始めまし170s
たが、実際には最大 4 でした)
(100s、150s、170s) の 20 の可能なサブセットのみがあります - 2*2*5 オプション
200s
930 は、結果セットに含まれない最大の入力数です。
データ ポイントの観察に基づいて、サブセットは定期的に繰り返さ
number = 740*k + 10*l, k>1, l>0
れます。答え)
ルックアップ式に基づく私のソリューションは次のとおりです。
以下は、データポイント、画像からの数式、および60 行のテーブル自体を csv 形式で生成するために使用したpython スクリプトです(関数によって必要に応じて並べ替えられます)。match
headers = ("100s", "150s", "170s", "200s")
table = {}
for c200 in range(30, -1, -1):
for c170 in range(9, -1, -1):
for c150 in range(1, -1, -1):
for c100 in range(1, -1, -1):
nr = 200*c200 + 170*c170 + 150*c150 + 100*c100
if nr not in table and nr <= 6000:
table[nr] = (c100, c150, c170, c200)
print("number\t" + "\t".join(headers))
for r in sorted(table):
c100, c150, c170, c200 = table[r]
print("{:6}\t{:2}\t{:2}\t{:2}\t{:2}".format(r, c100, c150, c170, c200))
__________
=IF(E$1<740; 0; INT((E$1-740)/200))
=E$1 - E$2*200
=MATCH(E$3; table[number]; -1)
=INDEX(table[number]; E$4)
=INDEX(table[100s]; E$4)
=INDEX(table[150s]; E$4)
=INDEX(table[170s]; E$4)
=INDEX(table[200s]; E$4) + E$2
__________
number,100s,150s,170s,200s
940,0,0,2,3
930,1,1,4,0
920,0,1,1,3
910,0,0,3,2
900,1,0,0,4
890,0,1,2,2
880,0,0,4,1
870,1,0,1,3
860,0,1,3,1
850,1,1,0,3
840,1,0,2,2
830,0,1,4,0
820,1,1,1,2
810,1,0,3,1
800,0,0,0,4
790,1,1,2,1
780,1,0,4,0
770,0,0,1,3
760,1,1,3,0
750,0,1,0,3
740,0,0,2,2
720,0,1,1,2
710,0,0,3,1
700,1,0,0,3
690,0,1,2,1
680,0,0,4,0
670,1,0,1,2
660,0,1,3,0
650,1,1,0,2
640,1,0,2,1
620,1,1,1,1
610,1,0,3,0
600,0,0,0,3
590,1,1,2,0
570,0,0,1,2
550,0,1,0,2
540,0,0,2,1
520,0,1,1,1
510,0,0,3,0
500,1,0,0,2
490,0,1,2,0
470,1,0,1,1
450,1,1,0,1
440,1,0,2,0
420,1,1,1,0
400,0,0,0,2
370,0,0,1,1
350,0,1,0,1
340,0,0,2,0
320,0,1,1,0
300,1,0,0,1
270,1,0,1,0
250,1,1,0,0
200,0,0,0,1
170,0,0,1,0
150,0,1,0,0
100,1,0,0,0
0,0,0,0,0