• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excelでまとめて部品一覧を作りたい)

Excelで部品一覧をまとめる方法

このQ&Aのポイント
  • Excelで部品一覧を作成する際に、数式やマクロを使用することで効率化する方法を紹介します。
  • 部品の売り上げ表から、部品一点ごとに価格や仕向国などの情報を追記するために、部品一点につき一行を使った部品表を作成します。
  • 通常の方法では時間と手間がかかるため、数式やマクロを活用することで作業効率を向上させることができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

添付図: 簡単のためC列に累積(もどき)を計算しておき,関数だけで羅列してみます。 C2: 数字の1を記入 C3: =C2+B2 下端の一つ下のC6までコピー F2: =LOOKUP(ROW(F1),C:C,A:A)&"" ずっと下までコピー。

hiroro5362
質問者

お礼

回答ありがとうございます。 とてもシンプル且つわかりやすくて助かりました。 以後、これを使わせていただきます。

その他の回答 (4)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.5

 回答番号ANo.4です。  すいません、JとFが入れ替わっておりました。 【誤】 =IF(ROWS($1:2)>SUM($B:$B)+1,"",IF(OR(J1=J$1,COUNTIF(J$1:J1,J1)=VLOOKUP(J1,$A:$B,2,FALSE)),INDEX($A:$A,MATCH(J1,$A:$A,0)+1),J1)) 【正】 =IF(ROWS($1:2)>SUM($B:$B)+1,"",IF(OR(F1=F$1,COUNTIF(F$1:F1,F1)=VLOOKUP(F1,$A:$B,2,FALSE)),INDEX($A:$A,MATCH(F1,$A:$A,0)+1),F1))

hiroro5362
質問者

お礼

ご回答ありがとうございます。 関数はなんとか理解できましたが、私にとっては活用が難しく感じまして、今回はベストアンサーを お出しすることができませんでした。 またExcelを勉強しつつ、kagakusukiさんの関数が使えるよう努力させて頂きます。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.4

 ANo.3様の添付画像と同じ配置とした場合、F2セルに次の数式を入力してから、F2セルをコピーして、F3以下に貼り付けると良いと思います。 =IF(ROWS($1:2)>SUM($B:$B)+1,"",IF(OR(J1=J$1,COUNTIF(J$1:J1,J1)=VLOOKUP(J1,$A:$B,2,FALSE)),INDEX($A:$A,MATCH(J1,$A:$A,0)+1),J1))

回答No.3

数式案 F2セル =A2 F3セル =IF(SUM(B:B)<ROW(F2),"", IF(COUNTIF($F$2:F2,F2)<INDEX(B:B,MATCH(F2,A:A,0)), F2,INDEX(A:A,1+MATCH(F2,A:A,0)))) 下へオートフィル (F列コピー - そのまま「値の貼り付け」)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! ご希望の表の2・3列目は関数で対応できると思いますので、 単に、行数を増やすだけのコードの一例です。 元データはA・B列の2行目からあるとします。 Sub test() Dim i, j As Long For i = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1 If Cells(i, 2) > 1 Then Rows(i + 1 & ":" & i + Cells(i, 2) - 1).Insert j = i + 1 Do Until j = i + Cells(i, 2) Range(Cells(i, 1), Cells(i, 2)).Copy Cells(j, 1).Select ActiveSheet.Paste j = j + 1 Loop End If Next i Application.CutCopyMode = False End Sub こんなんではどうでしょうか? B列は不要のようなのでB列すべてを削除 → B・C列はVLOOKUP関数等で対応してみてください。 尚、一旦マクロを実行すると元に戻せませんので別Sheetでマクロを試してみてください。 参考になれば良いのですが・・・m(_ _)m

hiroro5362
質問者

お礼

すいません。関数orマクロと言いながら、tom04様の回答を見させてもらって、全然マクロのことを知らないことがわかりました。一つ一つの意味はおぼろげながらわかるのですが、とても活用できるレベルではありませんでした。 次回から自分のステータスも掲載してこのようなことがないようにします。 本当に申し訳ありませんでした。