出産前後の痔にはご注意!

数字がランダムに
341
545
779
544




と縦に並んでいるのですが過去の統計から次はこの数字が来るというような予測をしたいのですが、予測関数のようなものはあるのでしょうか?
ど素人な質問で恐縮です。よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

既知のxと既知のyから、回帰直線、回帰曲線(これらどちらがよいかは、人間が総合的に選択する)を出し、他のxの値に対するyの値をその回帰直線や回帰曲線にxを代入してy求める。


ようなことではないですか。
直線の場合はFORECAST  関数が有る。
FORCAST(X、既知のy、既知のx)
既知のy、既知のxはそれぞれ同一列のセル範囲を指定する。
興味があれば、Googleで「エクセル FORECAST」で照会すること。
http://excel.onushi.com/function/forecast.htm
他膨大な数の記事が有るようだ。
    • good
    • 1

ランダムである以上予測不能ですが


予測するための関数はあります。ヘルプより
関数     内容
FORECAST 値を予測する
TREND 直線に近似される値を予測する
GROWTH 指数曲線に近似される値を予測する
LINEST 既存のデータから直線を計算する
LOGEST 既存のデータから指数曲線を計算する
    • good
    • 2

エクセルはデータ管理に使うものですので


ランダムな数値から、予測して数字を出すものは
ないですが、データ管理用にランダムな数値を作る関数なら
あります。

その式は

=RANDBETWEEN(最小数値,最大数値)
です。

たとえばA1に0、A2に10000と入力した場合に
=RANDBETWEEN($A$1 ,$A$2)
と入れてコピーすれば、0~10000の
間でランダムな数値が出てきます。
    • good
    • 1

ギャンブルにでも使用するのでしょうか?



予測できない数値の並びをランダムと定義するので、
予測関数などありません。

この回答への補足

ランダム出ださせることは可能でしょうか?

補足日時:2009/02/15 16:35
    • good
    • 4

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q数値予測の方法を教えてください。エクセル使います。

日々のデータ値を使った、明日の数値を予測する方法を教えてください。
どのような方法があるでしょうか?
例:A列 +97→-288→-189昨日→+307今日
  B列  +9→-314→-432昨日→+288今日
  C列-247→-587→-622昨日→+73今日
  D列+432→-235→-647昨日→-134今日

このような数値データを毎日つけています。日々のデータは4種類です。それぞれデータは、連動しています。0値をはさんで、毎日上下運動しています。上下変動スピードの速い(激しい)順で1番A2番B3番C4番Dです。
質問は、Aの明日の数値(毎日)を予測したいのです。近似値の数値でもかまいません。
無理なら、+値になるか-値になるかだけでも予測できれば結構です。毎日自動で計算できるよう、エクセルの関数も教えてください。
よろしくお願いします。
何分学がない素人ですので、わかりやすく簡単に説明お願いします。
なるべく簡単な方法があれば助かります。

Aベストアンサー

この4つのデータ列のみの情報から予測をするためには、これらのデータ列がどのような「法則性」あるいは「時間相関」をもって変化しているかを知る必要があります。

しかしながら(ここからが大事!)、ご質問の場合、本当にこの数値の中にのみ情報が含まれているのですか? つまり、このデータ列以外の情報の影響は全く受けていないのですね?

例えば、このデータ列が1時間毎の何かの観測値であったとします。すると、24時間単位で「昼⇔夜」の周期的変化の影響を受けるでしょう。また、もっと長い時間のレンジであれば春夏秋冬の影響を受けるでしょう。このようにデータ列の数値のみからでは知ることのできない外部情報の影響を受けているとすれば、このデータ列の数値だけから予測する際の精度は格段に低くなってしまいます。仮に今、このデータ列が4地点での気温だったとしましょう。春→夏と観測してきて、「あ~、段々高くなってきたな」と思って次のデータを「もっと上がる」と予測するとしますよね。でも、実際は秋になると気温は逆に減少に転じて下がってしまいます。このようにそのデータ列に含まれている情報以外にそのデータを左右する要因があるか無いかは大変大事なことなのです。

株価でもそうです。前日までの過去の情報のみを用いて次の日の予測ができればこんな楽なことはありません。しかし、現実には前日まで予想していなかった事件が起こって乱高下したりしますよね?

このようなことを実際に過去のデータ列から評価(検定)してみると良いでしょう。つまり、ある日の数値が前日までの数値とどのくらい関係が深いか(相関などと言います)を調べるのです。

時系列現象は多かれ少なかれ過去との相関があります(相関が完全にゼロなランダム過程=ポアソン分布過程もありますが)。その相関の距離、つまりどのくらい前の時点から予兆が現れるのか、が大事です。この相関の距離が1日以下になると、前日のデータは最早翌日にのデータの予測に使えないということになります。(ただしデータ列に周期性がある場合には、前日のデータとの相関は薄いが、例えば7日前のデータとは相関が高い、ということはあるので注意)

ここから先、その相関関係をどのようにして求めるのか、とか言った話になると、そんなに易しく説明することはできません。そこからは、きちんと統計学などをご自分で勉強なさってください。

この4つのデータ列のみの情報から予測をするためには、これらのデータ列がどのような「法則性」あるいは「時間相関」をもって変化しているかを知る必要があります。

しかしながら(ここからが大事!)、ご質問の場合、本当にこの数値の中にのみ情報が含まれているのですか? つまり、このデータ列以外の情報の影響は全く受けていないのですね?

例えば、このデータ列が1時間毎の何かの観測値であったとします。すると、24時間単位で「昼⇔夜」の周期的変化の影響を受けるでしょう。また、もっと長い時間...続きを読む

Q過去のデータから、未来を予測する手法について

(数学で良いかわかりませんが、よろしくお願いします)

よく、過去のデータから未来の値を予測(想定)すること
があるかと思います。
例えば、過去の5年のデータ(これをx1,x2,x3,x4,x5とする)から、来年の値(x6)を想定するということです。

x6を求める手法について教えてください。
一般的なのは、最小二乗法等で1次近似してx6を求めたり
なんて感じです。

他にも2次近似とか、3次近似とか、1次近似でも
重みをつけたり、ただ単に5つの平均にしたり
重みつきで平均にしたりと・・・・。

どんなデータの時にどんなものを使ったらよいのですか?



ところで、1次近似したとします。
x=a×□+b で表したとします
x6の値として、「ただ単に□に6を入れたとき」というのと
□に5を入れたときをx5'、6を入れたときをx6'とします。
x6として、x5+(x6'-x5')とすることがあると思います。
(つまり、傾きだけ求めて、x5に傾きの分だけ加える。)
これって、信憑性ありますか?


駄文ですみません。

(数学で良いかわかりませんが、よろしくお願いします)

よく、過去のデータから未来の値を予測(想定)すること
があるかと思います。
例えば、過去の5年のデータ(これをx1,x2,x3,x4,x5とする)から、来年の値(x6)を想定するということです。

x6を求める手法について教えてください。
一般的なのは、最小二乗法等で1次近似してx6を求めたり
なんて感じです。

他にも2次近似とか、3次近似とか、1次近似でも
重みをつけたり、ただ単に5つの平均にしたり
重みつきで平均にしたりと・・・・。
...続きを読む

Aベストアンサー

いろいろな手法がありますから、一言では言えないのですが、実際の手法としては。

成長曲線(ロジスティックカープ)というのをご存知でしょうか、社会現象に関しては、これにフィッティングさせることが多いと思いますので、調べてみては如何でしょう。

また、自然現象の場合、単純に近似してもうまくいきません、気温や降水量はトレンドとして増え続けたりするのではないからです。ですから、周期性を探したり、平年値で逃げたりします。

>ところで、1次近似したとします。
>x=a×□+b で表したとします
>x6の値として、「ただ単に□に6を入れたとき」というのと
>□に5を入れたときをx5'、6を入れたときをx6'とします。
>x6として、x5+(x6'-x5')とすることがあると思います。
>(つまり、傾きだけ求めて、x5に傾きの分だけ加える。)
>これって、信憑性ありますか?

この方法の場合、X5の重みが大きくなりすぎると思いますね。X5が傾向に沿っていることを別途証明する必要があります。

QExcelでの全通りの組み合わせ出力方法(文字列)

Excelについて全くの初心者で、教えて頂きたい質問があります。

Excelの文字列の全通りの組み合わせを出力がしたいのですが、その方法が分かりません。
例えばセルAに
・りんご
・みかん
・いちご

セルBに
・だいこん
・キャベツ
・トマト

があり、別のセルにその全通りの組み合わせを出力
(文字と文字の間はスペース)

りんご だいこん
りんご キャベツ
りんご トマト
みかん だいこん
みかん キャベツ
みかん トマト
いちご だいこん
いちご キャベツ
いちご トマト

この様に出来る方法はあるでしょうか?
また出来ればその裏(だいこん りんご)も出力したいと考えており、キーワードは3つまで出来るようになりたいです。

どなたかご存じでしたら、ぜひお教え下さい。
よろしくお願いします。

Aベストアンサー

A列B列は1行目からデータがあるものとします。
C列に転記するものとします。

以下の手順をおためしください。

1.Altキー+F11キーでVisualBasicEditorを呼び出します。

2.メニューから挿入、標準モジュールで出てきたコードウィンド(右側の白い広い部分)に以下のコードをコピペします。

Sub test01()
a = Cells(Rows.Count, "A").End(xlUp).Row 'A列最終行取得
b = Cells(Rows.Count, "B").End(xlUp).Row 'B列最終行取得
For i = 1 To a '1行からA列最終行まで繰り返し
For n = 1 To b '1行からB列最終行まで繰り返し
x = x + 1
Cells(x, "C") = Cells(i, "A") & " " & Cells(n, "B") 'C列に結合して転記
Next n
Next i
End Sub

3.Alt+F11キーでワークシートへもどります.

4.メニューから、ツール、マクロ、マクロで出てきたマクロ名(test01)を選択して実行

これでできます。
これがわかれば「裏」というのも簡単ですよね。
以上はVBAでの回答ですが、外していたらごめんなさい。

A列B列は1行目からデータがあるものとします。
C列に転記するものとします。

以下の手順をおためしください。

1.Altキー+F11キーでVisualBasicEditorを呼び出します。

2.メニューから挿入、標準モジュールで出てきたコードウィンド(右側の白い広い部分)に以下のコードをコピペします。

Sub test01()
a = Cells(Rows.Count, "A").End(xlUp).Row 'A列最終行取得
b = Cells(Rows.Count, "B").End(xlUp).Row 'B列最終行取得
For i = 1 To a '1行からA列最終行まで繰り返し
For n = 1 To b '1行...続きを読む

Qロト6の組み合わせをExcelを使って表にランダムの数字で抽出する方法

ロト6の組み合わせをExcelを使って表にランダムの数字で抽出する方法

ロト6の組み合わせ・・・・
1~43までの数字から6つの数字を選ぶ。

それを100通り作りたいんですが、関数や数式など、方法を教えてください。
100通りの組み合わせはすべて異なる組み合わせにしたいです。

よろしくお願いします。

Aベストアンサー

関数「rand」と「int」などが使えます。
数字が43種類なので、rand()の値を1/43で割った整数部分を取って、ランダムな数字として生成できます。これだと6つの数字が互いに重複することがあるので「countif」などを使って重複した組み合わせを除外してください。結果を並び替えしてみると分かりますが、6つの数字の組み合わせが重複することは稀です(一等?の当選確率とほぼ同じ確率です)。私が生成したランダムな組み合わせも貼っておきます。

4242918218
1343321243
2015223630
27232812019
42242721931
194278165
373339231617
432924233730
38532273335
242132382729
4027213293
93815281043
391835283026
1081193331
8285411819
33422431424
2241252418
10181620739
33247423032
283826122942
272834182243
9431711223
35872717
3522310530
303923311713
3627374039
113726962
26331254311
1538202626
2520141514
5181341431
262443223932
19104253230
37152312218
16520341227
381519252035
16191322140
11438122839
43642162737
172736413742
17133991215
4112205103
40825124223
2267372240
24433313421
101539301419
20169322215
20334235194
1211221345
84334211239
6439291942
153332372919
431626649
232724134143
10197412534
6413619101
30111122034
39432921128
25289301020
10332343022
611041211
34373221138
331927354339
6207392326
42311832639
20292511141
16419244133
32211336253
1841712268
4225125147
1523117930
273242283021
2473113404
27113373336
1169422537
409818165
43183940346
382651340
365383014
2117377426
26152420417
263229371011
41219432616
13102024251
38291930153
8166433021
62625103028
41536173443
530358231
3419920116
5625263730
25930223634
2836472635
34422132627
2331062714
73121202941
316132620
5153111934
73422422918

関数「rand」と「int」などが使えます。
数字が43種類なので、rand()の値を1/43で割った整数部分を取って、ランダムな数字として生成できます。これだと6つの数字が互いに重複することがあるので「countif」などを使って重複した組み合わせを除外してください。結果を並び替えしてみると分かりますが、6つの数字の組み合わせが重複することは稀です(一等?の当選確率とほぼ同じ確率です)。私が生成したランダムな組み合わせも貼っておきます。

4242918218
1343321243
2015223630
27232812019
42242721931
19427...続きを読む

Qエクセルで重複しているデータの抽出のしかたを教えてください。

エクセルで重複しているデータを抽出したいのですが・・。なにぶん初心者なもので簡単な方法があればよいのですが・・。
A列に日付 B列に企業名このデータが300件ほどあります。

 Å列      B列
1月 1日    AAAA社
1月 4日   BBBB社
1月 8日   CCCC社
2月 1日   BBBB社
2月20日    DDDD社
3月 2日   AAAA社

と、あるとしてB列の企業名が重複しているものを抽出したいのですが・・・。この場合 AAAA社とBBBB社ですが。
これを簡単に抽出する方法はないでしょうか?
教えてください お願いいたします。

Aベストアンサー

企業名がセルB2からセルB300まで入力されていると仮定します。
セルC2に IF(COUNTIF($B$2:B2,B2)>1,"*","") を入力し、セルC300までコピーして下さい。すると重複したデータの二番目以降に "*" のマークが付きます。
(注) 数式を下のセルまでコピーするため、COUNTIF($B$2 は絶対参照にして下さい。

Qエクセル 0や空白のセルをグラフに反映させない方法

以下の点でどなたかお教えください。

H18.1~H20.12までの毎月の売上高を表に記載し、その表を元にグラフを作成しています。グラフに反映させる表の範囲はH18.1~H20.12の全てです。
そのためまだ経過していない期間のセルが空白になり、そこがグラフに反映され見づらくなります。
データを入力する都度グラフの範囲を変更すればいいのですが、うまく算式や設定等で空白や0円となっているセルをグラフに反映させない方法はありますか?

お手数ですが、よろしくお願いいたします。

Aベストアンサー

売上高のセルは数式で求められているのですよね?
それなら
=IF(現在の数式=0,NA(),現在の数式)
としてみてください。
つまり、0の場合はN/Aエラーにしてしまうんです。N/Aエラーはグラフに反映されません。

Qエクセル指定した範囲からランダムで一つ抽出

エクセルの関数についての質問なのですが、

B1~B5に値がならんでいたとして、B1~B5の中からランダムに一つ抽出したものをA3に表示する関数はありますか?

Aベストアンサー

A3に次の式を入力すればよいでしょう。

=INDEX(B1:B5,RANDBETWEEN(1,5))

QExcelでデータの出現頻度を知りたい

1~40の任意の数値が入っている表から出現頻度が高いものから順に上位7位までの数値と回数を知りたいのですが、Excelでどうやれば可能でしょうか?

Aベストアンサー

>データは行方向に40~50、列方向に5~200

ということですと、ピボットテーブルでは出来ませんね。
FREQENCE関数ではどうでしょう。

空いた列に1~40まで数値を入力します。
別シートでも出来ますので、仮にシート2のA1からA40に
1~40までの数値を入力しておきます。
B1~B40を選択して、
関数ウィザードの「統計」からFREQUENCYを選びます。

「データ配列」にデータの範囲を指定します。
「区間配列」にシート2のA1~A40を指定します。
Shift+Ctrl+Enterキーで確定します。

並べ替えは配列の一部を変更することになり出来ませんので、
A1~B40を選択してコピーし、空いたセルに値のみ貼り付けてから並べ替えます。

1位が3個あったら、次位は4位になってよいなら、RANK関数で
値を貼り付けた列がD、E列で、F列にランクを表示するとして、
F1に
=RANK(E1,$E$1:$E$40,0)
として、下方向にフィルします。

Q「○○通りのパターンがある」の計算のしかた

よくこの組み合わせは全部で1万通りのパターンが存在するというようなことを聞きますが、
あれの方程式などはあるのでしょうか。

以下の例で説明をお願いします。

1. [a,b,c]の3つだけの文字列を作った時のパターン数
2. 英数字のみのパスワード4桁のパターン数
3. [a,b,c,d,e,f,g]の中から4文字をつかった文字列のパターン数。

Aベストアンサー

ちゃんと中学で確率を勉強しましたか?
方程式というか中学生で習う確率の授業をちゃんとやればわかります。難しいとこは
全くなく基本です。

(1)(a.b.c)の3つだけの文字列を作った時のパターン数

▼3つだけを使うので同じものは2回使えない
▽最初にa.b.cの3つのうちのひとつが選べる
▽次に最初に選んだもの以外の2つのうちのひとつが選べる
▽最後に1つ残る

従って
3×2×1=6

で答えは6通り

▽検証
下記がその6通り
a.b.c
a.c.b
b.a.c
b.c.a
c.a.b
c.b.a

(2)英数字のみのパスワード4桁

アルファベットは26文字
数字は10種類

▼同じ英数字を二度使ってもかまわないので

選べる英数字は毎回36通り

ここから4桁を選ぶのだから

36×36×36×36=1679616

1679616通り

(3)(a.b.c.d.e.f.g)の中から4文字を使った文字列のパターン

▼同じ文字を二度使わない場合
▽最初は7つ選べる
▽二回目は6つから選べる
▽三回目は5つから選べる
▽四回目は4つから選べる

7×6×5×4=840

840通り

ちなみに
▼同じ文字を二度使ってもよい場合なら
▽毎回7つから選択できる

7×7×7×7=2401

2401通り

ちゃんと中学で確率を勉強しましたか?
方程式というか中学生で習う確率の授業をちゃんとやればわかります。難しいとこは
全くなく基本です。

(1)(a.b.c)の3つだけの文字列を作った時のパターン数

▼3つだけを使うので同じものは2回使えない
▽最初にa.b.cの3つのうちのひとつが選べる
▽次に最初に選んだもの以外の2つのうちのひとつが選べる
▽最後に1つ残る

従って
3×2×1=6

で答えは6通り

▽検証
下記がその6通り
a.b.c
a.c.b
b.a.c
b.c.a
c.a.b
c.b.a

(2)英数字のみの...続きを読む

QExcelでデータ全通り組み合わせ出力方法

Excelでデータ全通り組み合わせ出力方法について教えて頂けますと助かります。

セルA~Eに、数がまちまちのアイテム名が入っています。
(セルA~Eというのは例で、変則的に全てのアイテム数は増減します。)

全ての組合せをセルG~Kに各々書き出してくれる方法はあるでしょうか?
(イメージ添付あり)

できればセルに入力すれば自動的に組合せが追加されていくのが理想です。
Excel2010を使用しており、VBAは初心者です。


どなたかご存じでしたら、ぜひお教え下さい。
よろしくお願いします。

Aベストアンサー

#1、2、cjです。#1、2、補足欄へのレスです。

取り急ぎ、コードのみ修正しました。
#2を元に書き換えています。

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim rSrc As Range
  Application.EnableEvents = False
  Set rSrc = Range("B2").CurrentRegion
  Application.EnableEvents = True
  If Intersect(Target, rSrc) Is Nothing Then Exit Sub
  Application.EnableEvents = False
  Call PrintCombi(rSrc)
  Application.EnableEvents = True
End Sub

Sub PrintCombi(ByVal rSrc As Range)
  Dim tnFld As Long
  Dim nRc As Long
  Dim nConti As Long
  Dim nRow As Long
  Dim i As Long
  Dim j As Long

  tnFld = rSrc.Columns.Count
  nConti = 1
  With rSrc(1, rSrc.Columns.Count + 3)
    .CurrentRegion.Clear
    Cells(1).Resize(, tnFld).Copy .Cells(1)
    For i = tnFld To 1 Step -1
      nRc = Cells(Rows.Count, i).End(xlUp).Row
      nRow = 2
      For j = 2 To nRc
        Cells(j, i).Copy Destination:=.Cells(nRow, i).Resize(nConti)
        nRow = nRow + nConti
      Next j
      nConti = nConti * (nRc - 1)
    Next i
    With .Cells(2, 1).Resize(nConti)
      For i = 2 To tnFld
        Range(.Cells(1, i), .Cells(.Cells.Count + 1, i).End(xlUp)).Copy Destination:=.Columns(i)
      Next i
    End With
  End With
End Sub

#1、2、cjです。#1、2、補足欄へのレスです。

取り急ぎ、コードのみ修正しました。
#2を元に書き換えています。

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim rSrc As Range
  Application.EnableEvents = False
  Set rSrc = Range("B2").CurrentRegion
  Application.EnableEvents = True
  If Intersect(Target, rSrc) Is Nothing Then Exit Sub
  Application.EnableEvents = False
  Call PrintCombi(rSrc)
  Application.EnableEvents = True
...続きを読む


人気Q&Aランキング