• 締切済み

Excel2000 データの振り分けと配列変換について

ARCの回答

  • ARC
  • ベストアンサー率46% (643/1383)
回答No.2

どもども >簡単な記録式のマクロしか使ったことがありませんが… 一応、今回も基本はマクロの記録を使います。 第一段階 準備 1:A列からC列までを選択し、[データ]-[フィルタ]-[オートフィルタ]を実行する 2:あらかじめ、所属分のシートを作っておく(S所属1,S所属2,S所属3…と名前を付ける) マクロの記録を開始して、以下のような感じのマクロを記録する 1:S所属1を選択 2:すべてのセルを選択し、[Delete]キーでデータを削除 3:Sheet1を選択 4:[所属]の▼をクリックし、1を選択 5:A列からC列までを選択 6:コピー 7:S所属1のA1のセルをクリックして、貼り付け 8:以上の操作を、所属の数だけ繰り返す 第二段階については、段組にする際の分岐点の位置が毎回異なるため、これをその都度計算してやる必要があります 。 とりあえず、マクロを記録を使って、記録してみたのが以下の内容です。 (所属1に関してのみ、段組を行った) 実際にマクロを記録してみて、マクロメニューから[編集]してみてください。 Sub 段組()  Sheets("S所属1").Select 'S所属1を選択  Range("A1:C1").Select 'タイトル行(A1:C1)を選択  Selection.Copy   'コピーして  Range("E1").Select  'E1を選び  ActiveSheet.Paste  '貼り付け  Range("A26:C49").Select '※全部で49行あったので、中間点となる26行目以降を選択  Application.CutCopyMode = False  Selection.Cut   '切り取って  Range("E2").Select  'E2を選択  ActiveSheet.Paste  '貼り付け End Sub 次回、この内容を改良してみます。 ってことで、また明日か明後日にでも書き込みます!

関連するQ&A

  • C言語による「テキストファイルの読み書き(fprintf)」について

    C言語による「テキストファイルの読み書き(fprintf)」について質問です ずぶの初心者ですが、既知のファイルの1行目に指定した文字列を付加させるプログラムを作りたいと思っています。 以下のように作りました。 ------------------------------------------------------------ #include <stdio.h> int main(void) { FILE *fp; fp = fopen("test.csv","r+"); fprintf(fp,"コントロールカラム1,コントロールカラム2,・・・(略)・・・,コントロールカラム56\n"); fclose(fp); return 0; } ------------------------------------------------------------ このとき「test.csv」の内容が以下のようであったとします。(容量は1MBくらいです。) 001,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj 002,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj ~(略) 5000,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj この状態でプログラムをコンパイルして実行すると、「test.csv」の内容が以下のようになってしまいます。(一行目が消える) AAA,BBB,CCC,DDD,EEE 002,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj ~(略) 5000,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj またcsvの行が増える度に妙な挙動になっていきます・・・(一行あいたり、先頭行が5行ほど消えたり) 希望する動作としては コントロールカラム1,コントロールカラム2,・・・(略)・・・,コントロールカラム56 001,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj 002,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj ~(略) 5000,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj のようになるようにしたいのですがどのようにすればよいのでしょうか。 よろしくお願いします。 (使用ソフト:Borland C++ Compiler, Cpad) 参考にしたサイトの項目:http://homepage3.nifty.com/mmgames/c_guide/17-01.html

  • sedで文字列の抜き出し

    ある一部分の文字列を抜き出したく、sedを使用したいと思って試行錯誤しております。 ↓あるファイル内の文字列 aaa bbb=ccc:ddd=eee:fff=ggg: aaa bbb=hhh:ddd=iii:fff=jjj: ※aaaとbbbの間はスペースです。 ※bbb,ddd,fffはある一定のキーワードです。 ※ccc,eee,ggg,hhh,iii,jjjはバラバラの文字列で長さも一定ではありません。 【質問】 上記の文字列の中でddd=の後の文字列(eee,iii)のみを抜き出したいです。 以下のようなsedを試してみましたが、 eee:fff=ggg iii:fff=jjj が抜き出されてしまいます。 sed 's/.*:ddd=\(.*\):\(.*\)$/\1/' 恐れ入りますが、皆様の知恵をお貸し下さい。

  • 配列の移動

    TEXTファイルに文字列を書き込んだり削除したり移動したりするプログラムを作成していますが、 aaa bbb ccc ddd eee fff ggg hhh iii このような内容を 1,aaa bbb ccc 2,ddd eee fff 3,ggg hhh iii のように上から順番に配列化して番号を指定して移動させたいのですが、 3の配列を2の上(配列1と配列2の間)や下(配列2と配列3の間)に移動するのにはどのようにしたら良いのでしょうか?

    • ベストアンサー
    • Perl
  • VBAでCSV内にある改行を取る方法

    あるシステムが吐くcsvファイルの項目の中に改行が入っているものがあります。 例) 01,aaa,bbb(改行)bbb,ccc(改行) 02,ddd,eee,fff(改行) 03,ggg(改行)ggg,hhh,iii(改行) このCSVファイルをエクセルのマクロで読み込んでシートに展開したい のですが、項目中にある改行で別レコードを認識してしまいます。 結果) A B C D ---+---+---+--- 01 aaa bbb  bbb ccc 02 ddd eee fff 03 ggg ggg hhh iii これを以下のようにしたいのですが・・・ A B C D ---+------+------+---- 01 aaa bbbbbb ccc 02 ddd eee fff 03 gggggg hhh iii どうやればよいでしょうか? ご教授お願いいたします。

  • EXCEL VBA split関数について

    Excel VBA初心者です。 split関数についてどなたか教えていただけないでしょうか。 aaa,bbb,ccc,eee fff,ggg,hhh,iii jjj,kkk,lll,mmm というデータがあるとして、そこから aaa bbb fff ggg jjj kkk これだけ(左から2個分)を抜き取りたいのですが可能でしょうか? カテ違いな質問でしたらスミマセン。

  • 大量データの一括変換

    aaa.bbb ccc.ddd eee.fff ggg.hhh 上記のようなデータが約1万行程度あるのですが、これを下記のようなユーザ名・メルアドに変換するコマンド等、お分かりになる方教えてください。ユーザ名・メルアドの間は半角スペースです。 ある程度自分で調べた結果awk等で出来そうな気がするのですが。。。 ユーザ名  メルアド   ↓     ↓ aaa.bbb aaa.bbb@hoge.com ccc.ddd ccc.ddd@hoge.com eee.fff eee.fff@hoge.com ggg.hhh ggg.hhh@hoge.com

  • エクセルのマクロについて

    エクセル97のマクロについて教えてください。 下のようなエクセルシートがあると仮定します。 このシート全体を選択して用意してあるボタンを押すと、マクロが流れるようにします。 マクロの中身は、項目1~4の値が同じであれば、同じデータを一つにするというものを考えています。 たとえば下の例の場合、追番でいえば2と4のデータは同じなので、マクロ処理にかけると、追番の大きい4のデータは消え、2のデータの"200"項目にフラグ1が追加されるようにしたいのです。 項目の値が同じであれば、いくつでもデータを統一したいと考えています。 ================ エクセル シート例 ================================== 追番_項目1_項目2_項目3_項目4_100_200_300_400 ← 見出し ----------------------------------------------------------------- 1****AAA****BBB****CCC****DDD****1*********1****1**** 2****EEE****FFF****CCC****GGG****1**************1**** 3****HHH****FFF****KKK****JJJ****1****1****1********* 4****EEE****FFF****CCC****GGG****1****1*********1**** ↓ マクロ処理後 追番_項目1_項目2_項目3_項目4_100_200_300_400 ← 見出し ----------------------------------------------------------------- 1****AAA****BBB****CCC****DDD****1*********1****1**** 2****EEE****FFF****CCC****GGG****1****1*********1**** 3****HHH****FFF****KKK****JJJ****1****1****1********* =================================================================== 注:見出しの_とデータの中の*は空白を生めるためのもので、データとはまったく 関係ありません。 なにぶんエクセルVBAは初心者同然なもので... よろしくお願い致します。

  • excel2003 二つと一致したものを選ぶ関数

    いつもお世話になります。 素人が何かをするとすぐに壁に当ります。 よろしくお願いします。 二つのキーに一致したものを選べる関数はありますか? 例えば、 CD1 CD2 CD3 CD4 0001 aaa ddd ggg 0002 bbb eee hhh 0003 ccc fff iii 上記のデータがあると致しまして、 CD1の「0002」とCD4「hhh」が、一致して、 CD2の『bbb』を抜き出したいのですが・・・。 よろしくお願い致します。

  • SQLについて

    aaa bbb ccc ddd eee ggg hhh ---------------------------------------------- 111 111 111 111 111 111 111 112 112 112 112 112 112 111 112 113 113 113 113 113 111 114 114 114 114 114 114 111 114 114 114 114 114 114 112 114 115 115 114 114 115 111 114 115 115 114 114 115 112 116 116 116 116 116 116 111 116 116 116 116 116 116 112 116 116 116 116 116 117 111 116 116 116 116 116 117 112 118 118 118 118 118 118 118 上記のようなデータより、SQLのSELECTを使用して、以下のように抽出したいです。 抽出条件は以下が全て満たしているものとなります。 ・aaa,ccc,ddd,eee,gggが重複、hhhが小さいもの ・bbbが異なるもの aaa bbb ccc ddd eee ggg hhh ---------------------------------------------- 112 112 112 112 112 112 111 ・・・(1) 112 113 113 113 113 113 111 ・・・(1) 114 114 114 114 114 114 111 ・・・(2) 114 115 114 114 114 115 111 ・・・(2) (1)はaaa,ccc,ddd,eee,gggが重複、bbbが異なるため抽出対象 (2)はaaa,ccc,ddd,eee,gggが重複、bbbが異なるため抽出対象  また、hhhが小さいもの 以上、よろしくお願いします。

  • SQL上位n件ORDERBY 以降ORDERBY

    SQLのORDER BYについてご教授いただけますでしょうか。 例えば、10件のデータのうち、5件を指定のORDERBYで抽出し、 残り5件をORDERBYで抽出するということは可能でしょうか。 ID 名前 システムフラグ 1 AAA 1 2 BBB 1 3 CCC 1 4 DDD 1 5 EEE 1 6 FFF 2 7 GGG 2 8 HHH 1 9 III 1 10 JJJ 1 上記のようなデータがあった場合、 以下のように抽出されるようにしたいと思っています。 ID 名前 システムフラグ 1 AAA 1 2 BBB 1 3 CCC 1 6 FFF 2 7 GGG 2 4 DDD 1 5 EEE 1 8 HHH 1 9 III 1 10 JJJ 1 システムフラグが2が入っているものは、 5件からの4,5件目に表示されるようにして、 それ以降はIDの昇順で表示されるようにしたいと思っております。 5件というのは、決め打ち5件ではなく、条件によっては変わるのですが、 5件が7件となった場合は、6,7件目がシステムフラグ2のものがくるようにしたいです。 指定した件数から下2つ目がシステムフラグのものが取得したいということです。 わかりにくいと思いますが、どのようなSQLを書けば抽出できるか ご教授いただけますでしょうか。 どうぞ宜しくお願い致します。