[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『重複データの合計』(zzz)
初心者で申し訳ありませんが少しでも助けていただけたらと思います。
A列に品名B列に素材名C列に個数D列に寸法が入っており、月末に集計したいのですが、まず、重複の列がA列とB列とD列になります。重複をなくしC列の個数を集計したいです。マクロボタンを作って自分なりにやりましたが、何度やっても、うまくいきません。A列の重複はなくすことができ、C列の集計も出来ました。しかしながら、B列とC列の重複をなくすことができません。どのようにしたらうまくできますか?よろしくお願いします。ちなみに集計は同じSheetでも、他のSheetでも構いません。
< 使用 Excel:Excel2013、使用 OS:Windows8 >
なんとなく想像すると、A列とB列とD列を文字連結した値を作業列に用意しておき、作業列の重複を調べてはいかがでしょうか。
(???) 2017/02/20(月) 18:02
With Sheets("Sheet1") .Columns("I:J").ClearContents .Rows(1).Insert Shift:=xlDown 'フィルターオプション用 タイトル行 挿入 .Range("A1:D1") = Array("A", "D") .Columns("A:A").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=.Range("I1"), Unique:=True .Rows(1).Delete 'フィルターオプション用 タイトル行 削除 With .Range("I1", .Range("I" & .Rows.Count).End(xlUp)).Offset(, 1) .Formula = "=SUMIF(A:A,I1,D:D)" .Value = .Value End With End With Application.ScreenUpdat 先ほどは失礼いたしました。こんな感じになります
(zzz) 2017/02/20(月) 18:46
[[20161022121804]] 『集計方法』(パシリ)
(マナ) 2017/02/20(月) 20:59
1)作業列を使って文字列を連結
2)フィルタオプションで転記(重複なしで)
3)SUMIFで集計
4)作業列(転記先含め2列)を削除
のほうがよかったかも。
(マナ) 2017/02/20(月) 21:23
こんばんわ。
1、別シートに丸ごとコピペ 2、A・B・D列で重複の削除 3、C列にSUMIFSで集計
が一番簡単じゃないでしょうか?
(sy) 2017/02/20(月) 21:29
(マナ) 2017/02/20(月) 21:35
何処が区切りか分かりません。 セル間に , か | などを入れて区切りが分かるようにして下さい。
と言うかもう初めの、 >A列に品名B列に素材名C列に個数D列に寸法 や途中の、 >D列の個数 とも違う、なんか言ってる事が無茶苦茶ですよ。
本当はどの列を重複対象にしたいんですか? 結果を集計したいのは個数ですか? どの列が個数ですか?
(sy) 2017/02/20(月) 22:21
以下の手順をマクロ記録して下さい。 元データのシートは Sheet1 と言う前提で数式を書いてます。(適切なシート名に変更して下さい)
1、元のシート全体を選択して、キーボードの[Ctrl]+[c] 2、貼り付け先のシートを選んで、A1セルだけ選択して、[Ctrl]+[v] 3、[Ctrl]+[Shift]+[*] 4、リボンの[データ]タブの[重複の削除]を選択して、出てきたダイアログで、[個数]のチェックだけ外して[OK]をクリック 5、E2セルを選択して、以下の数式を入力 =SUMIFS(Sheet1!E:E,Sheet1!A:A,A2,Sheet1!B:B,B2,Sheet1!C:C,C2,Sheet1!D:D,D2,Sheet1!F:F,F2) 6、オートフィルで必要分下に数式コピー
まずは上記でマクロ記録でコードを作成し、不要なSelectなどを省いて加工すれば完成です。 数式のセルを可変にしたいけど分からないと言う時は、上記で作成したコードを提示して、再質問して下さい。
(sy) 2017/02/20(月) 23:01
図1
A列/B列/C列/D列/E列F列/G/H/I列/を使用します。
ZZ/00066505-00 /G11−0078/ADAPTER/FFB/ 1/55200/63000/2800
ZZ/00066505-00/G11−0078/ADAPTER/FFB/ 4/55200/63000/2800
ZZ/00030489-00/G13−1013/O RING /FF /2/69700/76500/3400
ZZ/00030489-00 /G13−1013/O RING /FF /2/69700/76500/3400
ZZ/00586827-00 /G15−1039/GASKET /FFB/ 2/56000/71000/1300
ZZ/01366952-00 /G13−1146/O RING /FFB/ 1/65000/71000/3000
ZZ/01366952-00/G13−1146/O RING /FFB/ 1/65000/71000/3000
図2
ZZ/00066505-00 /G11−0078/ADAPTER/FFB/ 5/55200/63000/2800
ZZ/00030489-00/G13−1013/O RING /FF /4/69700/76500/3400
ZZ/00586827-00 /G15−1039/GASKET /FFB/ 2/56000/71000/1300
ZZ/01366952-00 /G13−1146/O RING /FFB/ 3/65000/71000/3000
図1から図2のように重複をなくしてG列の数字を合計したいです。マクロボタン1つで
どうにかやりたいのですが助けてください。
いまだにできません。大量にあるのでできればマクロボタンでお願いします。
(zzz) 2017/02/21(火) 13:30
図1
A列/B列/C列/D列/E列F列/G/H/I列/を使用します。
ZZ/00066505-00 /G11−0078/ADAPTER/FFB/ 1/55200/63000/2800 ZZ/00066505-00/G11−0078/ADAPTER/FFB/ 4/55200/63000/2800 ZZ/00030489-00/G13−1013/O RING /FF /2/69700/76500/3400 ZZ/00030489-00 /G13−1013/O RING /FF /2/69700/76500/3400 ZZ/00586827-00 /G15−1039/GASKET /FFB/ 2/56000/71000/1300 ZZ/01366952-00 /G13−1146/O RING /FFB/ 1/65000/71000/3000 ZZ/01366952-00/G13−1146/O RING /FFB/ 1/65000/71000/3000
図2
ZZ/00066505-00 /G11−0078/ADAPTER/FFB/ 5/55200/63000/2800
ZZ/00030489-00/G13−1013/O RING /FF /4/69700/76500/3400
ZZ/00586827-00 /G15−1039/GASKET /FFB/ 2/56000/71000/1300
ZZ/01366952-00 /G13−1146/O RING /FFB/ 2/65000/71000/3000
図1から図2のように重複をなくしてG列の数字を合計したいです。マクロボタン1つで
どうにかやりたいのですが助けてください。 いまだにできません。大量にあるのでできればマクロボタンでお願いします
(zzz) 2017/02/21(火) 13:36
空白の問題を修正したならば、後はB列だけでもユニークなようですので、SUNIF関数を使ってみるとか、ピボットテーブル化してみるとか、コーディングしなくとも、やり方はいろいろあるかと思います。
(???) 2017/02/21(火) 13:49
丸投げするのもどうなんでしょうね。。。
手作業でもそんなに難しくないと思いますが。。。。
まずは集計するキーになる列で並べ替え
次に集計機能で、各グループの小計を挿入
ついで、明細を非表示に
という手順で出来ると思います。
あ、元データはいじってはだめなら、シートごとコピーしてから試してください。
その手順で出来るなら、マクロの記録をしてみて、コードを調べます。
で、そのコードを汎用的に使えるよう整理したら、マクロ完成になるはずです。
まずは手作業でサクッっと処理できるようになりたいですね^^
あぁ、関数でやりきる方法もあるかも知れませんね^^
(まっつわん) 2017/02/21(火) 14:48
(zzz) 2017/02/21(火) 14:56
何で毎回レイアウトが変わるんですか? しかも個数の列も毎回違う列を提示してますね。
セルの区切りを分かるようにして、どの列が個数か言って下さいと言いましたよね。
しかも今提示してるレイアウトならどう見てもF列が個数じゃ無いんですか?
回答者にはあなたのPC画面は見えません。 でもあなたの目の前には実際のデータがあるんじゃ無いんですか? 画面を見たらどの列が個数かなんて間違えるような事じゃ無いでしょう? いい加減な嘘ばかりついてると誰も相手にしてくれなくなりますよ。
その辺はどのようにお考えなんでしょうか?
(sy) 2017/02/21(火) 21:27
(zzz) 2017/02/21(火) 21:35
初心者と嘘をつくのは何か関係があるんですか?
(sy) 2017/02/20(月) 22:21 ここまでは初心者なので質問の仕方など分からないから、まぁ仕方ないと思えますね。 なので「無茶苦茶です。」くらいしか言ってません。
ですがこれ以降は、「本当の重複の列と個数の列を言って下さい。」と私は言ってますよね。 ですのでこれ以降は実際の列を提示しないといけないと言う事は分かりますよね? もう初心者は関係ないですね。 日本語が分かるかどうかだけの問題です。
なのに何で (zzz) 2017/02/20(月) 22:36 で実際と違うレイアウトと個数の列を提示されたんですか? レイアウトは加工が難しくて間違えたはまだ分かりますが、 個数列は1つしか無いんですから実際の画面を見れば間違えるなんてありえないと思いませんか?
それと(zzz) 2017/02/21(火) 13:36 も本当に個数列はG列なんですか?
私が言いたいのはそれだけです。
最後に私は降りますが、頑張って下さい。
(sy) 2017/02/21(火) 22:50
1.レイアウトはこうなんですか?
行 __A__ ______B______ ________C________ _______D_______ ___E___ __F__ __G__ __H__ __I__ 1 図番 旧図番 品番 素材1 素材2 個数 寸法1 寸法2 寸法3 2 ZZ 00066505-00 G11−0078 ADAPTER FFB 1 55200 63000 2800 3 ZZ 00066505-00 G11−0078 ADAPTER FFB 4 55200 63000 2800 4 ZZ 00030489-00 G13−1013 O RING FF 2 69700 76500 3400 5 ZZ 00030489-00 G13−1013 O RING FF 2 69700 76500 3400 6 ZZ 00586827-00 G15−1039 GASKET FFB 2 56000 71000 1300 7 ZZ 01366952-00 G13−1146 O RING FFB 1 65000 71000 3000 8 ZZ 01366952-00 G13−1146 O RING FFB 1 65000 71000 3000
2.重複の判定は、品番だけで可能ですか?
3.同じ品番で塊になっているんですか? それとも、下の方に離れて「G11−0078」がまた有ったりすることもあるんですか?
(半平太) 2017/02/22(水) 00:02
(zzz) 2017/02/22(水) 09:51
あと、
「初心者」を連呼するのもどうかと思います。
「初心者」といえば何でも許される魔法の言葉ではないです。
まぁ、そういうつもりはないのは解ってますが、
初心者を連呼してみたところでどうにかなるものでもないです。
当然、上手く説明出来てないのだから、きつい言葉で指摘を受けることもあるでしょう。
ですが、指摘は真摯に受け止めつつ、それを乗り越えていかないと、
欲しい情報は得られませんよ。
とにかく説明は正確にしていただかないと、
無駄なやり取りが増えるばかりです。
シートのイメージを上手くここで表現できないなら、
エクセルのデータを、カンマ区切りのテキストファイルで保存して、
その出来たテキストを貼り付けてみてはいかがでしょうか?
それなら、回答側でコピペして再現可能になると思います^^
(あまり大量のデータを貼り付けられても困りますが。。。。)
あ、シートをそのままコピペしたあと、行の先頭に半角スペースを入れると、
見やすく表示されるようです^^
(敢えてA列に空白列挿入してコピペするといいかも?)
プレビューで確認して整形してみてください^^
完成のイメージは↓こういう感じですか? (幅を少なくして読みやすくするためセル内の折り返しになってます。)
┌─┬───┬────┬───┬─┬───┬───┬───┬───────┐ │記│ │ │ │素│ │ │ │ │ │号│図番 │旧図番 │品名 │材│寸法1 │寸法2 │寸法3 │合計 / 個数 │ │ │ │ │ │1 │ │ │ │ │ ├─┼───┼────┼───┼─┼───┼───┼───┼───────┤ │Z│000304│G13−│O-R │F│ 69700│ 76500│ 3400│ 4│ │Z│89-00 │1013│ING│F│ │ │ │ │ ├─┼───┼────┼───┼─┼───┼───┼───┼───────┤ │Z│000665│G11−│ADA│F│ │ │ │ │ │Z│05-00 │0078│PTE│F│ 55200│ 63000│ 2800│ 6│ │ │ │ │R │B│ │ │ │ │ ├─┼───┼────┼───┼─┼───┼───┼───┼───────┤ │Z│005868│G15−│GAS│F│ │ │ │ │ │Z│27-00 │1039│KET│F│ 56000│ 71000│ 1300│ 2│ │ │ │ │ │B│ │ │ │ │ ├─┼───┼────┼───┼─┼───┼───┼───┼───────┤ │Z│013669│G13−│O-R │F│ │ │ │ │ │Z│52-00 │1146│ING│F│ 65000│ 71000│ 3000│ 2│ │ │ │ │ │B│ │ │ │ │ └─┴───┴────┴───┴─┴───┴───┴───┴───────┘
ならば、マクロで処理せず、
ピボットテーブルを使うといいでしょう。
個数を値フィールドに入れ
その他の項目は行ラベルのフィールドに配置します。
そして、ピボットテーブルツールのデザインで、
小計→小計を表示しない
総計→行と列の集計をしない
レポートのレイアウト→表形式で表示
レポートのレイアウト→アイテムのラベルを繰り返す
としたら、上記のように出来そうです^^
マクロで処理しないとだめなのかなぁ。。。?
(まっつわん) 2017/02/22(水) 10:31
思い通りの結果が得られたので解決で、
マクロ化は今回は諦めるという事ですか?
気分的に凹んでいるのは解りますが、
どうしたいのか、伝わらないです。
解決じゃないけど終わりにしたいってことかなぁ。。。
(まっつわん) 2017/02/22(水) 11:26
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.