Excelで作成した複数のグラフ平均化のやり方を教えてください。

質問者からの補足コメント

  • 地盤の微動に関してなんですけど、H/Vスペクトルのグラフから卓越周期を知りたいのですがこのままではできないので平均した形を出したいです。

      補足日時:2017/06/16 13:17

A 回答 (3件)

近似曲線で収めるのか、移動平均を取りたいのか…



…てか平均しちゃダメだろ。
平均するとしても移動平均でダンピングを効かせた状態にするだけだ。

どのくらいの周期でデータをサンプリングしているのかによって結果は変わる。
前後5サンプリングの平均にすればよいのか、前後100サンプリングの平均を取ればよいのかは自身で判断してください。

・・・
元のデータに対してその前後の値の平均を取ればいいので、OFFSET関数で平均するデータの範囲を指定してAVERAGE関数に入れてやればいい。

下の図はiPhoneのアプリで振動を検出させたグラフです。(iPhoneを机の上に置いて机を叩いてみた)
自分ならグラフを見てピーク間のサンプリング数を見て周期を推測する。
「Excelで複数のグラフの平均化のやり方」の回答画像2
    • good
    • 0
この回答へのお礼

卒研で始めたばかりで何もわからない状態でした‼️ありがとうございます

お礼日時:2017/06/16 16:58

かなり専門的な分野の様ですね。


先ほど紹介した近似曲線の中に 移動平均 がありますが如何でしょうか。

複数のグラフと云う事なので、二つにデータ縦軸と横軸にして、分布図にする。相関係数を求めてみる。
データの中から、平均値と一次直線の差を出して、ばらつきの中に周期性があるのかを確認する。
エクセルの分析ツールにある機能(回帰分析など)が使えないか。
フーリエ変換してみる 位が思いつく所
検索してみたら
http://www.snap-tck.com/room04/c01/stat/stat12/s …
を見つけました。
参考になりますでしょうか。
    • good
    • 0
この回答へのお礼

2度もお返事ありがとうございます。
参考にさせて頂きました‼️ありがとうございます

お礼日時:2017/06/16 16:57

やりたいことがよくわからないですが、


グラフに近似直線が追加できることをご存知でしょうか。
グラフの線を右クリック、近似曲線の追加
近似直線でOKしてみて下さい。
    • good
    • 0

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

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

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

Qエクセルでグラフの平均化を教えてください。

エクセルで2つ以上のグラフの平均化を知りたいです。ただし、x軸成分が2つのグラフ間で統一ではありません。例えば

グラフ1.(x,y)=(1.028,0.525),(1.864,0.691),(2.530,0.841),(2.979,1.022)
グラフ2.(x,y)=(1.031,0.543),(1.796,0.644),(2.532,0.880),(2.901,1.002)

という2つの折れ線グラフがあったとします。これらのグラフの中心を通るようなグラフの作成は可能ですか??

また、グラフが3つ、4つ以上になって、それらを平均化した線を描くグラフの作成法を教えてください。

よろしくお願いします。

Aベストアンサー

こんばんは

お示しのデータのような場合は折れ線グラフよりは散布図のほうが良いと思います。
別々にグラフを描いてもいいのですが、一つのデータ系列にまとめてしまって散布図を作成し、
近似曲線を描かせるといいのではないでしょうか。

お示しのデータで散布図を作成して2次曲線で近似してみましたが、
非常に良い結果が得られました。
2次曲線の通過点も両データのほぼ中央になりました。
参考までにこんな結果になりました。
Y = 0.0754*X^2 - 0.0495*X + 0.5049  (R^2 = 0.9946)

他にデータ系列があっても、コピーペーストでひとつの系列としてしまい、
散布図を作成して近似曲線を描かせてみるのがいいと思います。

QExcelを使って行列変換をしたい(大量件数)

先日質問させていただいたものです。
さらなる加工が必要になりました。

例えば、
◆test
aaaaaa
iiiiiiiiiiiii
uuuuu
eeeee
ooooo
◆test2
kaaaaa
kiiiiiiiiiii
kuuuuu
keeeee
kooooo
...

これらのデータを
◆test aaaaaa
    iiiiiiiiiiiiii
    uuuuuu
eeeeee
oooooo
◆test2 kaaaaa
     kiiiiiiiiiii
     kuuuu
     keeeee
     koooooo

に変換はできたのですが、今度は
◆test aaaaaaaa iiiiiiiiiii uuuuuuuuuuu eeeeeee oooooo
◆test2 kaaaaaa kiiiiiiiii kuuuuuuuuu keeeeee koooooooo

のように変換する必要がでてしまいました。

マクロなどで一括で変換できないでしょうか。
当方知識が乏しいため困っております。

先日質問させていただいたものです。
さらなる加工が必要になりました。

例えば、
◆test
aaaaaa
iiiiiiiiiiiii
uuuuu
eeeee
ooooo
◆test2
kaaaaa
kiiiiiiiiiii
kuuuuu
keeeee
kooooo
...

これらのデータを
◆test aaaaaa
    iiiiiiiiiiiiii
    uuuuuu
eeeeee
oooooo
◆test2 kaaaaa
     kiiiiiiiiiii
     kuuuu
     keeeee
     koooooo

に変換はできたのですが、今度は
◆test aaaaaaaa iiiiiiiiiii uuuuuuuuuuu eeeee...続きを読む

Aベストアンサー

こんにちは!

別シートに表示しても良いですか?
元データはSheet1のA列にあり、Sheet2に表示するとします。
標準モジュールにしてください。

Sub Sample1()
Dim i As Long, cnt As Long, wS As Worksheet
Set wS = Worksheets("Sheet2")
wS.Cells.ClearContents
With Worksheets("Sheet1")
For i = 1 To .Cells(Rows.Count, "A").End(xlUp).Row
If InStr(.Cells(i, "A"), "◆") > 0 Then
cnt = cnt + 1
wS.Cells(cnt, "A") = .Cells(i, "A")
Else
wS.Cells(cnt, Columns.Count).End(xlToLeft).Offset(, 1) = .Cells(i, "A")
End If
Next i
End With
End Sub

こんな感じではどうでしょうか?m(_ _)m

こんにちは!

別シートに表示しても良いですか?
元データはSheet1のA列にあり、Sheet2に表示するとします。
標準モジュールにしてください。

Sub Sample1()
Dim i As Long, cnt As Long, wS As Worksheet
Set wS = Worksheets("Sheet2")
wS.Cells.ClearContents
With Worksheets("Sheet1")
For i = 1 To .Cells(Rows.Count, "A").End(xlUp).Row
If InStr(.Cells(i, "A"), "◆") > 0 Then
cnt = cnt + 1
wS.Cells(...続きを読む

QExcelで名前の7文字組みの方法を教えてください

Excelデータで名前をスペースで入れて7文字組みに変換させたいのですが、
関数またはVBAなどの方法を教えていただけませんでしょうか?
今は関数で個別でMID関数を使い分けてしています。

例) 
林一    → 林     一     田中一   → 田 中   一
林太郎   → 林   太 郎     田中太郎  → 田 中 太 郎
林孝太郎  → 林   孝太郎     田中孝太郎 → 田 中 孝太郎

佐々木一  → 佐々木   一
佐々木太郎 → 佐々木 太 郎
佐々木孝太郎→ 佐々木 孝太郎

Aベストアンサー

板汚しすみません。まだ半角スペース残ってた
=CHOOSE(LEN(A2),,LEFT(A2,1)&REPT(" ",5)&RIGHT(A2,1),
REPLACE(LEFT(A2,B2),2,0,REPT(" ",B2-1))&REPT(" ",3)&REPLACE(RIGHT(A2,3-B2),2,0,REPT(" ",2-B2)),
IF(MOD(B2,2),LEFT(A2,B2)&REPT(" ",3)&RIGHT(A2,4-B2),
REPLACE(LEFT(A2,2),2,0," ")&" "&REPLACE(RIGHT(A2,2),2,0," ")),
IF(OR(B2=1,B2=4),LEFT(A2,B2)&REPT(" ",2)&RIGHT(A2,5-B2),
REPLACE(LEFT(A2,B2),2,0,REPT(" ",3-B2))&" "&REPLACE(RIGHT(A2,5-B2),2,0,REPT(" ",B2-2))),
LEFT(A2,B2)&" "&RIGHT(A2,6-B2),A2)

Qエクセルシート間の数値抽出方法

どなたかとの関連質問ですが、=IFERROR(・・・数式にて
シート1に随時入力(担当者、品名、価格)しながらデータベースとして保存しつつ、
同時進行で、別シート2に該当担当者ベースで残り品名、価格を自動抽出する方法を教えて下さい。
*シート1からシート2への抽出はできましたが、
 引き出された数値が、該当担当者以外の名前も含まれていたり、データベースとの件数が一致しません。
*例:平成君のみの抽出  シート1           シート2 結果
 ・平成君 ペン 100円          平成君 ペン 100円            
 ・昭和君 万年筆 1000円        平成君 消しゴム 80円
 ・平成君 消しゴム 80円      →  大正君 カーテン 2000円
 ・大正君 カーテン 2000円       
 ・平成君 鉛筆 300円 
 と、なります。ご教示下さい。

Aベストアンサー

肝心な数式を提示してくれっていうの忘れてました。(^^;
1行目以外マクロの記録でフィルタアドバンスドフィルター(添付図参照)
Sheet2!A2セルを変更すると抽出されます

Sheet2のシート見出しを右クリック - コードの表示
下記貼り付け
Private Sub Worksheet_Change(ByVal Target As Range)
    '↓1行だけ追加
    If Target.Address <> "$A$2" Then Exit Sub

    'Sheet2を選択(不要だけど一応)
    Sheets("Sheet2").Select
    '4行目を選択
    Rows("4:4").Select
    '[Ctrl]+[Shift]+[↓]
    Range(Selection, Selection.End(xlDown)).Select
    '行の削除
    Selection.Delete Shift:=xlUp
    'A2セル選択
    Range("A2").Select
    ’フィルタオプションの設定
    Sheets("Sheet1").Columns("A:D").AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A4"), Unique:=False
End Sub

肝心な数式を提示してくれっていうの忘れてました。(^^;
1行目以外マクロの記録でフィルタアドバンスドフィルター(添付図参照)
Sheet2!A2セルを変更すると抽出されます

Sheet2のシート見出しを右クリック - コードの表示
下記貼り付け
Private Sub Worksheet_Change(ByVal Target As Range)
    '↓1行だけ追加
    If Target.Address <> "$A$2" Then Exit Sub

    'Sheet2を選択(不要だけど一応)
    Sheets("Sheet2").Select
    '4行目を選択
    Rows("4:4").Select
    '[Ctrl]+[Shift]+[↓]
...続きを読む

QAlt+Shift+↑を一括で行うには、何か方法はありませんか。

5000行の氏名にAlt+Shift+↑をして、ふりがなをふりたいのですが、今は、1行1行Alt+Shift+↑の操作をしています。5000行まとめて、Alt+Shift+↑する方法はないでしょうか。
よろしくお願いいたします。

Aベストアンサー

対象の列はA列として、下準備
A列を選択し、ホームのふりがなの表示

1. [Alt]+[F11]VBE
2. [Ctrl]+[G]イミディエイトウィンドウ
Range("A2:A5000").SetPhonetic
と入力(コピペ)後 [Enter]
[×]

ふりがなは正確でない可能性が高いので、
範囲は適宜変更し、確認してください

Qマクロの整理、正解を教えてください。

マクロを自分で組む知識がないので、マクロの記録で強引に
やりたい操作を実行できるようにしました。
シート2の4行目に空行を挿入してから、
シート1のA3~AK3を、シート2の4行目、シート3,4の3行目に値の貼付けをして、
シート1内の複数のセルを空白にする動作です。

出来上がったマクロを見ると130行以上あったので、
不要な部分や省略できる部分の削除を調べながらやってみますが、
どうしてもエラーが起きます。
エラーが起きても起きなくても、何が良くて何が悪いかわからないので、
初心者向きの正解を教えていただきたいです。
以下に一部省略した130行程を貼付けますのでお願いします!

Sub 登録完了ボタン()
'
' 登録完了ボタン Macro
'

'
Application.ScreenUpdating = False
Sheets("会員情報一覧").Select
Rows("4:4").Select
Selection.Insert Shift:=xlDown
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 3
          ↓2~33まで続く。
ActiveWindow.ScrollColumn = 32
ActiveWindow.ScrollColumn = 33
Range("AL5:DN5").Select
Selection.Copy
Range("AL4").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
ActiveWindow.ScrollColumn = 31
ActiveWindow.ScrollColumn = 30
          ↓31~1まで続く。
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
Range("A6").Select
Sheets("顧客情報入力").Select
Range("A3:AK3").Select
Selection.Copy
Sheets("会員情報一覧").Select
Range("A4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A4").Select
Sheets("個別情報(閲覧・印刷)").Select
Range("A3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("B7").Select
Sheets("配布(メール送信・印刷)").Select
Range("A3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("B9").Select
Sheets("顧客情報入力").Select
Application.CutCopyMode = False
Range("H6:I7").Select
Selection.ClearContents
ActiveWindow.SmallScroll Down:=9
Range("C18:C20").Select
Selection.ClearContents
ActiveWindow.SmallScroll Down:=6
Range("C24:D24").Select
Selection.ClearContents
Range("C26:F38").Select
Selection.ClearContents
ActiveWindow.SmallScroll Down:=9
Range("D39:F42").Select
Selection.ClearContents
Range("C39").Select
ActiveCell.FormulaR1C1 = "-"
Range("C40").Select
ActiveCell.FormulaR1C1 = "-"
Range("C41").Select
ActiveCell.FormulaR1C1 = "-"
Range("C42").Select
ActiveCell.FormulaR1C1 = "-"
Range("C43").Select
ActiveCell.FormulaR1C1 = "-"
Range("C44").Select
ActiveWindow.SmallScroll Down:=-36
Range("F14").Select
End Sub

よろしくお願いします。

マクロを自分で組む知識がないので、マクロの記録で強引に
やりたい操作を実行できるようにしました。
シート2の4行目に空行を挿入してから、
シート1のA3~AK3を、シート2の4行目、シート3,4の3行目に値の貼付けをして、
シート1内の複数のセルを空白にする動作です。

出来上がったマクロを見ると130行以上あったので、
不要な部分や省略できる部分の削除を調べながらやってみますが、
どうしてもエラーが起きます。
エラーが起きても起きなくても、何が良くて何が悪いかわからないので、
初心者向...続きを読む

Aベストアンサー

回答者に丸投げする質問じゃないのに好感を感じましたので、またおせっかいさせていただきます。

補足にあった、c42:c46の範囲に"-"を書き込むマクロだと、
「c42:c46の範囲に"-"を書き込む」を5回繰り返しているだけなんです。

Range("c42:c46").FormulaR1C1 = "-"
だけで目的の処理はできちゃってて、無駄に5回繰り返してるのね。

もしForを使うとしたら

For i = 0 To 4
Range("c" & 42 + i) = "-"
Next i

こんな感じ。
For を1じゃなく0からにしてるのは、
41にi(1~5)を足すより、
範囲の最初のセルアドレスの数値42にi(0~4)を足したほうが、
式を理解しやすいと思ったから。
この辺はFor~Next間の処理内容や、好みもありますが。

こういう部分での個性(好み)が出るから、他人の作ったものに手を加えるのが面倒くさかったりします。(笑)

Range("F7").Selectは意図的なセル移動?
マクロ記録のゴミならな消すようにしていきましょう。

前の回答で敢えて書かなかった部分ですが…
複数範囲のクリア部分は、範囲をカンマで続けて書き並べ、一度に処理出来ます。
Range("H6:I7,C18:C20,C24:D24,C26:F38,D39:F42").ClearContents


質問にかかれていたもと、私の回答に書いたものの動作ではエラーはでませんでしたので、
エラーが出た時や、「もっとシンプルな書き方にできないか」と疑問を持たれた時に
再質問されると良いでしょう。

「質問&回答」じゃなく、個人レクチャーみたいになっちゃうので。
がんばってください!

回答者に丸投げする質問じゃないのに好感を感じましたので、またおせっかいさせていただきます。

補足にあった、c42:c46の範囲に"-"を書き込むマクロだと、
「c42:c46の範囲に"-"を書き込む」を5回繰り返しているだけなんです。

Range("c42:c46").FormulaR1C1 = "-"
だけで目的の処理はできちゃってて、無駄に5回繰り返してるのね。

もしForを使うとしたら

For i = 0 To 4
Range("c" & 42 + i) = "-"
Next i

こんな感じ。
For を1じゃなく0からにしてるのは、
41にi(1~5)を足すより、
範囲の最初のセルア...続きを読む

QExcelで関数を使って計算したいです

Excelを使い、A列に数値、B列に◯、×のどちらかを入力します。
B列が◯だった場合のA列の数値を足し算したいのですがやり方が分かりません…
ぜひ教えていただきたいです。
よろしくお願いします。

Aベストアンサー

質問文の確認ですが,B列で○と判定された同じ行のA列の値を全て加算するという事で宜しいですか?
関数は下記の通りです.
=SUMIF(B:B,"○",A:A)

Q数値の列から偶数のみを抽出する方法を教えてください

年齢列から偶数のみを抽出したいのですが何か数式か関数があれば教えてください。
宜しくお願いいたします。

Aベストアンサー

例えば年齢(A列として)の隣のセルに
=MOD(A2,2)=0
フィルハンドルダブルクリック
でオートフィルターで「TRUE」を抽出します

Qマクロで月毎に自動仕訳する方法?

初心者です。
会社で先輩に、エクセルにて、
シート1に、たくさん入っているデータを、自動で月ごとに、シート2、3、4、、、と振り分けるものを作って欲しいと依頼されました。
シート234、、には1月、2月、3月、、と月ごとわけてほしいとのこと。

調べたのですがわからず、お知恵かしていただけないでしょうか。

シート1には、A〜Hまで、名前、品名、、など情報がならび、F列に日にちが2017/6/7のような形式で入力してあります。

よろしくお願い致します。

Aベストアンサー

こんばんは!

一例です。
標準モジュールにしてください。

Sub Sample1()
Dim i As Long, k As Long, lastRow As Long, wS As Worksheet
Dim sN As String, myFlg As Boolean
With Worksheets("Sheet1")
lastRow = .Cells(Rows.Count, "A").End(xlUp).Row
.Range("I:I").Insert
Range(.Cells(2, "I"), .Cells(lastRow, "I")).Formula = "=MONTH(F2)"
For i = 1 To 12
sN = i & "月"
For k = 2 To Worksheets.Count
If Worksheets(k).Name = sN Then
myFlg = True
Exit For
End If
Next k
If myFlg = False Then
Worksheets.Add after:=Worksheets(i)
ActiveSheet.Name = sN
End If
Set wS = Worksheets(sN)
wS.Cells.Clear
.Range("A1").AutoFilter field:=9, Criteria1:=i
Range(.Cells(1, "A"), .Cells(lastRow, "H")).SpecialCells(xlCellTypeVisible).Copy wS.Range("A1")
wS.Columns.AutoFit
wS.Move after:=Worksheets(i)
myFlg = False
Next i
.AutoFilterMode = False
.Range("I:I").Delete
End With
MsgBox "完了"
End Sub

※ 月だけの検索にしていますので、
複数年のデータがある場合、年に関係なく各月のデータが表示されます。m(_ _)m

こんばんは!

一例です。
標準モジュールにしてください。

Sub Sample1()
Dim i As Long, k As Long, lastRow As Long, wS As Worksheet
Dim sN As String, myFlg As Boolean
With Worksheets("Sheet1")
lastRow = .Cells(Rows.Count, "A").End(xlUp).Row
.Range("I:I").Insert
Range(.Cells(2, "I"), .Cells(lastRow, "I")).Formula = "=MONTH(F2)"
For i = 1 To 12
sN = i & "月"
For k = 2 To Workshe...続きを読む

Q【追加質問】SUMIFとOFFSETの組み合わせについて 先日、下記にて質問をさせていただき解決した

【追加質問】SUMIFとOFFSETの組み合わせについて

先日、下記にて質問をさせていただき解決したのですが、一部ご教授いただいた数式で反映されない部分があり、原因がわからず再度質問させてください。

https://oshiete.goo.ne.jp/qa/9797530.html

前回質問添付画像参照。
合計の表のE68数量、E69売上、E70仕入、E73粗利についてはご教授頂いたSUMIFの式を、E71売上単価、E72仕入単価については平均単価を求めたいのでSUMIFをAVERAGEIFに変えて入力しましたが、反映されない部分がありました。
数量だけ反映されて、売上以下が数値が反映されなかったり、全て反映されなかったりと原因がわかりかねている状況です。
何が原因で反映されないのか?ご教授いただければ幸いです。

Aベストアンサー

>添付頂いた②の画像(前の商品のあと1行はさんで次の商品となります)が希望する表です。
となりますと、-10を-9に修正すればよいということでしょうか?

はい、そうなります。
算出したい行(合計の数量の行)の9行前が最後の商品の数量になりますので、-9になります。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報