[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『別シートへ指定数だけ行をあけて飛ばしたい』(しゅう)
何卒よろしくお願いします。
以下のようなシートがあります。
A B 品名 種類 鉛筆 5 消しゴム 2 ボールペン 1 下敷き 3
これを別シートの表に飛ばしたいのですが、品名と品名のあいだを、種類の数だけ行をあけたいのです。
品名 種類 鉛筆 5 0 0 0 0 0(5行の空き) 消しゴム 2 0 0(2行の空き) ボールペン 1 (1の時は空きなし) 下敷き 3 0 0 0 (3行の空き)
この説明でおわかりになるでしょうか。
※0は空欄セルです。
関数で処理したいのですが、おちからをおかしください。
< 使用 Excel:Excel2016、使用 OS:Windows10 >
元になるシートに作業列を作る。 C2セルに1、C3セルに =C2+B2*(B2>1)+1 と入力してC3セルを下へフィルコピーする。 (ねむねむ) 2018/05/18(金) 16:26
次に元シートがSheet1だとして別シートのA2セルに =IFERROR(INDEX(Sheet1!A:A,MATCH(ROW(A1),Sheet1!$C:$C,0)),"") と入力して下及び右へフィルコピーではどうか。 (ねむねむ) 2018/05/18(金) 16:29
Dim c As Range, r As Range Sheets("Sheet2").Cells.Clear Set r = Sheets("Sheet2").Range("A1") For Each c In Sheets("Sheet1").Range("A:A").SpecialCells(2) r.Resize(, 2).Value = c.Resize(, 2).Value Set r = r.Offset(IIf(Val(c.Offset(, 1).Value) < 2, 1, Val(c.Offset(, 1).Value) + 1)) Next c End Sub (mm) 2018/05/18(金) 16:47
今回は関数で対応したかった為、ねむねむ様のものでいかせていただきました。
助かりました!
(しゅう) 2018/05/18(金) 17:03
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.