以下のサンプルテーブルを作成しました。これは、Excelのテーブルとほぼ同じで、質問を説明するのに役立つはずです。 column1の個別のデータの後に行を追加するだけです(最も簡単な方法、Excelを使用、ありがとう)。
_
column1 | column2 | column3
----------------------------------
A | small | blue
A | small | orange
A | small | yellow
B | med | yellow
B | med | blue
C | large | green
D | large | green
D | small | pink
_
注:各個別の列の後の空白行1
column1 | column2 | column3
----------------------------------
A | small | blue
A | small | orange
A | small | yellow
B | med | yellow
B | med | blue
C | large | green
D | large | green
D | small | pink
これはあなたが求めていることを正確に行い、行をチェックし、空の空行を挿入します列Aの各変更で:
sub AddBlankRows()
'
dim iRow as integer, iCol as integer
dim oRng as range
set oRng=range("a1")
irow=oRng.row
icol=oRng.column
do
'
if cells(irow+1, iCol)<>cells(irow,iCol) then
cells(irow+1,iCol).entirerow.insert shift:=xldown
irow=irow+2
else
irow=irow+1
end if
'
loop while not cells (irow,iCol).text=""
'
end sub
それがあなたを始めることを願っています、私たちに知らせてください!
フィリップ
列ラベルを含む配列を選択し、データ>アウトライン-小計、各変更:column1、関数を使用:カウント、小計を次に追加:column3、現在の小計とデータの下の要約を置換、OKをチェックします。
Column1、Text Filters、Contains ...、Count、OKをフィルタリングして選択します。ラベル以外のすべての表示を選択して、コンテンツを削除します。フィルタを削除し、必要に応じて行のグループ化を解除します。
データがシーケンシャルでない場合(1 2 3 4が5 7 3 1 5)、これはソートできないため、これは機能しません。
私がこの問題を解決する方法は次のとおりです。
列各数値の間に5行を含む必要がある初期データ-5 4 6 8 9
列B-1 2 3 4 5(最終番号は、列Aの数字の間にある必要がある空行の数を表します)列Aに数字がある限り、列Bに1-5をコピーして貼り付けます。
D列にジャンプし、D1に1を入力します。D2に次の式を入力します-=IF(B2=1,1+D1,D1)
列Bと同じ長さにドラッグします。
列Cに戻ります-C1セルでこの式を入力します-=IF(B1=1,INDIRECT("a"&(D1)),"")
。下にドラッグして完了しました。これで、列Cには、列Aと同じ一連の番号が4行ずつ個別に分散されます。
理解した。
Column1の左側に新しい列を配置し、次の式をコピーして貼り付けます
= B2 = B3
= B3 = B4
= B4 = B5
...一番下まで(ここの列Bは元の質問の列1であると仮定します)。
この式は、次の行がcolumn1の新しい値であるかどうかを評価します。結果に応じて、TRUEまたはFALSEになります。これらの結果をコピーして値として貼り付け、nilの「FALSE」と0.5の「TRUE」を交換します
次に、0.5だけで満たされた列をcolumn1に追加すると、次の表が生成されます。
_ newcolumn0 | column1 ("B") | column2 | column3
-----------------------------------------------------
| 1 | small | blue
| 1 | small | orange
1.5 | 1 | small | yellow
| 2 | med | yellow
2.5 | 2 | med | blue
3.5 | 3 | large | green
| 4 | large | green
4.5 | 4 | small | pink
_
最後に、newcolumn0の値をcolumn1の値のすぐ下にコピーして貼り付け、column1でテーブルを並べ替えます。column1の各整数の間に空白行があり、テーブルは次のようになります。
_ newcolumn0 | column1 ("B") | column2 | column3
---------------------------------------------------------------
| 1 | small | blue
| 1 | small | orange
1.5 | 1.5 | |
| 1 | small | yellow
| 2 | med | yellow
| 2 | med | blue
2.5 | 2.5 | |
| 3 | large | green
3.5 | 3.5 | |
| 4 | large | green
| 4 | small | pink
4.5 | 4.5 | |
_
=IF(B3=B2,A2,A2+1)
に入れ、列2の残りに対してこの式をコピーして貼り付けます上記の小、中、大などのカテゴリを知っているなら、ただのアイデアです...
シートの下部で、小、中、大と言うだけの3行を作成し、フォントを白に変更してから、アルファベット順に並べ替えて、各セクションの間に空白行を配置します。