[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『実績集計を行いたい』(エクセルビギナー)
こんにちは
私が働いている会社は加工業を営んでおり、加工実績を収集し
一定の期間でどれだけの製品を製作したかがわかるようなエクセルデータを作成したいと考えています。以下例です。
シート1(実績記入欄)
商品名 製作日 数量 製作者
A 2022/8/2 2 山田
B 2022/8/3 3 加藤
C 2022/8/4 3 加藤
シート2(実績一覧)
制作者 加藤
開始日 8/1
終了日 8/4
商品名 製作日 数量
B 2022/8/3 3
C 2022/8/3 3
この実績一覧を作成するため、数式もしくはマクロを作成したいと考えています。
どんな方法が有効でしょうか。是非ご教示ください。
< 使用 Excel:unknown、使用 OS:unknown >
(マナ) 2022/08/06(土) 15:33
(マナ) 2022/08/06(土) 15:36
1)excelが365なら、Filter関数
2)excelが2016以降なら、Power Query
3)それ以外なら、フィルタの詳細設定
4)あるいはマクロ
(マナ) 2022/08/06(土) 16:26
・シート1のデータ範囲をテーブル設定(名前:テーブル1) ・シート2のB1:B3の範囲を名前定義(名前:条件) ・空のクエリを追加し、詳細エディターに、下記を貼り付け
let ソース = Excel.CurrentWorkbook(){[Name="テーブル1"]}[Content], 変更された型 = Table.TransformColumnTypes(ソース,{{"商品名", type text}, {"製作日", type date}, {"数量", Int64.Type}, {"製作者", type text}}), 製作者 = Excel.CurrentWorkbook(){[Name="条件"]}[Content]{0}[Column1], 開始日 = Date.From(Excel.CurrentWorkbook(){[Name="条件"]}[Content]{1}[Column1]), 終了日 = Date.From(Excel.CurrentWorkbook(){[Name="条件"]}[Content]{2}[Column1]), フィルターされた行 = Table.SelectRows(変更された型, each [製作者] = 製作者 and [製作日] >=開始日 and [製作日] <= 終了日), 削除された列 = Table.RemoveColumns(フィルターされた行,{"製作者"}) in 削除された列
(マナ) 2022/08/06(土) 16:48
Sub test() Dim 入力表 As Range Dim 条件 As Range Dim 抽出先 As Range
Set 入力表 = Worksheets("Sheet1").Range("A1").CurrentRegion Set 条件 = Worksheets("Sheet2").Range("B1:B3") Set 抽出先 = Worksheets("Sheet2").Range("A5")
抽出先.CurrentRegion.Clear If WorksheetFunction.CountBlank(条件) Then Exit Sub
入力表.AutoFilter 4, 条件(1).Value 入力表.AutoFilter 2, ">=" & 条件(2).Value2, xlAnd, "<=" & 条件(3).Value2 入力表.Columns("A:C").Copy 抽出先 入力表.AutoFilter
End Sub
(マナ) 2022/08/06(土) 19:18
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.