過去の桐井戸端BBS (桐ver.8)
12619 最初の6行が1で次の6行が2というふうに6行ずつ連続して数値をセットする関数は? masa 2001/08/16-15:44
すみません。関数の事で良い方法が思い浮かばず困っています。
どなたか良い方法を教えて下さい。よろしくお願いします。
項目は
[連番][1][2]とあって
1  1  1
2  2  1
3  3  1
4  4  1
5  5  1
6  6  1
7  1  2
8  2  2
9  3  2
10  4  2
11  5  2
12  6  2
13  1  3
.  .  .
.  .  .
項目[1]は #mod([連番]-1,6)+1で6行毎に1から始まります。
項目[2]の計算式が思いつきません。
最初の6行は1で次の6行は2でというふうに連続になります。
よろしくお願いします。


12622 Re:関数について 幅田 2001/08/16-16:00
記事番号12619へのコメント
masaさん、こんにちは。

#切り捨て(([連番]-1)/6,0)+1

でどうでしょうか?

12623 Re:早速ありがとうございます。 masa 2001/08/16-16:08
記事番号12622へのコメント
幅田さん こんにちは。
早速回答ありがとう御座います。
まさに完璧です。又何かありましたらよろしくお願い致します。

12625 #ceilをオススメ 悲しげ 2001/08/16-16:35
記事番号12622へのコメント
既に解決済のようですが、

>#切り捨て(([連番]-1)/6,0)+1

よりも

  #ceil([連番]/6)

の方が短いと思います。(^^)v
っつーか、#ceil関数は元来このような場合にこそ使ってあげましょう。

あと、別項目として[連番]を用意する方が小回りが効きますけど、#行番号関数も結構利用できます。
12627 Re:度々ありがとうございます。 masa 2001/08/16-17:02
記事番号12625へのコメント
悲しげさん こんにちは
幅田さんの回答の他にも簡単な回答があったとは驚きました。
調べて見ると( num 以上の、最も小さい整数を返す。)という事で、6で割って小さい整数を返すのがどうしてこうなったかが不思議でした。
勉強になりました。
又、何かありましたらよろしくお願い致します。

12638 Re:度々(余談) 悲しげ 2001/08/17-12:16
記事番号12627へのコメント
次のように書いた方が判りやすかったかもしれません。

 #ceil(某) = #切り上げ(某,0)

同様に

 #int(某) = #切り捨て(某,0)

あと、記述短縮に便利なのが

 数字1%数字2 = #int(数字1/数字2) = #切り捨て(数字1/数字2,0)

 ※この場合のパーセントの動作を「整数除算」と云います。
12647 整数化する関数についての補足 佐田 守弘 2001/08/18-00:16
記事番号12627へのコメント
参考までと言う事で、小数を整数化する関数について補足します。

●#ceilと#floor
関数名からも分かる通り、ceil(シール)は天井、floor(フロア)は床ですね。
数直線を建物の階に喩えてみます。
例えば3.2とか3.5といった小数は、3階の床と4階の床(3階の天井)の間にありますね。
ですから、#ceil(3.5)は天井に相当する4、#floor(3.5)は3です。
こうやって関数の名前の意味を一緒に憶えるのも、関数を使いこなすコツです。

●#intとの違いは
一方、小数を整数化する関数に#intがあります。このintはinteger(整数)の意味で、小数の整数部分を取り出す関数です。
例えば#int(3.5)は3です。

これだけを見ると#intと#floorは同じ機能の様に見えます。
しかしこれが言えるのは値が正の数の場合です。負の場合には様子が変わります。
例えば-3.5の場合を考えてみます。
#int(-3.5)は、負の数の整数部分を取り出すので、-3.5です。
一方、#floor(-3.5)は、-3.5より小さな最大の整数ですから-4、同様に#ceil(-3.5)は-3になります。

つまり#int関数は値が正の場合には#floorと同じ、負の場合には#ceilと同じ値になります。
そして、いずれの関数も値が整数の時には、同じ値が変えされます。

佐田守弘(KS-00119)
12682 Re:度々(余談) masa 2001/08/20-08:19
記事番号12638へのコメント
悲しげさん おはよう御座います。
日本語になるとわかり易くなりました。(どうも英語が出来なくて・・・)
度々ありがとう御座いました。何かありましたら、又よろしくお願いします。

12683 Re:度々ありがとうございます。 masa 2001/08/20-08:25
記事番号12647へのコメント
佐田 守弘さん おはよう御座います。
更に詳しい説明ありがとう御座います。英語を知らない人も、大助かりの説明で勉強になりました。
又、何かありましたらよろしくお願い致します。


戻る