[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『3シートの情報を1つの表にまとめたい』(rosasc)
お世話になります。
シートA
1 \100 2 \200 3 \300
シートB
2 \100 3 \100 4 \100
シートC
3 \200 5 \200 6 \200
という情報から、以下のような表にまとめたいと思っております。
A B C 1 \100 2 \200 \100 3 \300 \100 \200 4 \100 5 \200 6 \200
実際はデータが数百ある状態です。
VLOOKUPを使えればと思いましたが、そもそも「3シートで存在する数字一覧」を出す方法が分からないでいます。
この表を作るための手順や関数を、ご教授願えれば幸いです。
< 使用 Excel:Microsoft365、使用 OS:Windows10 >
1、2、3…は行番号ではないということでしょうか? (コナミ) 2023/01/25(水) 16:41:24
1 山田さん
2 佐藤さん
3 鈴木さん
といった形で、個人を区別するためのコードになります。
引き続き、ご回答宜しくお願いいたします。
(rosasc) 2023/01/25(水) 16:45:16
各シートのデータは1行目からでA列にコード、B列にデータがあるものと前提して
Sub Sample()
Dim SumWs As Worksheet, ws As Worksheet Dim r As Long, EndRow As Long, TargetRow As Long
Set SumWs = Worksheets("Sheet4")
For Each ws In Worksheets If ws.Name = SumWs.Name Then Exit For EndRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
For r = 1 To EndRow TargetRow = Application.WorksheetFunction.Match(ws.Cells(r, "A").Value, SumWs.Range("A:A"), 0) SumWs.Cells(TargetRow, ws.Index + 1).Value = ws.Cells(r, "B").Value Next r Next ws End Sub
を実行したらSheet4に集計されます。
もし集計するデータの位置の前提が違えば自分で修正してください。
(ngk) 2023/01/25(水) 17:33:17
各シートのデータが最大1000行まであるとして。 シートDのB1セルから右にシート名を入力。 シートDのA2セルに =UNIQUE(VSTACK(FILTER(シートA!A1:A1000,シートA!A1:A1000<>""),FILTER(シートB!A1:A1000,シートB!A1:A1000<>""),FILTER(シートC!A1:A1000,シートC!A1:A1000<>""))) と入力。
B2セルに =IF(A2:A1000="","",SUMIF(INDIRECT(B1:D1&"!A:A"),A2:A1000,INDIRECT(B1:D1&"!B:B"))) と入力ではどうだろうか? なお、対応する値がないところは0と表示される。 (ねむねむ) 2023/01/25(水) 19:20:40
金額の列にそれぞれ違う項目名を入れて 統合機能を使うというのはどうでしょう? (コナミ) 2023/01/25(水) 19:43:27
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.