• ベストアンサー

ExcelのVBAで効率的プログラムについて

あいあい わーるど(@IIWorld)の回答

回答No.1

ご回答します。 VBAと記載していますが、関数で十分可能です。 1.表の左側欄外に、オーダーと記号を連結した列を作成する 2.VLOOKUP関数を利用して、検索する。 =VLOOKUP("23A",a2..D100,4,false) 上記の関数のパラメータは多少誤りがあるかもしれません。 ヘルプとかで研究してみてください。 よろしくお願いします。

osietekk
質問者

補足

ありがとうございます 私の理解が浅いのか、どうやってオーダーと記号を連結した文字列で、VLOOKUPをかけるのでしょうか エラーになるように思うのですが、 何か方法があるのであれば、宜しくお願いします また、それは検索項目が複数ある場合にも活用出来るでしょうか

関連するQ&A

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

    こんにちは。ExcelVBAを最近はじめたばかりの初心者です。 とある一列にランダムな値の数値が並んでいるとして、その数値列からの最大値(最小値)を検索し、その検索された値を用いて計算を行う、 ということは出来ないのでしょうか?書籍や検索システム等活用しましたが、なかなかこれという例がないのでこちらに質問させていただきました。 例えばこんな表があるとすると  1   2  3 . . A 14 35 25 B 67 46 37 C 32 73 85 . . この表の第1列の最大値を検索     第2列の最大値を検索     第3列の最大値を検索 した後、最大値同士の平均値を計算するというプログラムを作成したいです。 また、同じプログラムの内容を用い、たとえ表の値の並びが違ってる他のExcelデータを用いても、同様に処理できるようにしたいです。 どうかよろしくお願い致します。

  • Excel vba の書き方教えてください。

    書き方が分からないのでおしえてください。 やりたい動作は下記になります。 データは Sheet1のA列にIPアドレスだけ書いてあります。 Sheet2のA列にはIPアドレス(例 111.111.111.*) B列には名前(例 honsya) Sheet3のA1にはAAAAA、 A2にはBBBBB が書いてあるシートがあります。 (1)処理が完了したデータを記入するシート(シート名:完了)を作成。 (2) Sheet1のIPアドレスを第3オクテッド目までの値が同じものをSheet2のA列から探します。 (3)探し出したA列の値の右よこのB列の値を作成した完了のシートに書きだします。 その際 Sheet3に記載されているデータと検索対象のIPアドレスをB列の値にくっつけます。 ↓こんな感じに AAAAA "[B列の値]([検索対象のIPの第4オクテッド])" [検索対象のIPアドレス] BBBBB この状態のものが 完了 のシートに書きだされるようにしたいのです。 ここ数日これで悩んでて解決しないのでどなたか助けてください。

  • エクセルVBAで質問です

    下のような表を作っています。 A列に日付がある限り、B、C、D、E列それぞれの列に対して、 3行目以降のデータが検索値と同じであれば、そのひとつ上の行の 値をG、H、I、J列にそれぞれ上から順に入れていきたいのですが、 どのようになるでしょうか。 A1 月日 B1 検索値1・・・B3以降データ C1 検索値2・・・C3以降データ D1 検索値3・・・D3以降データ E1 検索値4・・・E3以降データ G2以降に検索値1で調べた値 H2以降に検索値2で調べた値 I2以降に検索値3で調べた値 J2以降に検索値4で調べた値 例えば、B1の検索値が1であり、B10に1があったとします。 この場合、ひとつ上のB9の値をG2に来るようにしたいのです。 説明下手ですが教えていただけないでしょうか。

  • VBAのプログラムで質問です。

    行 列 値 1 1 … 2 1 … … … … N 1 … 1 2 … 2 2 … … … … N M … このような行列番号とその値がテキストファイルにあります。 ところどころにデータが飛んでいて、そこの値は0です。 これからエクセルにN*M行列の表を作りたいのですが、 この値が0のデータが飛んでいるのがやっかいで プログラム初心者の私は全く検討がつきません。 お助けください。 お願いします。

  • Excelで、少しプログラムのようなことがしたいのですが・・・

    『A.csv』と『B.xls』のように、別々のexcelfile(または、sheet)で、どちらにも同じ項目の『C』という列があるとします。 その列の入力されているデータ(数値)が一致したとき、『B.xls』のfile(または、sheet)の『C』という列のセルにそのデータ(数値)記入させる。 …みたいなプログラムをExcelでしたいのですが、できるでしょうか?

  • エクセルのVBAで並べ替えの処理

    1つの表に日付、数値、文字列のデータがあります。 優先順位を(1)日付(2)数値(3)文字列とし、全て昇順での処理を書きたいのですが、お分かりの方がいらっしゃいましたら、処理方法をご教授下さい。よろしくお願いします。

  • Excel VBAでのプログラム作成方法

    次のようなことができるプログラムをVBAで作りたいと考えています.概略どのような考え方で作ったらいいか初心者向きに教えてください. ・Excelのシート上にA1~A100,B1~B100,C1~C100までの表を用意し,A,Bにはいずれも予めデータ(文字列)が入っています.Cは空欄です. ・フォーム上にボタンBT1,BT2,BT3を設けます. ・フォーム上にテキストボックスC,D,Eを設けます. 操作は,最初は,表の先頭のデータA1,B1,C1をテキストボックスC,D,Eにそれぞれ表示します.表示された内容に従って,BT1,BT2,BT3のいずれか一つのボタンを押す.どのボタンを押したかの記号をC1の欄に書き込みます.ボタンを押した時点で,次のデータA2,B2,C2が表示されます.これを繰り返し,データが100になった時点で,最初に戻ります. このような機能をもつプログラムを作りたいのですが,どのような作り方をすればいいでしょうか.

  • Excel VBA

    Sheet1は個票データで、 第一列にid番号、第二・三・四列にそれぞれの属性の種類が(数値で)入っているとします。 (例 id 性別 年齢 身長) Sheet2には、 第一・二・三列にSheet1の第二~三列に対応する属性の種類が辞書的順番に網羅されていて、 第四列に、第一~三列に対応する値が入っているとします。 (例 性別 年齢 身長 体重) このときSheet1の第五列に、Sheet2の第四列から対応する値を貼り付けるには、 どのようなプログラムを書けばよろしいでしょうか。 よろしくお願いします。

  • excel VBAについて質問します

    excel VBAについて質問します A列のセルには単なる数値や「44+30」のようなデータが入っているものがある。 ' + の記号があったら、セルの先頭に = を追加して計算させて答えを表示しなさい。 'マクロ実行後、A列には、数値だけが表示されることとする。 マクロ実行前   ⇒  マクロ実行後 22   --------------- 22 44+30 --------------- 77 35 -------------------- 35 22+11 --------------- 33 こういった感じにしたいんですがなかなか上手く行きません。

  • Excelの関数について

    Excelの関数について 私のExcelは2003です。 表を作っていて A列とB列に数値を入れてその合計をC列に自動的に出すようにするのは C列に「=SUM(A3,B3)」と入れますよね? 1日数回のデータを取り A列とB列に数値を入力し 1ヶ月ほどデータを取り続けるので その分C列に入れた関数を下へセルの右下にポインタを合わせて十字の記号を出して 下へ関数を入れたのですが その場合C列には0と表示されますよね? これは防げないものなのですか? 後、そのC列に表示された合計値を 次の行のA列に表示させたいのですが そういう関数はありますか? C列の合計値に次の数を足して、合計値をどんどん増やしていくので 例えばC1の値をそのままA2に表示。 C2の値をそのままA3に表示 C5の値をそのままA6に表示としたいのですが 関数があったら教えてほしいです。