- 締切済み
エクセルで一行(列)ずつ挿入するのを1発でする方法
を教えてください。 学習成績一覧表を、1学期から3学期までのものを一つにまとめたいのです。 例えば、A1セルから始まって横に(B1,C1・・・と)児童名が入っているとします。 この児童名と児童名の間に2列ずつ間を空けたいのです。つまりA1セルに出席番号1番の子の名前が入っていたとしたら、B列とC列を空白の列にし、B1セルに入っていた児童名がD1セルになるようにしたいのです。 上手く説明できませんが、分かっていただけるでしょうか? どなたか、よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
関数で考えるが、質問者の別の質問の書きぶりからして、難しすぎる課題と思う。 操作の列挿入でやれば仕舞いでは。 例データ Sheet1にA1:C1に 山田 木村 鈴木 Sheet2に A2に =INDEX(Sheet1!$A$2:$X$100,ROW()-1,INT((COLUMN()-1)/3)+1)ト入れて右方向に式を複写 山田 山田 山田 木村 木村 木村 鈴木 鈴木 鈴木・・ となる、 この各人の列で2、3番目を空白になるように変える。 =IF(MOD(COLUMN(),3)<>1,"",INDEX(Sheet1!$A$2:$X$100,ROW()-1,INT((COLUMN()-1)/3)+1)) 山田 ーー 木村 ーー 鈴木 100行やX列は適当に変えることa
- bin-chan
- ベストアンサー率33% (1403/4213)
「一発で」といっても多少の操作は必要です。 例として、児童さんが3人とします。(セルA1、セルB1、セルC1) 行2と行3は空白であるとします(もし何かあるなら、2行挿入してください。後で削除できます) 1)セルA2に値1、セルB2に値2、セルC2に値3を入力。セルA3からセルC3まですべてに値0を入力 2)セルA2からセルC2までを選択して「コピー」 3)セルD2を選択して「貼り付け」(セルD2からセルF2に値が入ります) 4)セルD3からセルF3までのすべてに値1を入力 5)セルD2からセルF3まで(この場合は6セル)を選択して「コピー」 6)セルG2を選択して「貼り付け」(セルG2からセルI3に値が入ります) これで以下のデータになります。 ABC 123123123 000111111 7)セルA1を選択し、Ctrl+Shift+Endキーを押下。 8)No.2さんの回答の方法で、列方向の並べ替え。キー1は行2の昇順、キー2は行3の昇順。 これで以下のデータになります。 A B C 111222333 011011011 結果を確認できたら行2行3は削除してOKです。
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! VBAでの一例です。 画面左下にある操作したいSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので、 ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub test() 'この行から Dim i As Long For i = Cells(1, Columns.Count).End(xlToLeft).Column To 2 Step -1 Range(Columns(i), Columns(i + 1)).Insert Next i End Sub 'この行まで こんな感じではどうでしょうか?m(__)m