EXCEL2003を利用しています。
まず、写真を確認お願いいたします。SHEET1に
・A列 No
・B列 年月日
・C列 会社
・D列 商品
の表があります。それをSHEET2で
・行タイトルで会社名
・列タイトルで年月日
の表をつくり、表のデータには、写真のように
商品を計算せずに書き出す。ということをしたいです。
これを手作業で行うのは大変なので、できればうまく簡単に出来るようにしたいです。
ピヴォットテーブルであれば、何らかの計算をしたものを楽に表示することができるのは知っているのですが、このように計算せずに簡単に表示させる方法を教えてもらえないでしょうか?
https://www.dropbox.com/s/nxsgkfgd6k9ti11/%E3%82 …
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
こんばんは!
VBAになってしまいますが一例です。
Alt+F11キー → メニュー → 挿入 → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻りマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)
Sub Sample1() 'この行から
Dim i As Long, j As Long, lastRow1 As Long, lastRow2 As Long, lastCol As Long, wS As Worksheet
Set wS = Worksheets("Sheet2")
Application.ScreenUpdating = False
With Worksheets("Sheet1")
lastRow1 = .UsedRange.Rows.Count
.Range("E:E").Insert
.Range("B:B").Copy
.Range("E1").PasteSpecial Paste:=xlPasteValues
wS.Range("A:A").Insert
lastRow2 = wS.UsedRange.Rows.Count
lastCol = wS.Cells(1, Columns.Count).End(xlToLeft).Column
If lastRow2 > 1 And lastCol > 2 Then
Range(wS.Cells(2, "C"), wS.Cells(lastRow2, lastCol)).ClearContents
End If
For i = 2 To wS.Cells(Rows.Count, "B").End(xlUp).Row Step 3
For j = 3 To lastCol
.Range("A1").AutoFilter field:=3, Criteria1:=wS.Cells(i, "B")
.Range("A1").AutoFilter field:=5, Criteria1:=wS.Cells(1, j)
If .Cells(Rows.Count, "D").End(xlUp).Row > 1 Then
Range(.Cells(2, "D"), .Cells(lastRow1, "D")).SpecialCells(xlCellTypeVisible).Copy wS.Range("A1")
Range(wS.Cells(1, "A"), wS.Cells(3, "A")).Copy wS.Cells(i, j)
wS.Range("A:A").ClearContents
End If
Next j
Next i
.AutoFilterMode = False
.Range("E:E").Delete
wS.Range("A:A").Delete
Application.ScreenUpdating = True
wS.Activate
End With
End Sub 'この行まで
※ 関数ではないので、Sheet1のデータ変更があるたびにマクロを実行する必要があります。m(_ _)m
No.2
- 回答日時:
質問にある図で、
セルB2:
=INDEX(Sheet1!$D:$D,SMALL(IF((Sheet1!$B$2:$B$20=B$1)*(Sheet1!$C$2:$C$20=$A2),ROW(Sheet1!$D$2:$D$20),10000),MOD(ROW(A2)+1,3)+1),1)
セルB3:
=INDEX(Sheet1!$D:$D,SMALL(IF((Sheet1!$B$2:$B$20=B$1)*(Sheet1!$C$2:$C$20=$A2),ROW(Sheet1!$D$2:$D$20),10000),MOD(ROW(A3)+1,3)+1),1)
セルB4:
=INDEX(Sheet1!$D:$D,SMALL(IF((Sheet1!$B$2:$B$20=B$1)*(Sheet1!$C$2:$C$20=$A2),ROW(Sheet1!$D$2:$D$20),10000),MOD(ROW(A4)+1,3)+1),1)
いずれも配列数式です。登録するとき、CTRL+SHIFT+ENTERとしてください。10000行までは大丈夫でしょう。
上記3式よく似ていますが、A列の「A、B、C・・・」が消されているので苦肉の策で3式にしました。($A2が動いていません)
3式をセットで横に日付分コピーした後は、「A、B、C・・・」を3行単位でコピーしてください。
もう少し短くできるかもしれませんがこの辺りで。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Photoshop(フォトショップ) 写真に日付を入れるのがそんなに大変か 9 2023/07/22 14:38
- Excel(エクセル) [スライサー]に関して、 1 2022/05/24 21:07
- 仮想通貨(暗号通貨) 仮想通貨【アプトス】もうすごく上がる可能性は高い? 10万円を1億円い増やすyoutube動画 3 2022/10/23 21:49
- 食べ物・食材 「入社式で居眠りした新入社員が…」カップヌードル公式Twitterが変わり果てた姿を投稿 2 2023/04/05 08:29
- サバイバルゲーム このタイプの差し込み口ってなんの種類か分かりますか? 3 2022/07/29 15:32
- ZOZOTOWN このタイプの差し込み口ってなんの種類か分かりますか? 2 2022/07/29 15:31
- 仮想通貨(暗号通貨) 暗号資産(仮想通貨)で稼ぐには情報の鮮度 どうしたら良い情報を入手できますか 1 2022/10/11 14:26
- Excel(エクセル) Excelヘルプの原文を表示する最速の方法(手順)には? 1 2023/08/11 11:30
- 船舶・クルーズ Windows10のエクスプローラにて。 1 2022/10/10 20:11
- その他(コンピューター・テクノロジー) USB4 Version 1.0の最大伝送距離は80cmと以下のリンクのwikiのUSBの各世代の所 1 2023/07/15 23:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelの空のセル
-
エクセルのハイパーリンクがう...
-
エクセルの数式で教えてください。
-
Excel 漢字二文字の先頭と最後 ...
-
EXCELだけを格安で買える店を教...
-
他人が作ったマクロの理解
-
エクセルで比較 かつ 部分一致...
-
一列の中の金額を他のセルに
-
Excelが大きくなってしまう問題
-
エクセルで入力してある文を別...
-
ExcelVBAの漢字の範囲について...
-
余分なEXCELファイルに印刷され...
-
【スプレッドシート】時間入力...
-
【VBA】シート名と見出しが一致...
-
長期休みの関数はありますか
-
表示されている人数だけを数え...
-
Excel関数について
-
Excel関数の先頭に「@」が入っ...
-
Excelの関数について質問です。
-
エクセルの書式設定について教...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル詳しい方教えて下さい
-
ExcelでA列をコピーしたいので...
-
エクセルのセル統合について
-
Excelの関数で起きた現象の原因...
-
Excelファイルが閉じられい!
-
Excelのシート背景に不明な文字...
-
エクセルの枠線
-
Excel 領収書発行
-
エクセル関数の使い方を教えて...
-
C列にF列の担当者(A〜)を順番...
-
ピポットテーブルの参照元を別...
-
EXCEl VBA
-
Excelでの判別方法
-
VBAで、サブフォルダにある複数...
-
"りんご"と"みかん"というシー...
-
マクロについて教えてください。
-
EXCELファイルが読み取り専用で...
-
同一セルに入力規則のリストと...
-
100行50列の表で、1~40列でフ...
-
なぜか「Nextに対応するForがあ...
おすすめ情報