プロが教える店舗&オフィスのセキュリティ対策術

先日数列の関数をこのコーナーに登校し多くの方々からご教授していただきました。おかげさまで、無事できたとおもいきや・・・なんと、私の考えが甘く、数式は正しいのですがそれが使えないことがわかりました。xとyの値の変化は以下のようなものでした。現在47歳どうあがいても自力で数列の問題は解けません。申し訳ございませんが、どなたかお力をお貸しください。
x→ 0, -1,-2, -3, -4, -5, -6, -7, -8
y→ 0, 1, -1, 2, -2, 3, -3, 4 , -4
のようにyの値がxに対応して変化する関数の式を知りたいのですが。
よろしくお願いいたします。

A 回答 (2件)

 思いつく範囲では、2通りの表し方があります。



(1) 整数化を行うガウスの記号[](エクセルではint()関数に対応)を使う方法
http://ja.wikipedia.org/wiki/%E5%BA%8A%E9%96%A2% …

  y=(-1)^(x-1) * [ (-x+1)/2 ]

 ちなみに、エクセルの式では、次のようになります。(セルA2にxの値が入っているとしています。)
  =(-1)^(A2-1)*INT((-A2+1)/2)

(2) 場合分けによる方法
 xが偶数のとき: x/2
 xが奇数のとき: (-x+1)/2

  =IF(MOD(A2,2)=0,A2/2,(-A2+1)/2)

 このような感じでよろしいでしょうか。

この回答への補足

ありがとうございました!!できました!
For i = 1 To 8
y = (-1) ^ (i - 1) * Int((-i + 1) / 2)
Sheets(1).Cells(4, 2).Offset(y, 0) = Sheets(1).Cells(9 - i, 7)
Next i
意図したセルに、意図した値を入れたかったんです。
本当にありがとうございました。

補足日時:2007/06/23 12:37
    • good
    • 0
この回答へのお礼

ありがとうございます。エクセルで使いたいので、式が書いてあるので助かりました。早々に式を入力してやってみます。ありがとうございました。

お礼日時:2007/06/23 11:59

y=[|x/2|+1/2](-1)^(|x|-1)


はどうですか
| |は絶対値
[ ]はガウス記号
x=0ならy=0
x=-1ならy=1
x=-2ならy=-1
x=-3ならy=2
x=-4ならy=-2
x=-5ならy=3
x=-6ならy=-3
x=-7ならy=4
x=-8ならy=-4
となります。
    • good
    • 0
この回答へのお礼

昨日に引き続きありがとうございます。エクセルに転用できるかためしてみます。ガウス記号のところがVBAでどのようになるのかがわからないので、調べてみてそれができればどうにかなると思います。ありがとうございました。

お礼日時:2007/06/23 11:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!