• 締切済み

【Excel VBA】串刺し集計について

ki-ro-roの回答

  • ki-ro-ro
  • ベストアンサー率49% (106/213)
回答No.2

回答ではありません。 「不明な点」 1)エクセルのバージョン 2)表の構成 数字が入ってるセル(B2~B100など) 文字列が入ってるセル(C2~C100など) 「例としては○、×、-であれば○など」ではなく、具体的に何が入るのか。 また、合計用が○、×、-になる条件。 (3つのシートが一致してたら○とか、sheet1~3が○、×、-と一致しなかったらとか。) 明確になれば、優しい人が正確なコードを書いてくれるかもしれません。 私もVBAはド素人ですので、無茶苦茶なものしか書けません。 ※ 足りないコードもあります。と前置きした上で。 数字はA1~A10・文字はB1~B10・sheet1~3にデータがあり、sheet合計用の同じセルに入れれるとして。 sheet1が○でsheet2が×でsheet3が-の時の条件だけ。 Sub test() For i = 1 To 10 goukei = Worksheets("sheet1").Cells(i, 1) + Worksheets("sheet2").Cells(i, 1) + Worksheets("sheet3").Cells(i, 1) Worksheets("合計用").Cells(i, 1) = goukei go = Worksheets("sheet1").Cells(i, 2) + Worksheets("sheet2").Cells(i, 2) + Worksheets("sheet3").Cells(i, 2) If go = "○×-" Then Worksheets("合計用").Cells(i, 2) = "○" Next i End Sub

関連するQ&A

  • Excel2000で条件付きの串刺し計算は可能か?

    タイトル通りなのですが詳細を書きます。 sheet1からsheet100まで全く同じフォーマットの集計 シートがあります。 シートを甲乙丙の3種類に分類するため、各シートのA1セル 、B1セル、C1セルの何れかに数字の「1」を入れてフラグを 立てています。 A2以下のセルには関数等で計算された数値があります。 ここでA1のセルに「1」が入力されているシートのみの数値を 甲合計シート、B1のセルに「1」が入力されているシート のみの数値を乙合計シートにという感じで串刺し算で求め たいのですが、SUMIFではうまくいきませんでした。 甲合計シートのA2セルに関数がおかしいのは承知で =SUMIF(Sheet1:Sheet100!A2,A1=1,Sheet1:Sheet100!A2) と入力してもダメでした。 当方VBAは全く知らないのですが、条件付の串刺し算は 関数では実現できないのでしょうか? VBAでなら可能というのであれば、その方法を教えて いただけませんか?

  • 同フォルダ内の串刺し集計と文字列結合のマクロ作成

    同じフォルダ内に同じ形式のファイルがいくつかあり、ブック間で数値の串刺し集計と、文字列を結合して集計できるマクロの作成がしたいです。 フォルダ内には各所から送付されてくる同一フォーマット書類『(回答)**.xls』が多数あります。 「**」にはそれぞれの部署名が入っており、シート名は『回答』となっています。 各ファイルの『回答』シート F5~F32セルまでには数値が入力されています。 同じく各ファイルの『回答』シート G5~G32セルまでには文字列が入力されています。 これらを同一フォルダ内にある『集計ファイル.xls』の『集計』シートに集計をしたいのです。 F列は数値なので串刺し集計、G列はそれぞれバラバラの文字列のため「,」で区切って文字を結合をしたいと思っています。 (G列イメージ) あああ,XX,○△△,・・・ このようなマクロを同一フォルダ内にある『集計ファイル.xls』に作成することはできるのでしょうか? よろしくお願いいたします。

  • エクセルで串刺し集計で数字の個数を読み取りたいのですが

    ひょっとしたら簡単かもしれないのですが この間から長いこと調べてみているのですがわかりませんので どなたかお教え下さい。 串刺し集計の際に 例えば 31日分のシート(小の月なら30日:30枚のシート) のA:1(シートのセル位置は31枚とも同じ)のセルに数字の0~7迄を入力し(都合で文字扱いに出来ません)その中から最終のシートに 0が何個、1が何個・・・・・・・7が何個と表示するためには 32枚目(小の月なら31枚目)のシートにどういった計算式を入れたらよろしいのでしょうか、宜しくお願いいたします。

  • 串刺し計算(集計)マクロについて

    いつもお世話になっております。 現在、シート間の集計をマクロでする作業を進めていますが、 1シート1企業に対し、 シートのC1にサービス名、D1に金額、E1に成否(入力規則よりリスト化)を記入するセルがあります。 このブックの集計をする場合、各シートのE1に”成”(入力規則よりリスト選択)が入力されたもののうち、集計シートのA1に、各シートのサービス名の割合、B2に合計金額を算出したいのです。 なお、シートは随時追加されて行きます。 どなたかご教示頂きますよう、お願いいたします。

  • 集計用のVBA

    いつもお世話になります。 今回は、VBAを使った、ブック間での集計について教えてください。 現在、担当者別にExcelブックが15人分あります。(ブック名の定義は"ブック2012(担当者名).xlsx") そのブックには、D3~AH49までデータ(空白セルもあります)が記入されてあり、また月別Sheetが12カ月分存在します。 そして、集計用ブックが存在し、上記のブックと全く同じ配置で構成されています(セル、シート共) やりたいこと ・集計用ブックに、担当者ブックの合計を行いたい。 ・集計用ブックに新たなシートを付加し、そこで年度や担当者名を定義したい。また、そのSheetにコマンドボタンを設置し、そのボタンを押すと自動集計が始まるようにもしたい。  *上記の担当者ブック名の年度が変更されたり、担当者が増減しても、A1セルに2013、B列セルに   担当者を記入していけば、そのブックのみの集計を行ってくれる。 以上が、私のやりたい事で、このVBAを教えていただきたいのです。 皆様、どうかよろしくお願いいたします。

  • VBAでの行集計

    VBAでの行集計 いつもお世話になっております 今 マクロでの行集計で困っております。 お力をお貸し下さい m(__)m したいことは B列最終セルを見つけ出し 列の合計を出す 合計を右横最終セルまでコピーする 最終はR列までです そこで下記のマクロで合計は出しました Dim BeforePos As Long BeforePos = Range("B4").End(xlDown).Row Cells(BeforePos + 1, 2).Formula = "=SUM(B4:B" & BeforePos & ")" このセルの数式を右最終列までコピーをしたい それだけのことですがうまくいきません どうかよろしくお願いします

  • 複数のシートの○×記号の串刺し集計

    エクセルで次のような表のデータが1ヶ月分、31日分あり ます。すなわち31枚のシートに同じ表で中の○× の内容が違うデータがあります。 ア イ ウ エ オ (1) ○ × × ○ ○ (2) ○ ○ ○ × × (3) × × ○ ○ ○ (4) ○ × × ○ ○ そして○をゼロ、×を1と数えて、 31枚のシートの○と×を集計して 32枚目のシートに結果を示したい のです。 例えばこんな感じ32枚目のシート に計算結果を表示したいです。 ア イ ウ エ オ (1) 7 4 5 0 0 (2) 8 5 0 2 2 (3) 1 1 0 1 0 (4) 0 0 4 6 8 31枚のシートの○と×を数値に 変換し、それを串刺し集計した いのです。countifは串刺し集計 で使えないようですし、上手い やり方があれば、教えて戴き たいです。 宜しくお願い致します。

  • 【Excel VBA】特定の列で時間を入れているセルだけ合計して数式をセルにいれたい

    Excel VBA初心者です。 特定の列の各セル(B列とします)に時間(数字)、件数(数字)、文字列(○や×)が入っています。 この中でランダムな位置に入っている時間(数字)のみ拾い出し、合計欄(セルB20とします)に「数式(例)=sum(b3,b6,b8,b13,b18)」を入れたいのですが、マクロの組み方がわかりません。上記の特定のセルを抽出するところまではできたのですが。 マクロの組み方をご教授願えますか。

  • COUNTIFでの集計

    ExcelはVer.2003です。 いつも助けて頂いて感謝しております。 集計業務を頼まれたのですが困っております…。 SHEET!Aに数字と文字列にて下の様にA1:Y50まで入っております。       A       B      C      D・・Y 1   7191-03   2242-37   2212-40    5445-52・・ 2   1544-12   2242-01    2212-03    3555-52・・ 3   7190-01    2242-12   2222-40    5445-12・・  :     :      :       :      : 50 7191-03や7190-01が表示形式の標準や数値では表せない為、一部を 文字列としております。 このデータから、右の2桁が同じ数字をカウントしてSHEET!Bの 特定のセルに集計したいのですが、MATCHやRIGHTをネストしても 私ではCOUNTIFやSUMPRODUCTでは式が作れませんでした・・・。 フォーマットを変更したくないので作業列を使わずに試みてるの ですがよい方法はありませんでしょうか?? 最終目的として、-01や-40の合計をSHEET!Bの1つのセルに1つの 関数で集計するのが理想です。 当方、関数はほんの少し理解できますが、VBAは全くわかりません。 どうか宜しくお願い致します。

  • シートを串刺しで抽出したいのですがそれはマクロですか?

    こんにちは。 エクセルの串刺し集計ではなく、串刺し抽出のことでわからないので 教えて下さい。 ・同じブック内に顧客20件のデータが管理されています。 ・1シート毎が1顧客の単価帳になっています。 ・A1に顧客の名前(同じくシート名もこれと同じく顧客の  名前をつけています。) ・抽出したいのは顧客20件の各シートのA50:B53です。 同じブックの新規シートに「A1の顧客名」と(どれを抽出したか わからなくなってしまうから必要なのかな?と思います。) 20シート全ての「A50:B53」を抜き出すことは可能でしょうか? 抜き出したいセル番地は20シート一緒です。 それぞれのシートはA2からA49までの抽出しなくてもいいセルは、  不規則にだらだらと製品名や個々の単価が入力されています。 転職した会社でデータ管理がなされていなくてビックリしています。 とは言え私もマクロなどは経験がなく、なにをしたらできるのかが さっぱり分かりません。 でも確か前の会社ではできていたのに・・・? あれはアクセスだったのかなぁ? などという状態です。 VBAマクロの本を読みあさりましたが よくわかりませんでした。 とっかかりを教えていただければありがたいです。 よろしくお願いします。