• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル ランダムな行、列の挿入)

エクセルでランダムな行、列の挿入方法

このQ&Aのポイント
  • エクセルでランダムな行や列を挿入する方法について解説します。手動で行を挿入してデータを並べ替える方法や、自動的に並べ替える方法があります。
  • 例えば、特定の月ごとにデータを並べたい場合は、行を挿入する方向にデータを入力し、空欄を空白で埋めてください。また、列を挿入する方向にも同様に行います。
  • これにより、データの並びを自動的に整えることができます。エクセルを使ってデータの整列を行いたい場合は、上記の方法を参考にしてください。

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

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

新しいシートに Apr-11から始まっててきとーに最後の日付まで縦に羅列 7ヶ月から始まっててきとーに最後まで横に羅列 した空の記入用表を準備 丸ごと選んでデータメニュー(データタブ)の「統合」を開始 元の範囲に元のデータ範囲を設定 上端行、下端列にチェックを入れてOKして完成。 #縦の欄、横の欄はふつーにオートフィルドラッグで自動生成させます。 #まぁ、縦横用意した空の表を準備した時点で、普段使いの関数を使って元の表から該当欄の値を取ってこさせても大した作業じゃありませんけど。

luna0
質問者

お礼

ありがとうございました。 「統合」は数値以外も使えるところがよさそうです。 もしかしたら初歩的なことかもしれませんが、とても助かりました。

その他の回答 (2)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

行や列の挿入は入力用の表(シート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の式がさらに複雑になります。

luna0
質問者

お礼

式を作るのが苦手なので、書いてくださって ありがとうございます。

回答No.1

下と右、まさかエンドレス??

luna0
質問者

補足

説明不足ですみません。 だいたい今年までという形ですが、 行、列ともに100セル近く広がることがあります。

関連するQ&A