ベストアンサー ※ ChatGPTを利用し、要約された質問です(原文:【マクロ】数の合計の表を作成【Ecexl】) 【マクロ】数の合計の表を作成【Ecexl】 2016/12/01 17:37 このQ&Aのポイント D、I列に文字と数字が入ったエクセルシートがあります。下記のように、L、Mに合計の表を完成させたいです。今後も同じ作業をしますので、マクロで一気に表を作成できたらと思います。分かる方おりましたら、ご教授いただきたいです。 【マクロ】数の合計の表を作成【Ecexl】 D、I列に文字と数字が入ったエクセルシートがあります。 下記のように、L、Mに合計の表を完成させたいです。 今後も同じ作業をしますので、 マクロで一気に表を作成できたらと思います。 分かる方おりましたら、 ご教授いただきたいです。 ↓↓↓ D I L M ------------------------------------- #1aaa 23 合計 #2 12 #1 77 #1bbb 54 #2 14 #3 33 #3 33 #2ccc 2 #4 1 #4 1 ※「#1」という文字が入っていれば、 そのあとにどんな文章が続いていようと合計する (例:#1と#1aaaは合計する) 画像を拡大する 質問の原文を閉じる 質問の原文を表示する みんなの回答 (1) 専門家の回答 質問者が選んだベストアンサー ベストアンサー bunjii ベストアンサー率43% (3589/8249) 2016/12/02 08:38 回答No.1 >マクロで一気に表を作成できたらと思います。 マクロを使うまでもありません。 SUMIF関数を使えば簡単に解決できます。 M2=SUMIF(D:D,L2&"*",I:I) M2セルを下へ必要数コピーすれば良いでしょう。 プログラミングの学習用でしたら入門書に例題があると思いますので参考にされると良いでしょう。 Excelはマクロウィルスが侵入し易いのでマクロを無効にして使う方が安心できます。 無暗にマクロを組み込むのはお勧めできません。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 1 カテゴリ [技術者向] コンピュータープログラミング・開発Visual Basic 関連するQ&A エクセルのマクロについて教えて下さい。 エクセルのマクロについて教えて下さい。 Sub Ref() Dim ax As String Dim num As Integer, i As Integer Dim arr As Variant Dim tex As String Range("A1").Select ax = ActiveCell.Formula arr = Split(ax, ",") For i = 0 To UBound(arr) num = i + 1 Cells(num, 1).Value = arr(i) Next i For i = 1 To 10 ActiveCell.Offset(, 1).Select tex = ActiveCell.Formula Selection.Resize(num, 1).Select Selection.Formula = tex Selection.Resize(1, 1).Select Next i End Sub このマクロを10行ほどまで対応させたいです。 例として2行の表ですが、 A B C D E F 1 C100,C101,C102,C103 aaa bbb ccc ddd eee 2 C104,C105,C106,C107 とうい表を、 A B C D E F 1 C100 aaa bbb ccc ddd eee 2 C101 aaa bbb ccc ddd eee 3 C102 aaa bbb ccc ddd eee 4 C103 aaa bbb ccc ddd eee 5 C104 aaa bbb ccc ddd eee 6 C105 aaa bbb ccc ddd eee 7 C106 aaa bbb ccc ddd eee 8 C107 aaa bbb ccc ddd eee という表にしたいです。 結合してから展開しようと考えたのですが 1列目の文字列の最後にカンマが無い場合、ある場合がありまして、 対応する事が出来ませんでした。 マクロ初心者なので教えてください。 よろしくお願いします。 マクロの作り方について お世話になっております。 エクセルで次のようなテーブルの自動生成マクロを作成したいと考えておりますが、なかなかうまくいきません。 皆さまのお知恵を拝借いたしたく、お願いいたします。 「Data」シート、「Table」シートの2つのシートをエクセルに用意します。 「Data」シートには、200行2列のデータが予め入っています。 1列目にはaaa.F、aaa.W、aaa.R、bbb.F、bbb.W、bbb.Rといった形の文字列が延々と入っています。 2列目には数字のデータが入っています。 行いたいのは、まず1列目のデータを「.」で区切って、2つの配列「st」と「pr」に入れなおすことです。 ただ、単にsplitするだけですと、1列目のデータを分けた際に、 st=(aaa、aaa、aaa、bbb、bbb、bbb) pr=(F、W、R、F、W、R) といった形で同じ値が格納されますが、ダブっている文字ははじく様にしたいのです。 このため、例えばstについて、次のようなマクロを考えたのですが、これだとstをdebug.Print等で出力した際、一番最後のデータだけしか格納されていませんでした。 Dim C As Variant C = Worksheets("DATA").Range("A1:B65000") Dim D As Variant Dim i As Integer Dim st As Variant For i = 1 To 10 D = Split(C(i, 1), ".") If st <> D(0) Then st = D(0) Debug.Print (st) ↑ここでstを出力している分には、aaa、bbb、cccとダブった文字を省いたすべてのデータが出力されます。 Else End If Next Debug.Print (st) ↑ここでstを出力すると、最後のデータだけしか出力することができません。 st(3)等、特定の要素を出力しようとしてもできないようです。 stをvariant型にしていることが問題なのかもしれませんが、stをstring型のarrayで定義し、各要素ごとに入力すると、st(0)=aaa、st(1)=aaaといった形で同じ値のものも入ってしまいます。 異なった文字列だけ各要素に入力していくにはどのようにマクロを組めばよいのでしょうか? エクセルのマクロ【複数検索&検索結果の合計】 以下のように 【sheet1】にA列B列からなるデータにおいて A列の内容が同じものどうしのB列の値を合計し その結果の大きい順に並べて 【sheet2】に出力するマクロを 作りたいのですが、どうしたらよいかわかりません。 どなたかお分かりになる方いらっしゃいましたら 教えて頂きたくお願い致します。 【sheet1】 A列 B列 aaa 5 bbb 4 aaa 3 aaa 2 ccc 89 bbb 100 【sheet2】 A列 bbb 104 ccc 89 aaa 10 ネットワークエンジニアとは?技術職の未来を考える OKWAVE コラム エクセルマクロVBAのシートのソート エクセルのシート名のソートをマクロでしたいのですが 例えば、aaa1,bbb3,bbb5,aaa12,aaa5,ccc1,vvv2,vvv10を ソート後、bbb5,ccc1,vvv2,vvv10,aaa1,aaa5,aaa12のようにしたいです。 aaaのものだけをソートしてシート後ろに移動できればいいです。 その他はそのままで。 ところが、aaa12のように2桁の数字が入ると上手くソートできず困っています。 If Sheets(i).Name > Sheets(j).Name Thenのようなものでは、数字2桁と数字1桁のグループに 分かれてソートされてしまいました。 どのようにしたらいいでしょうか? Excelにて一覧表から集計表の作成 Excelにて、下記の表a.から表b.を作成したいのですが 関数等使用してスマートに自動生成できないものでしょうか? 表a.一覧表 項目1,項目2 "AAA","あああ" "BBB","あああ" "BBB","いいい" "CCC","ううう" 表b.集計表 ××××,"AAA","BBB","CCC" "あああ", 1, 1, 0 "いいい", 0, 1, 0 "ううう", 0, 0, 1 ランキング表の作成について EXCELで、一ヶ月ごとの障害の種類をランキング表として作成したいと考えております。 どのように作ればよろしいでしょうか? データ 日付 障害の種類 2011/1/12 AAA 2011/1/13 AAB 2011/1/14 BBB 2011/1/15 AAA 2011/1/16 AAA 2011/1/16 BBB 2011/1/17 AAA ランキング表 1位 AAA 3件 2位 BBB 2件 3位 AAB 1件 エクセルで置換方法 下のような表で数字だけ残すにはどうすれば いいでしょうか? マクロとかは難しいのでマクロは使わないで やりたいのですが aaa 100 bbb 200 ccc 300 ddd 4000 eeee 50000 エクセルの文字処理 以前に同じ様な質問があったかも知れませんが、探しきれなかったので教えてください。 A1~A4の4つのセルに以下のスペースが入った文字列が入っていた場合 A1|AAA A2|AAA BBB A3|AAA BBB CCC A4|AAA BBB CCC DDD A B C D 1| AAA 2|AAA BBB 3|AAA BBB CCC 4|AAA BBB CCC DDD という具合にしたいのです。 条件は ・セル内にスペースで区切られない文字列があった場合には、B列に入れる ・それ以外はスペースで区切って、A列B列C列D列に入れる ・文字数は3文字固定ではなく全角半角が混在 以上です。すいません宜しく願いします。 エクセルで教えて下さい。 同じような質問があったらごめんなさい。 エクセルでシート1にデータを入力してシート2に データを整理したいのです。 シート1には重複した行があります、これを シート2には重複した行を省いた表にしたいのですが どうしたら出来るのですか? 出来ればマクロは使いたくない(使い方がわからないです) のですが。 やりたい事 シート1 --------------- AAA|45 AAA|30 AAA|20 BBB|50 CCC|30 CCC|20 シート2 ---------------- AAA| BBB| CCC| ---------------- AAAとCCCの重複している 行を省いてシート2に入力されるように したいです。 宜しくお願いします。 Excel表を集計するプログラム A列に複数の項目(重複もあり)があります。B列に数字が入っています。 A列の項目で重複しているものはMergeします。 それと同時にB列に入っていた数字を合計したいと思っています。 [具体例] 処理前 → 処理後 AAA 1 AAA 7 BBB 3 BBB 7 CCC 4 CCC 4 BBB 4 DDD 2 DDD 2 AAA 5 AAA 1 こんな感じの処理をVBAでしたいと思っています。 教えてください。 よろしくお願いいたします。 オートフィルタについて エクセルにて、ちょっと図がきたないですが、 _項目1_l_項目2_l_項目3_ _____l_aaa_l_aaa_ _111_l_bbb_l_aaa_ _____l_ccc_l_ccc_ というような表を作成し、オートフィルタをかけたのですが、 項目1でフィルタリングした際に _項目1_l_項目2_l_項目3_ _ 111_l_aaa_l_aaa_ としか表示されません。これを項目1でフィルタリングすると項目2、3のaaa、bbb、cccが表示されるようにしたいのですができますでしょうか? 尚、項目1はa1~a3までを結合しています。 よろしくお願いします。 selectでテーブルから2つの値を引っ張る table 123 id name ------- 1 aaa 2 bbb 3 ccc table 987 from to ------- 1 2 2 3 3 1 という表があります。これを from to ------- aaa bbb bbb ccc ccc aaa という様に表示させるためのSQL分がわかりません。 1つの表から2つを引っ張るのはどうすればいいのでしょうか? AIは使う人の年齢や市場にも影響する?人工知能の可能性 OKWAVE コラム エクセルマクロ 特定の文字列を含む行を削除 エクセルマクロ 特定の文字列を含む行を削除 エクセルのマクロについて教えてください。 下の中から列を限定せず、すべての行でAAA、CCCのいずれかがある場合、 その行ごと、すべて削除したいのです。 時に削除したい特定の文字列が数十種類になるため、 マクロ起動時に削除したい特定の文字を記述したファイルを読み込み、それから 削除できるようにしたいのです。場合によってはそのファイルを編集し、 削除したい文字列を変更したいのです。 ご教示いただだけないでしょうか A列 B列 C列 1 AAA BBB CCC 2 BBB CCC FFF 3 DDD BBB FFF 4 AAA CCC DDD 5 GGG RRR UUU 行中にAAA、BBBがある場合、削除したい ↓ A列 B列 C列 5 GGG RRR UUU マクロを実行し、上記の結果にしたい。 Accessの文字列部分一致を合計する関数 お世話になっております。 Access2003の関数で教えてください。 Acces2003のクエリで、 「同じフィールド内で文字列が部分一致した場合、新しいフィールドに 別のフィールドにある数値を合計する、部分一致しない場合は合計せず、 そのままの数値を表示する」 という関数を設定したいと思っております。 具体的に記載しますと、 在庫テーブルがあり、 商品コード 在庫 aaa 10 bbb 20 ccc 15 ddd 30 aaa-1 40 bbb-1 25 ddd-1 20 というデータが入力されております。 この在庫テーブルから新しいクエリで、新しく「在庫合計」フィールド を作成し、このフィールドに関数を用いて、 『「商品コード」フィールドの左3文字が一致した場合、「在庫」フィールドの 数値を合計する数値を表示させ、一致しない場合は合計せずそのままの 数値を表示する』 という形です。 クエリの実行結果としては 商品コード 在庫 在庫合計 aaa 10 50 bbb 20 50 ccc 15 15 ddd 30 50 bbb 5 50 aaa-1 40 50 bbb-1 25 50 ddd-1 20 50 という結果になり、商品コード「aaa」と「aaa-1」や「bbb」と「bbb-1」の「在庫合計」の値 は同じ値(「在庫」フィールドを合計した数値)が表示され、左3文字が一致したデータ がない「ccc」は15のまま、という結果です。 ※ただ、商品コードに重複がございます。(上記例でいうと商品コードが「bbb」です。) 当方VBAは使えないので、クエリで行いたいと思っております。 Accessで難しければExcelの関数でも構いません。 当方初心者ですので、不足な情報がございましたら加筆いたします。 どうぞよろしくお願いいたします。 乱数の発生の仕方について 例えば、セルB1に1月C2に2月という感じで列の指定をして(仮に6月まで)、A2にAAA、A3にBBB、A4にCCCとあったとします。 それぞれ月の合計も決まっていて、AAA,BBB,CCCの合計も決まっています。 その際にセルB2:G4までのなかに乱数を発生させ、表を完成したいと思います。 列のみか行のみならうまくいくのですが、列・行とも考えての乱数ができません。 アドバイスよろしくお願いします。 SUMPRODUCT関数の使い方 A列 aaa aaa bbb bbb ccc ccc と入力して、 「aaa」の個数と「bbb」の個数の合計を求める式を教えてください。 見た限りの答えは、「aaa」が2個、「bbb」が2個で4なのですが B1に 「=SUMPRODUCT(A:A="aaa",A:A="bbb")」 としたのですが、「0」が返ってきてしまいます。 B2に 「=SUMPRODUCT(COUNTIF(A:A,"aaa"),COUNTIF(A:A,"bbb"))」 だと、 4が返ってきますが A列を aaa aaa bbb にすると「3」が返ってきてほしいのに、2になってしまいます。 個数の合計を返す関数式をご教授ください。 Excelシートの統合するマクロなどがありましたらお教えください。 各支店(約200)からExcelシートで送信されてくる報告内容を別のシートに一気にまとめるマクロ等はないでしょうか?ご存知の方よろしくお願いします。 (例) A支店 項目 aaa bbb ccc ddd eee 10 20 30 0 0 8 8 0 0 0 以下約300件 B支店 項目 aaa bbb ccc ddd eee 11 22 33 0 0 9 9 0 0 0 以下約300件 別シートに 項目 aaa bbb ccc ddd eee 10 20 30 0 0 8 8 0 0 0 11 22 33 0 0 9 9 0 0 0 以下省略 よろしくお願いします 数字部分のみ別のセルに移動したいです。 複数のセルの、数字部分のみ別のセルに移動したいのですが、 教えていただけますでしょうか? 例 セルA aaa1234 bbb5678 ccc9874 ddd5642 ↓ セルA セルB aaa 1234 bbb 5678 ccc 9874 ddd 5642 このように、文字と数字を分けたいです。 よろしくお願いします。 グラウンド・ゴルフ集計 A列 B列 C列 D列 順位 チーム名 選手名 合計打数 AAA あああ 30 AAA いいい 31 BBB ううう 30 BBB えええ 35 CCC おおお 32 CCC かかか 33 上記の様なグラウンド・ゴルフの個人成績表から団体合計が出したい。 上記の表はチーム毎に並べ替えした状態ですがAAAチームは10人 BBBチームは6人、CCCチームは30人等チーム数は20チームぐらいになります、各チーム上位4人だけの合計打数の抽出方法を教えて下さい、以前に他のカテゴリーでピッポットテイブルによる方法は教授いただきましたが、他の方法を宜しく、 繰り返しの置き換えマクロで困っています。 繰り返しの置き換えマクロで困っています。 マクロ初心者です。 aaa@bbb_123 111 112 33 240 111_15 220 245 bbb@ccc_111 111 22 33 260 11 220_40 270 上記の場合に、@行の次の行の一番最後の値に、プラス5して置き換えるマクロを作成したいです。 マクロを実行すると下記になる様にしたいです。(240が245、260が265) aaa@bbb_123 111 112 33 245 111_15 220 245 bbb@ccc_111 111 22 33 265 11 220_40 270 @行の次の行の一番最後の値 と プラス5 という形で置き換えしたいです。 どなたか、教えて頂けませんでしょうか 注目のQ&A 「You」や「I」が入った曲といえば? Part2 結婚について考えていない大学生の彼氏について 関東の方に聞きたいです 大阪万博について 駅の清涼飲料水自販機 不倫の慰謝料の請求について 新型コロナウイルスがもたらした功績について教えて 旧姓を使う理由。 回復メディアの保存方法 好きな人を諦める方法 小諸市(長野県)在住でスキーやスノボをする方の用具 カテゴリ [技術者向] コンピューター プログラミング・開発 Microsoft ASPC・C++・C#CGIJavaJavaScriptPerlPHPVisual BasicHTMLXMLCSSFlashAJAXRubySwiftPythonパフォーマンス・チューニングオープンソース開発SEOスマートフォンアプリ開発その他(プログラミング・開発) カテゴリ一覧を見る OKWAVE コラム 突然のトラブル?プリンター・メール・LINE編 携帯料金を賢く見直す!格安SIMと端末選びのポイントは? 友達って必要?友情って何だろう 大震災時の現実とは?私たちができる備え 「結婚相談所は恥ずかしい」は時代遅れ!負け組の誤解と出会いの掴み方 あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど インターネット回線 プロバイダ、光回線など