
エクセルで最小値を抽出する方法
みなさん教えてください。
今エクセルで下図のような正弦波のグラフ図中の赤矢印部(ピーク値)
で一番小さくなる最小値を抽出したいと思っています。
しかし、方法がわかりません。
MIN関数を使用すると、一番小さい0が出てきます。
データの境目(~以上)と指定してオートフィルタでデータを抽出しようとしても、
データのプロット数が多すぎて境目をみつけるだけでも苦労し、うまくいきませんでした。
何か簡単に抽出できる良い方法はないでしょうか。
みなさんお力をかしてください。よろしくお願いします。
<波形元データ> ※オシロスコープで測定したデータ(CSVファイル:データ数2000行弱)
時間 電圧
0 0.03626667
0.0002 0.037975
0.0004 0.035025
0.0006 0.03514167
0.0008 0.03781667
0.001 0.03830833
0.0012 0.03346667
0.0014 0.03460833
0.0016 0.03616667
0.0018 0.0342
0.002 0.03035
・ ・
・ ・
・ ・

A 回答 (11件中1~10件)
- 最新から表示
- 回答順に表示
No.11
- 回答日時:
回答No9,10です。
AおよびB列にお示しのデータがるのですから、C1セルに示した式を入力して下方にオートフィルドラッグで、最小値の式は D1セルに =MIN(c:C) となりますね。大変失礼をいたしました。
No.10
- 回答日時:
No9です。
より精度を高めるにはB1セルに次の式を入力して下方にオートフィルドラッグします。=IF(ISERROR(OFFSET(B1,-4,0)),"",IF(AND(AND(OFFSET(B1,-1,0)<B1,B1>OFFSET(B1,1,0)),AND(OFFSET(B1,-2,0)<B1,B1>OFFSET(B1,2,0)),AND(OFFSET(B1,-3,0)<B1,B1>OFFSET(B1,3,0)),AND(OFFSET(B1,-4,0)<B1,B1>OFFSET(B1,4,0))),B1,""))
C1セルには =MIN(B:B)
No.9
- 回答日時:
A1セルから下方にデータがあるとして、作業列としてB1セルには次の式を入力して下方にオートフィルドラッグします。
=IF(ISERROR(OFFSET(B1,-4,0)),"",IF(AND(OFFSET(B1,-4,0)<B1,B1>OFFSET(B1,4,0)),B1,""))
これでピークごとに1,2個のデータが表示されますので、C1セルに =MIN(B:B) を入力すれば最小値が表示されますね。
No.8
- 回答日時:
ちなみに移動平均については判りますね?
ご相談で掲示されたサンプルのデータで,仮に4点で移動平均を取ってみると添付図のようになり,生のピークが0.03830833を記録しているのに対して0.036531251という計算値をこの山のピーク値だとします。
それでご質問の山の切り方ですがごくごく簡易な方法としては,やはりご質問に掲示されているようなグラフが得られているとすると,0.3の時間間隔の中に10山見えていますから一周期が目安0.03,データのサンプリングタイムが0.002なので,おおざっぱに言ってしまえば0.03÷0.002=150データごとに一山あると見てしまえそうです。
C列に移動平均を計算してあるとすると
開始を51行目からにしてみると
=MAX(C51:C200) で一山目のピーク値
=MAX(C201:C350) で二山目のピーク値
:
が拾えると期待できます。
また,もっと荒い(10点とかの)移動平均でグラフを平滑にしてしまい,それでゼロを切るそれぞれの時刻を拾ってしまうのでも,多分今考えられた方法で上手く出来ると思います。

No.7
- 回答日時:
あまり自信はないが微分係数が正ー0-負に変化するところが、局地的な極大として考えることから、
第2行目からデータがあるとして
B2セルに=IF(AND(A1<A2,A2>A3),A2,"")ト入れて下方向に式を複写
例データ
A列 B列
1
2
3
4
5
66
5
3
2
3
4
5
6
7
8
99
このB列でMaxをとる。
No.6
- 回答日時:
データがB2:B20000として
=SUMPRODUCT(MIN(10000^((B2:B20000<=B1:B19999)+(B2:B20000<B3:B20001))*(B2:B20000+1))-1)
No.4
- 回答日時:
基本はピーク(極値)の検出,つまり「上りから下りに変わる点」を拾いたいワケですが,実際のデータではそう簡単には行きません。
○比較的簡単な方法
データが大まかにゼロを切る点から次のゼロを切る点が「一つの山(もしくは谷)」ですから,その区間ごとに最大値(若しくは最小値)を拾ってしまいます。
山を含んでいれば良いので,区切りが多少ずれていても問題ありません。
一つ一つの山の高さを拾い出せば,あとはその中から一番小さいの(MIN)を拾うだけです。
○ノイズの問題
生データを直接採取していた場合の主な問題の一つとして,しばしば主たる周波数の上に高周波のノイズが乗っています。つまり単純に「増加から減少に転じた」(前のデータと次のデータを単純に引き算して増減を判断する)だけで検出しようとすると,細かいノイズのイチイチのピークを拾ってしまいます。また前述の方法で生の最大値を拾ってしまうと,ノイズ分だけ上乗せした値を拾う可能性が高くなります。
この問題を解決するため,測定系にローパスフィルタをかませて適切なレンジでノイズ切りをしてあれば,そのままデータを使えます。
データ(つまりグラフ)をよく見てノイズが乗っているような時は,簡易にはノイズ周波数をつぶせそうな個数で「移動平均」をとってもしまう場合もあります。
この回答への補足
keithinさん
ご回答ありがとうございます。とてもうれしいです。
上記「比較的簡単な方法」の一つひとつの山を拾う方法ですが、具体的に
エクセル関数など方法を教えて頂けませんでしょうか。
自分でもいつの山(測定電圧値が0付近になるところ)を探す方法を考えて
いるのですが、うまくいきません。
申し訳ありません。
よろしくお願いいたします。
No.3
- 回答日時:
作業列を使って、頂点を抜き出してそこから最小値を探しては?
添付画像の例では、C3セルに=IF(MAX(B2:B4)=B3,B3,"") と入れて下にコピーしています。
この式は前後合わせて3点のデータを比較し、自行の値が一番大きければ頂点と判断して値を表示しています。
実際には前後3点程度ではちょっとした山も拾ってしまうでしょうからもっと幅を広げた方が良いと思います。

No.2
- 回答日時:
こんな感じではどうでしょうか。
外れていたら無視してください。3列目を作業列として、3列目に各ピークの値を取り出す方法です。
3列目2行目に
=IF(AND(B2>B1,B2>B3),B2,"")
下へ必要数ドラッグ
これでC列に各ピークの値が表示される
後はMIN関数で。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで沢山のレコードの最後に追記するには? 7 2023/04/10 13:27
- Excel(エクセル) エクセルで重複データを行ごとに抽出したい 4 2022/12/05 08:18
- Excel(エクセル) エクセルのデータの抽出について 3 2022/09/15 23:56
- Excel(エクセル) Excelマクロの差分抽出のコードを教えていただきたいです。 2 2023/03/14 11:40
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Excel(エクセル) Excelでデータを抽出するに良い方法 9 2023/02/06 12:42
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Windows 10 Windows10の回復環境 2 2023/02/03 19:13
- Excel(エクセル) Excel(エクセル)でフィルター抽出後、非表示の行を計算しないで、合計を算出する方法 【内容】 添 4 2023/01/30 17:17
- Excel(エクセル) Excelでのデータ管理 6 2022/12/24 09:33
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで隣のセルと同じ内容に列...
-
更新前と更新後の差分をVBAを使...
-
エクセルのピボットテーブルに...
-
エクセル、正数のみの集計[(負...
-
エクセルについて!!
-
値の入っているセルのうち、一...
-
エクセル 8ケタの数字から日数...
-
【エクセル】区切り位置で分割...
-
Excel関数:「0」を除いた標準...
-
複数の候補列から、検索値と一...
-
エクセル関数について教えてく...
-
SUMIFで数値が入力されているセ...
-
エクセルで・・・
-
DSUM条件範囲の指定について
-
Excel関数で、範囲内の最後のセ...
-
EXCEL 階段状のグラフ
-
Excelの集計で65000行のデータが?
-
ピボットテーブル 0個の行を...
-
エクセルに入力された日付「S40...
-
エクセル マクロ 連続する空...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで隣のセルと同じ内容に列...
-
【エクセル】区切り位置で分割...
-
更新前と更新後の差分をVBAを使...
-
Excel関数:「0」を除いた標準...
-
値の入っているセルのうち、一...
-
SUMIFで数値が入力されているセ...
-
エクセル、正数のみの集計[(負...
-
ピボットテーブル 0個の行を...
-
エクセルに入力された日付「S40...
-
エクセルで何種類のデータがあ...
-
SUMPRODUCT関数 行が増えても...
-
Excel関数で、範囲内の最後のセ...
-
複数の候補列から、検索値と一...
-
エクセル 8ケタの数字から日数...
-
EXCEL 階段状のグラフ
-
エクセルVBAを使ってセルに日付...
-
Excelのマクロで行を間引きたい
-
エクセル日付 文字列の関数がエ...
-
《エクセル2000》重複している...
-
入力するとかってにセルの色が...
おすすめ情報