表を参照して値を入れていくマクロ

このQ&Aのポイント
  • 表を参照して値を入れるマクロについて質問があります。
  • 送り先シートの特定の列に料金表を参照して値を入れる方法についてお願いします。
  • 送り先シートと料金表のカテゴリーが常に同じで、空白の値に対応する記号の値を入力したいです。
回答を見る
  • ベストアンサー

表を参照して値を入れていくマクロ

こんにちは。丸投げの質問はだめでしょうか。 お願いできたら大変助かります。 [送り先]シートのF、L、Rの列に[料金表]の記号を参照して 入れていくというものです。 送信しようとすると、行と列の表示がぐちゃぐちゃになるので 表現できないかもしれないので心配です。。 [料金表] N O P Q 37 記号 上 中 並 38   A 100 80 60 39 B 90 70 50 40 C 80 60 40 ※見出しは37行目 [送り先] E F L R 5 記号 上 中 並    6 B 90 70 50 7 A 100 80 60 8 C 80 60 40 ※見出しは5行目 ※ちなみにF L R列の上・中・並のカテゴリーはF4、L4、R4をセル番地としてセルの結合しています。 [料金表]シートには記号、上・中・並などのカテゴリーがあります。 これらは[送り先]シートの記号・カテゴリーと常に同じです。 [送り先]シートにはあらかじめ記号と上・中・並などのカテゴリーは入って います。値が空白になっているので、記号に対応する値を、それぞれのカテゴリー 別に入れていきたいのです。 記号は例のようにABCのように昇順であるとは限りません。 どうぞよろしくお願いします。

  • newme
  • お礼率54% (218/400)

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

  • ベストアンサー
  • kuma3f
  • ベストアンサー率63% (28/44)
回答No.1

思われていることと違ったらすみませんが、送り先シートの値を入れるセルに VLOOKUP関数をつかわれたらいかがでしょうか。 だだし、料金表シートの記号の列がA,B、C…と昇順になっていることが 前提です。値を入れる送り先シートは昇順でなくてよいです。 送り先シートのF6に =VLOOKUP($E$6:$E$8,料金表!$N$38:$Q$40,2,TRUE) を入力、F列の値を入れるところは、F6の関数をコピーして貼り付ける 送り先シートのL6に =VLOOKUP($E$6:$E$8,料金表!$N$38:$Q$40,3,TRUE) を入力、L列の値を入れるところは、L6の関数をコピーして貼り付ける 送り先シートのR6に =VLOOKUP($E$6:$E$8,料金表!$N$38:$Q$40,4,TRUE) を入力、R列の値を入れるところは、R6の関数をコピーして貼り付ける 関数の $E$6:$E$8 ところは、送り先シートの「記号」の列の範囲を 絶対参照で記述してください。 関数の 料金表!$N$38:$Q$40 ところは、料金表シートの記号を含むデータの 範囲を絶対参照で記述してください。

newme
質問者

お礼

ありがとうございました。

関連するQ&A

  • エクセル2013 マクロをご教示ください

    Sheet1 4行目に見出し。 5行目A列からU列までデータが入力されています。 中には空白セルもあります。 1行目から4行目迄はロックされています。 5行目以降の、あるセルをアクティブにすると、 該当行のC列からS列迄を Sheet2のA列を先頭に 5行目にコピペするには どうしたら宜しいでしょうか? Sheet2も4行目が見出しです。 Sheet1でのアクティブセルは 複数の場合もあります。 ただし、同じ行でセルを複数アクティブにしても Sheet2への貼り付けは1行とします。 よろしくお願いします。

  • 作成の表の値を別シートに移したい

    Sheet1に画像の表にあるように、Sheet1のC列のA+Bの結合番号の数字(例えば11とか118とか15007など)をSheet2のあるセルに入力すると、Sheet2へSheet1のD・E・Fのセルにある数字が移るようにするには、関数はどのようにしたらよいでしょうか。Sheet1のC列セルの「BC結合番号」はランダムの数字で最高7桁、最低1桁ですし、同一番号が「BC結合番号」(空欄セルがあるので)とびとびの行に1桁と2桁の数字が出てきます。また、A列セルの番号は50行程度こどに2・3・4・・・・30ぐらいまでと増えていきます。当然、D・E・Fのセル値はSheet2へ移行した時は、単独で評値が入るようにしたいのです。また、リンク貼り付け以外の方法でやりたいのです。(初心者でマクロは使えません。)

  • 絶対参照

    よろしくお願いします。 シート内全てのセルに"$"を一括でつけることは可能でしょうか? ちょっと大きな計算表を作った際に、その表を違うシートに貼り付けようとすると、列と行がずれてしまうことに後になって気づきました。 F4で一つ一つつけていたのですが、あまりに量が多いため、もし一括で$がつけられる方法があればと思い質問いたしました。

  • エクセルマクロで表の途中の集計行と合計行追加

    こんなことできますか? エクセルの表が各シートに一つずつあります。 B列からR列まで使用しています。 始まりは3行目で見出し行です。 データは4行目以降ですが、これは各シートごとに最終行は異なります。だいたい120行から200行程度です。 途中に空白はありません。 この表はS列の数値(12種類)により分類され並べ替えてあります。 やりたいのは、S列の数値を見て、分類(同じ数字)ごとに集計する行を追加したいのです。 集計する列は、D~K列だけです。 そして、最終行に全部の合計も出したいのです。 ただ、量が多いのと、頻繁に行なう作業なのでマクロでささっと出来ないかと思います。 どなたかどうすればよいか教えてください。 なにとぞお願いします。

  • 表を指定範囲内にコピーする

    シート1で表を作りコピーボタンを押すと、その表を別のシートにコピーするにはどうすればいいのですか?(コピーボタンは、シート1内にある物とする)条件として、別のシートのC列~N列の間で最終行の次の左端にコピーするものとする。また、C列~N列以外にデーターがあっても関係ないものとする。例、シート1の表(B1~L24)をシート2にコピーするとする。シート2を見るとA20,F15,P18にデーターがあります。A20とP18はC列~N列の範囲外で範囲内にあるセルF15によりセルC16からコピーするにはどうすればいいですか。また、実際には、シート2のデーターは決まっていません。 よろしくお願いします。

  • EXCELの表を参照して値を返す方法

    例えば下記のような表があるとします。 表1(シート1)  A列  B列  ~10  A 11~20  B 21~30  C 31~50  D  ・  ・  ・ 151~  Z 表2(シート2) 45   X 21   X 133   X Xの箇所に表1のA列を参照してB列の値(AとかC)を返す方法はないでしょうか?IF文を使った場合7レベルまではできるのですが、それ以上のネストは無理なようです。ちなみに表1は30分類(行)ほどあります。 よろしくお願いします。  

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

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

  • 【再】エクセル2013 マクロをご教示ください

    Sheet1で選択しているセルの行をSheet2に転写したいです。 Sheet1とSheet2の4行目に見出し。 Shet1にはA~U列までデータがあります。(途中空白セルの場合もあり) Sheet1の5行目以降の、あるセルを選択してマクロを実行すると Sheet1のC~S列までをSheet2のA~Q列へコピペしたいです。 Sheet1は H列に必ずデータがあるので それらを最終行の判断基準とします。 Sheet1での選択セルは複数の場合もあります。 ただし、同じ行のセルを複数選択しても Sheet2への貼り付けは1行とします。 マクロを実行する度に、Sheet1での選択セルの該当行が Sheet2へ追加されるようにしたいです。 (Sheet2へコピペされたデータは残します) また、Sheet2への貼り付け内容が同じだった場合は 注意喚起のため メッセージで 「重複データが存在します」を表示したいです。 重複の判断基準はSheet2の B、D、F列とします。 宜しくお願い致します。

  • エクセルで、2つのセル値(2つの条件)から、別シートの表から該当する値を参照する方法

    シート(1)のA列とB列のセルに入力されている値を元に、 シート(2)の表を参照し、該当する値をシート(1)のC列に 表示させる方法があれば 教えて頂けると助かります。 なおシート(1)のA列は、参照するシート(2)の表の列タイトルに対応し、 シート(1)のB列は、シート(2)の行タイトルに対応するマトリックス表に なっております。 また、この列行タイトルの表記は「1から」または「1から9まで」 という範囲での表示になっています。 (例:シート(1)元データ) No| A列 | B列 | C列 | --------------------------------- 1 | 07  |  22  |  20 | ←C列は、シート(2)表を参照  2 | 18  |  15  |  30 |        3 | 01  |  09  |  05 |       4 | 21  |  03  |  30 |  5 | 30  |  28  |  35 |  (例:シート(2)参照する表) A列\B列 | 1~9| 10~19 | 20~29 | -----------------------------------   01~  | 05  |  10  |  20  |         05~  | 15  |  15  |  20  |           10~  | 20  |  25  |  30  |        15~  | 25  |  30  |  30  |    20~  | 30  |  35  |  35  |  現在、手作業でC列への入力を行っております。 何とか、作業効率を上げたいと思っておりますので、 ご指導下さいます様 宜しくお願い致します。

  • エクセルのマクロで、セルの値を参照してジャンプ

    エクセルのマクロで、セルの値を参照して、 別シートにジャンプして貼り付けたいと思っています。 <Sheet1>  |  A  B  C ------------------------------------ 1|  A1  あ  100 2|  B5  い  50 3|  C7  う  80 4|  D3  え  20 5|  E9  お  40 <Sheet2>  |  A  B  C  D  E ------------------------------------ 1|  あ 2|  100 3|         え 4|         20 5|    い 6|    50 7|       う 8|       80 9|            お 10|            40 といったイメージです。(お分かり頂けますか?) Sheets1!B1:C1を選択し、A1のセルの値を参照して、Sheets2!A1にジャンプして、 行列入れ替えて貼り付ける、といったマクロを組みたいのですが、 セルの値を参照する部分が分かりません。 実際はSheets2の様なシートは複数あり、1つのリストから複数の形式を変えた表を 作りたいと思っています。 Sheets2以降のシートに見出し行を加え、VLOOK関数を組み込んだ表を作っておき、 結果を貼り付けて見出し行を削除する、といったマクロは組めるのですが、 セルを参照してジャンプして貼り付けてくれると便利だと思い質問させて頂きました。 どなたかお知恵を拝借できましたら嬉しいです。 宜しくお願い致しますm(_ _)m

専門家に質問してみよう