- ベストアンサー
エクセルでランダムな行、列の挿入方法
- エクセルでランダムな行や列を挿入する方法について解説します。手動で行を挿入してデータを並べ替える方法や、自動的に並べ替える方法があります。
- 例えば、特定の月ごとにデータを並べたい場合は、行を挿入する方向にデータを入力し、空欄を空白で埋めてください。また、列を挿入する方向にも同様に行います。
- これにより、データの並びを自動的に整えることができます。エクセルを使ってデータの整列を行いたい場合は、上記の方法を参考にしてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (2)
- KURUMITO
- ベストアンサー率42% (1835/4283)
行や列の挿入は入力用の表(シート1)とそれらの行や列を挿入した状態の表(シート2)て取り扱うのがよいでしょう。 次のようにすることでシート1のデータをシート2に表示させることができます。 シート1ではA1セルが空白でB1セルから横の列に7,8,9…のように入力します。その後にそれらのセルを選んで右クリックし「セルの書式設定」の「表示形式」から「ユーザー設定」で種類の窓には G/標準"ヶ""月" と入力してOKします。これで7ヶ月のように表示されます。 またA2セルから下方には日付を入力してセルの表示形式でApr-11のように表示させます。お示しの最後の表のようにデータが入力されているとします。表ではMar-12とありますが後の処理を良くするためにはMar-11になるようにします。 そこでシート2ですがA2セルに次の式を入力して右横方向にドラッグコピーしたのちに下方にもドラッグコピーします。 =IF(AND(COLUMN(A1)=1,ROW(A1)=1),"",IF(AND(ROW(A1)=1,COLUMN(A1)>=2),IF(MIN(Sheet1!$1:$1)+COLUMN(A1)-2>MAX(Sheet1!$1:$1),"",MIN(Sheet1!$1:$1)+COLUMN(A1)-2),IF(AND(ROW(A1)>1,COLUMN(A1)=1),IF(DATE(YEAR(MIN(Sheet1!$A:$A)),MONTH(MIN(Sheet1!$A:$A))+ROW(A1)-2,1)>MAX(Sheet1!$A:$A),"",DATE(YEAR(MIN(Sheet1!$A:$A)),MONTH(MIN(Sheet1!$A:$A))+ROW(A1)-2,11)),IF(OR(COUNTIF(Sheet1!$1:$1,A$2)=0,$A2="",A$2="",COUNTIF(Sheet1!$A:$A,$A2)=0),"",INDEX(Sheet1!$A:$XX,MATCH($A2,Sheet1!$A:$A,0),MATCH(A$2,Sheet1!$1:$1,0)))))) なお、B2セルから横の列は先に述べたようにセルの表示形式でヶ月と表示されるようにします。 また、A3セルから下方にはシリアル値が表示されますのでセルの表示形式でApr-11などになるようにします。 表1のデータの入力に合わせて自動的にシート2の表が変化します。表1での日付はその月の11日になるようにしてください。そうでない場合にはシート2の式がさらに複雑になります。
お礼
式を作るのが苦手なので、書いてくださって ありがとうございます。
- K Kazz(@JazzCorp)
- ベストアンサー率31% (549/1751)
下と右、まさかエンドレス??
補足
説明不足ですみません。 だいたい今年までという形ですが、 行、列ともに100セル近く広がることがあります。
お礼
ありがとうございました。 「統合」は数値以外も使えるところがよさそうです。 もしかしたら初歩的なことかもしれませんが、とても助かりました。