- ベストアンサー
エクセルで 数量分だけ表示するにはどのようにしたらいいのでしょう
エクセルで 数量分だけ表示するにはどのようにしたらいいのでしょう 20X30X40=3個 30X20X40=4個 ↓ 20X30X40 ) 20X30X40 }3個分 20X30X40 ) 30X20X40 30X20X40 ) 30X20X40 }4個分 30X20X40 ) といった感じにしたいのですがお願いします
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
No.4です! たびたびごめんなさい。 前回は大きく外していたみたいです。 関数では難しいようなので Sheet見出し上で右クリック → コードの表示 ↓のコードをコピー&ペーストして、マクロを実行してみてください。 Sub test() Dim i, j As Long i = 1 j = 1 Do While i <= j Do While j <= WorksheetFunction.Sum(Range("B1:B" & i)) Cells(j, 3) = Cells(i, 1) j = j + 1 Loop i = i + 1 Loop End Sub こんな感じで良かったのですかね? 尚、データは1行目からあるという前提です。 以上、参考になれば良いのですが 今回も外していたらごめんなさいね。m(__)m
その他の回答 (5)
- layy
- ベストアンサー率23% (292/1222)
20X30X40=3個 30X20X40=4個 ↓ 20X30X40=3個 20X30X40 20X30X40 20X30X40 30X20X40=4個 30X20X40 30X20X40 30X20X40 30X20X40 ↓ 20X30X40=3個 30X20X40=4個 20X30X40 30X20X40 20X30X40 30X20X40 20X30X40 30X20X40 30X20X40 一旦横に展開させておいて、後から縦に変換。 こうする方が20段って考えなくてもいいように思います。
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! 外していたらごめんなさい。 ごく単純にやってみました。 C列に表示させるとします。 1行目からデータがあるとして・・・ C1セルに =IF(ROW(A1)<=$B$1,$A$1,IF(ROW(A1)<=SUM($B$1:$B$2),$A$2,IF(ROW(A1)<=SUM($B$1:$B$3),$A$3,""))) という数式を入れ、オートフィルで下へコピーではダメですか? 以上、的外れなら読み流してくださいね。m(__)m
- guchi_yama
- ベストアンサー率47% (57/119)
すみません。先ほど回答してしまっていますが、 >20X30X40をA1 個数をB1 >30X20X40をA2 個数をB2 >40X10X40をA3 個数がB3 > 以下に続いた場合 >最長20段位までなるかと思います この意味合いは、A3以降も「##×##×##」という流れが、 20個くらい続くという意味でしょうか? IFのネストは6個までが限界なので、 現在A3までを対応させるのにIFを5個重ねています。 その為、4つ以上の対応は無理です。 どの様にしたいのか、再度詳細をお書き頂けると 別案を提示できるかも知れませんが、 情報量が少ない為、 最初の回答も多分そうであろう程度の回答となっていますので、 その辺もご考慮下さい。
補足
そうなんです、 ifでは限界がありまして、先ほどから詰まっております、、、 20段位まで続くとみてくださいませ。
- guchi_yama
- ベストアンサー率47% (57/119)
A3に40×10×40 B3に個数を追加した場合、 以下の式で大丈夫だと思います。 =IF($B$1>ROW()-5,$A$1,IF($B$1=ROW()-5,"",IF($B$1+$B$2+1>ROW()-5,$A$2,IF($B$1+$B$2+1=ROW()-5,"",IF($B$1+$B$2+$B$3+2>ROW()-5,$A$3,"")))))
- guchi_yama
- ベストアンサー率47% (57/119)
20X30X40をA1 個数をB1 30X20X40をA2 個数をB2としたとき、 セルA4に下記式を入れて下へオートフィルする =IF($B$1>ROW()-4,$A$1,IF($B$1=ROW()-4,"",IF($B$1+$B$2+1>ROW()-4,$A$2,""))) これで個数分だけ20X30X40及び30X20X40が表示されます。
補足
すいません以下に増えた場合は同じような処理でいけますでしょうか? 20X30X40をA1 個数をB1 30X20X40をA2 個数をB2 40X10X40をA3 個数がB3 以下に続いた場合 最長20段位までなるかと思います
お礼
すばらしいです。 思った通りのものです ありがとうございました