EXCEL2003を利用しています。
まず、写真を確認お願いいたします。SHEET1に
・A列 No
・B列 年月日
・C列 会社
・D列 商品
の表があります。それをSHEET2で
・行タイトルで会社名
・列タイトルで年月日
の表をつくり、表のデータには、写真のように
商品を計算せずに書き出す。ということをしたいです。
これを手作業で行うのは大変なので、できればうまく簡単に出来るようにしたいです。
ピヴォットテーブルであれば、何らかの計算をしたものを楽に表示することができるのは知っているのですが、このように計算せずに簡単に表示させる方法を教えてもらえないでしょうか?
https://www.dropbox.com/s/nxsgkfgd6k9ti11/%E3%82 …
A 回答 (3件)
- 最新から表示
- 回答順に表示
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行単位でコピーしてください。
もう少し短くできるかもしれませんがこの辺りで。。。
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
お探しの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のpivotについて質問です
-
Excel ピボットテーブルで日付...
-
LOOKUP関数を使えばいいのでし...
-
エクセル関数を教えてください
-
エクセルのセルに同じ大きさの...
-
UNIQUE関数が使えないバージョ...
-
excelの不要な行の削除ができな...
-
エクセルで「-0.0」と表示さ...
-
時間によってファイル名が変わ...
-
WPS OFFICEでの縦書きについて
-
エクセルの関数について教えて...
-
Aというブックの1というシート...
-
【マクロ】シート名を取得する...
-
VBA Private Sub Worksheet_Cha...
-
VBA、Excelのworkbook.open に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報