• ベストアンサー

ExcelVBAにて、検索した数値を計算する方法

sirochachaの回答

回答No.1

例を探すよりもご自分で模索した方が身に付くと思いますが・・・ まずご質問の要件が完全ではないので具体的な回答は控えますが ・列ごとにデータの行数が異なるか否か ・データの途中に空白があるか否か ・仮保存にセルを使うか変数を使うか ・データ処理にエクセル関数を使うか自分でロジックを作成するか ・VBAと言ってもマクロを記録>保存>実行なのかソースから作成するのか否か などの条件によって回答が異なります ですが、ご自身で書かれた >この表の第1列の最大値を検索     第2列の最大値を検索     第3列の最大値を検索 した後、最大値同士の平均値を計算するというプログラムを作成したいです をそのままプログラムにするだけです 1:第一列の先頭から順に終端まで走査する 2:前回または仮保存したデータより大きな値があればその値に書き換える 3:1・2を行いたい列数分繰り返す 4:揃った仮保存データから平均を計算する これを自作ロジックなりワークシート関数なりで処理していくだけです 頑張ってください

mechakiyu
質問者

お礼

まずはご回答ありがとうございます。 楽な道で実践しようとしているようで恐縮ですが、 急を要する作業なので、模索している時間なく、わかりやすい例だけ求めざるを得なくなっている状況です。 あと、例を複雑にしすぎたことをお詫びいたします(ほぼワンコマンドでできる方法があると思っていました) 私が一番知りたい事は、 ランダムに数値が並んでいる表のある列の中から、最大値(最小値)を検索し、検索された数値のセルを選択している状態にする と言う事です。 今まで調べた分かっている事を述べると、 ・検索を行うといってもCELL関数を用いてのaddressやcontentsなどは任意のセルに検索された値を返してくれるだけで選択してくれない。 ・条件付書式でも、検索したいセルを書式などで目立つようにしてくれるが、その検索したい(し終えた)セルを選択してくれない。 ・Ctrl+Fの検索は検索し終えたセルを選択してくれるが、最大値を探すなどの器用な検索は出来ない。 程度の事ですが、他に何か良い方法があれば知りたいと思っています。 それとも何か難解なプログラミングを必要としてしまうでしょうか。 なにかヒント程度でも教えていただければ幸いです。

関連するQ&A

  • 【MATLAB】配列内の数値のキャンセル方法

    MATLAB という汎用数値解析プログラムを使っています。 現在、100×100の配列の中にランダムな数字(0~40)が入ったデータを扱っています。 しかし、中にはマイナスの値や100を超える値も時々入ってしまっています。 できれば0~40の間の値の中で平均値や最大・最小値を算出したいと考えています。 この外れ値を計算せず(もしマイナスや40以上ならその値は無かったことにして)平均値等を出すことは可能でしょうか? if文なども考えたのですが、いまいち書き方が分からず困っています。 どうかご回答よろしくお願いいたします。

  • 列の数値群の数値の抽出方法(VBA)

    エクセルVBAでお願いします。 今、B列にRange(Cells(3,2),Cells(I.2))の範囲にランダムな実数値が 格納されているとします。(Iは変数) この数値群から、正の実数で最小値、または負の実数で最大値を抽出したいのですが、どのようなコードを組めばよいでしょうか。 数値群は大小順ではなくランダムに並んでいるとします。お願いいたします。数値群の数は約20000個あります。

  • 表中から最大値と最小値の見出しを求める方法を教えて

    エクセルで作成した表があります。 表中から行の最大値と最小値の列見出しを求める方法を教えてください。 表は、行に1から1000、列に(1)~(10)とそれぞれ見出しをつけ、表の中には1.000から1.500のランダムな数字があります。 行の番号をB2セルに入れると最大値と最小値の列の見出し{例えば“(5)”というように…)を求めたいのです。行の数字は複数同じ値がある場合もあります。 良い方法がありましたら、教えてください。 よろしくお願いします。

  • Excel_文字を数値に置き換えて計算する方法

    Excel2010使用です。 文字を数値に置き換えて計算したい場合、どのような関数を使えばよいかわからず困っています。 例えば、鈴木=10000、田中=15000、佐藤=30000  ・・・といった具合に数値を設定しておき、 表に人名を入力したら、それを特定の数値に置き換えてひと月分の合計を数値で出したいのです。 人名はB2~B32まで入る予定です。 合計はB33に出したいと思っています。 なるべくこれ以上表や列の挿入はせず、B33のみに計算式を入れて解決できれば理想だと思っております。 説明が下手で申し訳ありませんが、 Excelに詳しい方、お知恵をお貸しいただければと思います<(_ _)>

  • エクセルで行から数値を検索し、検索した数値のある列

    エクセルで行から数値を検索し、検索した数値のある列から左側の全ての合計を求めたいです。   A B C D E F 1  3 4 8 9 11 22 ←数字は隙間なくあるが、値がバラバラ(ただし昇順) 2 3  2~6行には色々な数字がまばらにある 4 5 6 1行目から検索したい数→10(別のセルで数式結果として出た数) ズレてるかもしれませんが・・・ E1セルに書かれている「11」の数字より前のD列、 A~D列の2行目~6行目の合計を各行ごとに別々に出していきたいです、どうしたらいいでしょうか また、表は行も列もデータを追加していく予定です

  • 検索方法教えてください。

    Excel2010使っています。 A列   B列 84149 18500 84149 19700 84150 20500 84151 22900 84151 23400 84151 20500 固有番号(A列)と価格(B列)がずらっと並んでいます。 A列の固有番号は、同じ数字が1個だけだったり5個同じものがあったりとバラバラです。 教えていただきたいのは、A列に固有番号に対応する最小値のB列の数値を検索する方法です。 重複するものがあるので、単純なvlookupとかだとうまくいきません。 初心者なので、なるべく簡単な数式で教えてください。 よろしくお願いいたします。

  • EXCEL―Large関数で取得した数値を%表示へ

    現在次のような式で、 =INDEX(・・・文字列・・・)&":"&LARGE(・・・表中、数値型の%表示・・・) 取得される値は、 "文字列":0.23456 という様になります。表抽の数値は%で表示していますが、取得後は小数点表示に変わってしまします。 これを、 "文字列":23.5% というように、%表記を維持したまま値を返すにはどうしたらよいでしょうか。 表中のランダムな数値を大きい順に並べるため、元の表は数値型を保持する必要があると思ってます。

  • VLOOKUPの表の数値を変更したら使えなくなった

    エクセルで、もともと使えていたVLOOKUPの表の数値を7ケタから4ケタに変更したのですが、 品名がかえされなくなって何も表示されなくなりました。 元表の一列目の表示形式を、文字列にしたり、数値にしてみたりしましたがだめでした。 元表の一列目は品番、二列目は品名です。

  • 入力した数値になるよう組み合わせを計算したい

    A.5~500までの数値を入力 B.1~100までの数値のうち、5つの数値を組み合わせ、Aで入力した値と同様の値となるようにする という計算を行うプログラムを組もうとしているのですが、どういった計算を行えばよいのか分かりません。 ご存知の方いらっしゃいましたらアドバイスお願いします。 ちなみにこれは学校の課題ではありません。個人的な興味です。

  • Excelセル内の条件付最大値抽出方法で困っています

    Excel2003を使用しています。 800件ほどのデータで、縦一列に、カテゴリをあらわす2桁もしくは3桁のアルファベットと数字の組み合わせのデータが入っています。 例) kim2 kim3 kim4 kim343 hon209 hon210 coi4 coi5 sys92 coi9 coi59 ur2004 ur2005 これについて、カテゴリ(kim、honなど)ごとの最大値を求めようと思っています。 カテゴリごとにセルを一列足して、左の文字を抜いた値をセルに入れ、その列ごとの最大値を求めるという方法はわかるのですが、今後カテゴリが増えていくときのために列を増やさなくても計算できる方法を探しています。 表と離れたところに、カテゴリの値を入れたセルを置き、横のセルに最大値が入るイメージで作成しています。 ご教示いただけると助かります。