• ベストアンサー

Excel2007で極端に大きい数値を探す

タイトルの通り、Excel2007に貼り付けたデータ羅列の中から、極端に大きかったり小さい数値を探したいです。 例えば、MAXが100までのデータ羅列で 100 70 10 50 70 30 -10000000 20 50 300000000 50 40 このようなデータ羅列があった場合 -10000000と300000000を探す方法を探しています。 また、出来ればその極端に大きい数値を0に置き換えることが出来ればベストです。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.9

#8です。お役に立つかどうかは不明ですが、#8の操作をマクロ化するとこんな感じです。 対象範囲を選択してから実行します。2番目のシートを作業用シートとします。 作業用の名前を付けて実行し、用済み後は削除しています。 マルチコア対応の最近のCPU+Excel2007以降なら配列数式も速いかも... Sub test() Dim targetRange As Range, multiplyRange As Range Set targetRange = Selection ActiveWorkbook.Names.Add Name:="table", RefersTo:="=" & targetRange.Parent.Name & "!" & targetRange.Address(True, True, xlA1) Set multiplyRange = Sheets(2).Range(targetRange.Address) multiplyRange.FormulaArray = "=IF((table>100000) + (table<-100000),0,1)" multiplyRange.Copy targetRange.PasteSpecial Paste:=xlPasteValues, operation:=xlPasteSpecialOperationMultiply multiplyRange.Clear ActiveWorkbook.Names("table").Delete End Sub

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (8)

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.8

1.データが入った範囲に、例えばtableという名前をつけます。 2.別のシートの、上記範囲に相当する領域のセル群を選択し、 {=IF((table>100000) + (table<-100000),0,1)} といった式を入力して、Ctrl+Shift+Returnで確定します。100000のところはお好きな数値に変更して下さい。 配列数式です。{}は自動で付きますので入力無用です。 これで、極端に大きな、または小さな値に相当するところのみ0で、他は1というマトリクスができます。 3.2で作成したマトリクス全体をコピーし、1のデータ範囲の左上隅のセルを選択し、 形式を指定してコピーで、値、乗算を指定して実行します。 これにより、極端に大きいまたは小さい数のみ0が乗算されて0になり、他は1が掛けられるので元のまま残ります。 ご参考まで。

全文を見る
すると、全ての回答が全文表示されます。
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.7

目的がよくわからないのですが、特定の数字範囲に入らないデータを一目で見分けたいだけなら、条件付き書式を利用するのがわかりよいかもしれません。 たとえば、プラスマイナス100未満の数字以外のセルを赤く表示させるなら、A1セルからデータ範囲を選択してホームタブの「条件付き書式」で「新しいルールから「数式を使用して・・・」を選択して「=ABS(A1)>100」と入力して「書式」ボタンから塗りつぶしを赤などにします。 ただし、このような条件付き書式を設定したシートに他のアプリケーションからデータを貼り付けるときは、右クリックから「形式を選択して貼り付け」で「テキスト」や「値」を選択して下さい。

全文を見る
すると、全ての回答が全文表示されます。
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.6

>データ羅列の中から、極端に大きかったり小さい数値を探したいです。 >また、出来ればその極端に大きい数値を0に置き換えることが出来ればベストです。 例えば、A列にデータが入力されている場合「=(ABS(A1)<100000)*A1」のような数式を入力すれば、極端に大きかったり小さい数値を「0」に、それ以外の数字はそのままの表示になります。 実際それらの極端な数字を「0」にして、その後どのようなことがしたいのかによって、もっと効率的な(例えば直接計算する)数式なども考えられると思います。

全文を見る
すると、全ての回答が全文表示されます。
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.5

ANo1 merlionXXです。 > 最大値、最小値、を求めるだけでは出しきれない状態で、 いくつもあるということですか? ならば、 =LARGE(A:A,2)  で、2番目に大きな数が求められます。 引数の2の部分を変えれば何番目でも求められます。 同様に、 =SMALL(A:A,3) で、3番目に小さな数が求められます。 でも並べ替えするのが一番早いと思いますが・・・。

全文を見る
すると、全ての回答が全文表示されます。
  • yomyom01
  • ベストアンサー率12% (197/1596)
回答No.4

>極端に大きかったり小さい数値を探したい 昇順と降順で並べ替える

全文を見る
すると、全ての回答が全文表示されます。
  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.3

曖昧な探し方はできませんので。 並び替えをして上から順に数値をみて判断してください。

全文を見る
すると、全ての回答が全文表示されます。
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! VBAでの方法になりますので、参考にならなかったら読み流してください。 >極端に大きかったり小さい数値を探したいです。 の部分で極端に大きい値・極端に小さい値はどの程度を指していらっしゃるのか判らないので、 勝手に100より大きい値・または0より小さい値の場合は「0」にするようにしてみました。 画面の左下にあるSheet見出しの操作したいSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので、 ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → 実行です) データはA列にあるものとしています。 Sub test() 'この行から Dim i As Long For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row If IsNumeric(Cells(i, 1)) Then If Cells(i, 1) > 100 Or Cells(i, 1) < 0 Then '←この行で「極端な値」を調整してください。 Cells(i, 1) = 0 End If End If Next i End Sub 'この行まで 尚、一旦マクロを実行すると元に戻せませんので、別Sheetのコピーしてマクロを試してみてください。 以上、的外れならごめんなさいね。m(__)m

全文を見る
すると、全ての回答が全文表示されます。
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

仮にデータがA列内にあるなら、 最大値は =MAX(A:A) 最小値は =MIN(A:A) で、求められます。 値がわかれば、「置換え」で書き換えできますね。

RocoSoma
質問者

お礼

回答ありがとうございます。 私の説明が不足していたため、補足させていただきます。 先ほどの数列は、解り易くするためにかなり省いていました。 100 70 10 50 70 30 -10000000 20 50 300000000 50 40....とあるのですが 例えばその中には15878456や-58755648など、極端に大きかったり小さいという特徴はあるものの様々な数値が混ざっているのです。 最大値、最小値、を求めるだけでは出しきれない状態で、置換えもいくつも値を指定しなければならない状態です。 希望としては X<0 100<X で、Xを検出する方法、というようなものを探しています。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excel折線グラフ作成でマイナス数値が出ない~!

    Excel初心者で申し訳ないのですが、上記の通りマイナス(負)数値が折線にならず、 0以下の数値は全て0値となってしまいます… -500~3000までを「数値形式」でグラフ化しようとしていて、 Y数値軸の目盛最小値はきちんと-500に設定しています。 また、データ範囲指定は、△500~2500までの数値が入力された行で、問題ないかと思います。 バージョンはExcel2000です。 情報が足りなければ補足いたしますので、至急お願い致します!

  • EXCEL棒グラフの変形

    EXCEL2000を使用しています。 縦棒グラフを作成した時に、当然のように元データの数値の大きさによって ある縦棒(元データの数値の大きい)のみ極端に長くなってしまうと思います。 そこで、他の短い(元データの数値の小さい)他の縦棒と高さをある程度、 合わせるために、長い縦棒の中間辺りに省略の『~』を入れて、 長い縦棒ののみを他の縦棒と比べて極端に長くならないようにしたいのですが、 可能でしょうか?

  • エクセルで平均値を出す時に極端に少ない数値を除外

    エクセルで平均値を出す場合、0を計算に入れない式がありますが、更にもう一つ条件として、極端に少ない数値も計算に入れない式はありますか? 例えば50~70辺の数字が並んでいて、その中に10とか20とか極端に少ない数字がある場合、その数字は平均値を出す計算に入れたくないのです。 例として20以下の数字は計算に入れない場合の式を教えて頂けないでしょうか?(0と20以下は計算に入れない) 宜しくお願い致します。 office2003です。

  • Excel2007 で、式は消さず、数値と文字を消すには?

    Excel2007 で、式は消さず、数値と文字を消すには? 前年度のsheetがあります。 今年度用に直すのに、式は残し、数値や文字は消す方法を教えてください。

  • (エクセル)複数のセルの数値を、一つのセル羅列したい

    いつもお世話になります。 エクセル初心者(マクロも関数も;;)です。 表題の通り、複数のセルにある数値を一つのセルにまとめる方法を探しています。 例えば、 --------------------------     A   B   C   D 1   123  45   67  1234567 2   00   11   22  001122 -------------------------- のようにDの縦列にA・B・Cの数値を (合計ではなく)羅列させたいのです。 すごく初歩的な質問のようなことだと思いますが これがわかりません。。。 どうか簡単な方法を教えて下さい。 あと数値じゃなくて文字列でも同じような事ができるでしょうか? 環境:Excel2003

  • EXCEL関数 MAX関数と複合的に・・・・

    EXCEL関数に関する質問です LAFT関数で抽出した数値群をMAX関数で最大値を導きたいのですが、「0」が帰ってきてしまいます。 1.1-1.1 1.6-2.5 2.4-4.7 と縦に3つ並んだセルのそれぞれ「-」より左の数値を、 関数 =LEFT(A1,FIND("-",A1)-1) で 1.1 1.6 2.4 と必要な数値を抽出し そのあとこの3つの数値の中の最大値を求めるために 関数 =MAX(B1:B3) を使ったのですが答えは「0」となります。 違う関数を使ってもOKですので、最大値の答えを得る方法を教えてください。

  • 肝機能 (GOP、GPTなど)の数値は短期間で極端に動くことはありますか。

    タイトルの件ですが、この数値は例えば体調や食事、一般的な薬などの服用で日によって極端(例えば数ヶ月で2倍、3倍にとか)に動くことはありますか。

  • 横に長いグラフを印刷するとき、第2軸の数値を入れたい

    Excel2007です。 横に長いグラフを作っていて、第2軸としてグラフの右側の縦軸にも数値が入っています。 印刷するとき、(横に長いため)数ページになるのですが、第2軸の数値が入らないので、分かりにくいです。 グラフが数ページにわたる場合でも縦軸の数値を入れる方法はありますか? (印刷タイトルのように、固定する方法) よろしくお願いします。

  • excel2007でグラフを挿入した後、元データの数値が変わったので正

    excel2007でグラフを挿入した後、元データの数値が変わったので正しい数値を入れると、最初はグラフの数値も正しいものに変わったのですが、あくる日にまた元データの数値を変えたらグラフが変わりません。元データの数値を変えても変化しないのですが、どうしてでしょうか?  特に変わったことをした記憶がないのですが、、。とりあえず間に合わせるために、新にグラフをいれたのですが。どうして、グラフが変わらないのか教えてください。 よろしくお願いします。

  • [Excel]複数の数値から条件にあった数値の抽出

    こんばんわ。 Excel中の数値の列(A)から別の数値の列(B)中の数値と一致しない数値を抽出することはできるのでしょうか? ただし、ここでの『一致しない』とは、数値の列(B)中の数値と誤差±0.5の範囲にないということです。 例えば、以下のようなことができれば良いのです。 A   B 0.5   1 1.2  5 7   8 9   10 →    抽出結果 7, 9 この様なことはできるのでしょうか?できたら方法を教えてください。また、このようなことができるフリーソフト等があるというような情報も大歓迎です。 Excelについては初心者であり、数値を打ち込んだり四則演算ができる程度です。 どうか皆さんのお力を貸してください。よろしくお願いします。 ちなみに、ExcelはMicrosoft Excel 2007を使用しています。

オーディオのノイズ
このQ&Aのポイント
  • スピーカーにノイズが発生する問題が発生しています。
  • Lenovoのノートブック(IdeaPad・Lenovo等)でオーディオ再生時にノイズが発生しています。
  • ノイズが発生する原因は不明ですが、解決策を教えてください。
回答を見る

専門家に質問してみよう