[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『カウントの数だけ行数を取りたいのですが』(Yuriko.m)
エクセルのことでおしえてください。スナックのママです。
下のような表があります。B10からW60までです。合計数量というのは、お酒の合計の数(本)です。
カウントというのは、お酒を入れてくれている法人数と、個人の数(顧客数)です。
これを、同じ表のAAから、並べたいのです。AA10からAG85までです。
カウントの合計数だけ行数を取って、あとで、顧客の名前をいれたいと思っています。
カウントの数だけ行数を取る方法と、その次の行のAFに合計といれ、AGにカウント合計をいれる方法をおしえてください。関数がありますでしょうか?
よろしくお願いいたします。
表の名前 顧客カウント表
B M O U V W 9 コード 商品 合計数量 カウント法人 カウント個人 カウント合計 10 25 A 10 3 2 5 11 28 B 6 0 2 2 12 41 C 4 2 1 3
AA AB AE AF AG
9 番号 商品 顧客名
10 25 A
11 25 A
12 25 A
13 25 A
14 25 A
15 合計 5
16 28 B
17 28 B
18 合計 2
19 41 C
20 41 C
21 41 C
22 合計 3
< 使用 Excel:Excel2010、使用 OS:Windows7 >
>その次の行のAFに合計といれ、AGにカウント合計をいれる方法をおしえてください。 >関数がありますでしょうか?
関数はちょっと無理があります。(本来データを入れるセルにも数式が入っちゃいます)
マクロ案はどうですか?
<マクロの貼り付け方> 目的のシートの「シート見出し」を右クリックして、「コードの表示(V)」を選ぶと 画面中央に白いエリアが表れます。(VBE画面です)
その白いエリアに後記マクロを貼り付けたら、Alt+F11でエクセルに戻れば、準備完了です。
<使い方> AA9(番号)セルをダブルクリックすると表が自動的に作成されます。 ※書出し先をクリアにするので前のデータは消えます。危ないんで、それでいいか、初めに聞いてきます。
<貼り付けるマクロ> ’ ↓ Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim cel As Range, Num As Long, rowOffset As Long
If Target.Address = "$AA$9" Then If MsgBox("AA10:AG85はクリアされます。いいですね?", vbYesNo) = vbYes Then Cancel = True
Range("AA10:AG85").ClearContents
rowOffset = 0
For Each cel In Range("B10", Cells(Rows.Count, "B").End(xlUp)) Num = Cells(cel.Row, "W").Value
Range("AA10").Offset(rowOffset).Resize(Num, 2).Value _ = Array(cel.Value, Cells(cel.Row, "M").Value)
Cells(10 + Num + rowOffset, "AF").Value = "合計" Cells(10 + Num + rowOffset, "AG").Value = Num rowOffset = rowOffset + Num + 1 Next End If End If End Sub
(半平太) 2017/12/03(日) 23:34
(Yuriko.m) 2017/12/04(月) 19:37
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.