![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
エクセル使用半年ほどの初心者です。会社で専用ソフトを使用していてそのソフトをエクセルに変換することはできるのですが、画像左上のように出力され、縦の列が1900行ほどになります。
最終的イメージは右上のようにスッキリとしたいのですが、最初に下にある図のように条件をつけて
フィルターオプションで別シートに福岡、大分、佐賀・・・と並べてみました。
そこで問題なのが、
①県によって出荷する商品としない商品があるので同じ商品ごとに横に並べたい。
②フィルタオプションで得区分3を毎回手入力して抽出場所のセルの始まりもクリックして指定しているので
手間がかかること。
③これから毎月ずっと集計をしなければならないのでできたらマクロか関数など良い方法があれば使っていきたいこと。(ちなみにマクロは使ったことありません・・;)
可能なのであればセルやボタンへ県名を入力したらデータ抽出のなどできないものでしょうか・・・。
④出荷数÷データ区分の小数点は第一以下切り捨てしたいです。
こんなに条件がついてたらやはり初心者の私じゃ難しいでしょうか・・・?
ちょっとお伝えでききってない部分もあると思いますがイメージが伝われば幸いです。
詳しい方、よろしければお知恵を貸して下さい><;;
![「抽出、マクロ関係になると思いますが毎月あ」の質問画像](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/f/542239571_558d0141105ee/M.jpg)
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
画像が小さすぎて、現状が良く見えないのですが
横方向に 都道府県名
縦方向に 商品名
で何らかの数値を集計すると云う事でしょうか。
ピボットテーブルは試されましたか?
リボン 挿入
ピボットテーブル でウィザードに従っていきます。
横ラベルに 都道府県名
縦ラベルに 商品名 をドラックして
数値の部分を集計にドラックして、合計にする・
簡単すぎる説明で失礼しますが
やりたいことがあっていれば補足してください。
No.3
- 回答日時:
とりあえず 一連の作業をオートマクロ(マクロの記録)で記述しその後マクロの編集で
毎回変わる部分をDim命令で変数にしといて、InputBoxで入力をうながしたらいいです。
ボタンは□でも○でも好きな図形にマクロの登録でよいです。
そんなにむずかしいもんじゃないし。
4番目の小数点などはオートマクロのみでもできるので初心者にちょうどいいかも。
最初からすべて記述しようなんて思ったら挫折しますよ。
No.1
- 回答日時:
こんばんは!
なかなか回答が付かないようなので・・・
>④出荷数÷データ区分の小数点は・・・
の「データ区分」とはC列の数値のコトでしょうか?
すなわち商品とか都道府県によってその値は決まっているのですかね?
とりあえず、商品によって「データ区分」の数値は決まっているという解釈での一例です。
↓の画像のようにSheet1の元データをSheet2に表示するようにしてみました。
セル内データは違っているかもしれませんが、やり方だけです。
標準モジュールにしてください。
Sub Sample1()
Dim i As Long, j As Long, lastRow As Long
Dim str As String, c As Range, wS As Worksheet
Set wS = Worksheets("Sheet2")
Application.ScreenUpdating = False
wS.Cells.Clear
With Worksheets("Sheet1")
.Range("B:B").AdvancedFilter Action:=xlFilterCopy, copytorange:=wS.Range("A1"), unique:=True
lastRow = wS.Cells(Rows.Count, "A").End(xlUp).Row
Range(wS.Cells(2, "A"), wS.Cells(lastRow, "A")).Copy
wS.Range("B1").PasteSpecial Paste:=xlPasteValues, Transpose:=True
wS.Range("A:A").Clear
.Range("E:E").AdvancedFilter Action:=xlFilterCopy, copytorange:=wS.Range("A1"), unique:=True
lastRow = .Cells(Rows.Count, "A").End(xlUp).Row
.Range("G:G").Insert
.Range("G1") = "ダミー"
With Range(.Cells(2, "G"), .Cells(lastRow, "G"))
.Formula = "=B2&""_""&E2"
.Value = .Value
End With
For i = 2 To wS.Cells(Rows.Count, "A").End(xlUp).Row
For j = 2 To wS.Cells(1, Columns.Count).End(xlToLeft).Column
str = wS.Cells(1, j) & "_" & wS.Cells(i, "A")
Set c = .Range("G:G").Find(what:=str, LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
wS.Cells(i, j) = Int(WorksheetFunction.SumIf(.Range("G:G"), str, .Range("F:F")) / .Cells(c.Row, "C"))
End If
Next j
Next i
.Range("G:G").Delete
wS.Range("A1").ClearContents
wS.Columns.AutoFit
wS.Range("A1").CurrentRegion.Borders.LineStyle = xlContinuous
End With
Application.ScreenUpdating = True
wS.Activate
wS.Range("A1").Select
End Sub
※ 一発で解決!とはいかないと思いますが、
まずは叩き台としての回答です。m(_ _)m
![「抽出、マクロ関係になると思いますが毎月あ」の回答画像1](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/7/667667_558d3f1155983/M.jpg)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Excel(エクセル) エクセル 関数について 4 2022/08/05 11:03
- Visual Basic(VBA) Excel のユーザー定義関数でソルバーが動作しない 1 2022/09/05 19:51
- Excel(エクセル) エクセルで複数設定したハイパーリンク先を、どれを選んでも画面の左上に来るようにしたいのですが・・・ 3 2022/04/07 16:15
- Excel(エクセル) エクセルの条件付き書式 個人シートを参照して集計シートに色付けしたい 1 2023/06/22 00:39
- Excel(エクセル) シート参照を含む数式を連続コピー 3 2022/12/10 11:42
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) Excel VBA マクロ ある列の最終行迄を参照し、別の列の空白セルに値を入力したいです 2 2023/03/05 02:44
- Excel(エクセル) エクセルでのVBA 2 2022/08/03 06:48
- Excel(エクセル) エクセルで#以降の文字を取得したい 1 2022/03/28 13:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
昨日、エクセルVBAで、隣のセル...
-
excel ある部分だけをコピペし...
-
並べ替えのマクロで対象行の範...
-
条件に応じて特定の行を非表示...
-
Excel2007で、太字にした行のみ...
-
(Excel2003)すぐ左の最後の行...
-
抽出、マクロ関係になると思います...
-
エクセルのふりがなの関数について
-
Excel(VBA)データ入力に応じて...
-
EXCELで同一フォーマットのシー...
-
Excelで金銭出納帳。繰越残高を...
-
エクセルで複数設定したハイパーリンク先...
-
EXCELで1ヶ月分の連続した日付...
-
Excel、同じフォルダ内のExcel...
-
VBAでシートコピー後、シート名...
-
複数シートの特定の位置に連番...
-
Excelで同じシートのコピーを一...
-
シート1に列挙したNGワードを...
-
VBAでどうプログラムしたらいい...
-
sumif関数を使って複数シートに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
条件に応じて特定の行を非表示...
-
Excel2007で、太字にした行のみ...
-
Excelで連続印刷をするマクロ
-
Excelでセル内の数式は残し値だ...
-
「マクロ」の足し算の式を教え...
-
エクセル VBA 小数点を含む数字...
-
エクセルで全ての数字間にカン...
-
Excel(VBA)データ入力に応じて...
-
wordのvbaでハイパーリンク設定...
-
Excel にて非表示行を探すワー...
-
Excel2007 セルを右方向に削除...
-
エクセル2003でマクロをおこな...
-
エクセルで、行ごとの並び替え...
-
値貼り付けをしても書式も貼り...
-
VBA コピーを有効行までループ...
-
yyyy/mm/ddの日付に一括変換す...
-
整数行を残し小数点の行を削除...
-
エクセルで行と列を入れ替えキ...
-
エクセルで特定の数字となる組...
-
エクセルで連番をマクロで
おすすめ情報