- 締切済み
別のシートにデータを分けて並べるには
このような訪問予定表をつくっています。 [D]は営業所で[E]は顧客IDです。 [A] [B] [C] [D] [E] 1]1/1 AM 渋谷 a 2]1/2 AM 10:00 新宿 b 3]1/1 AM 11:00 銀座 c 4]1/2 PM 銀座 d 5]1/1 PM 13:00 新宿 e 6]1/1 PM 新宿 f 7]1/2 AM 9:00 渋谷 g 8]1/2 AM 新宿 h 9]1/2 AM 9:00 新宿 i これを今までは手作業で、以下のSheet2に移行していました。 [I]列までしかありませんが、15日分が右方向にに連続しています。 見苦しいですが、A列は営業所名、B・D列は時刻、C・E列は顧客IDです。 __[A]_[B]_[C]_[D]_[E]_[F]_[G]_[H]_[I]_ 1]__|__ 12/1 ___|_ 12/2_|____ 2]__| AM _|PM___|AM____|PM___ 3]新宿|____|13:00_e|___ h |____ 4]__|____|___ f|10:00 b |____ 5]__|____|____| 9:00 i |____ 6]__|____|____|_____|____ 8]銀座|11:00 c|____|_____|__ d_ 9]__|____|____|_____|____ 10]__|____|____|_____|____ 11]__|____|____|_____| 14]渋谷|__ a |____| 9:00 g | (以下省略) これを関数や、VBAで簡単にする方法はないでしょうか? 環境はExcel2000です。わたしはVBAはまだ初心者です。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- mu2011
- ベストアンサー率38% (1910/4994)
安直ですが、ベ○タ、窓○杜等でスケジュール管理のフリーソフトを探した方が早いのではないでしょうか。
- zap35
- ベストアンサー率44% (1383/3079)
関数では少しきつそうですね。VBAで作るのが良いと思います。 私も表の形式は違いますが同様のスケジュール管理表を作成して利用しています。私の場合スケジュールを表形式に展開する部分はVBAで行っていますが、大体60行くらいのプログラムになりました。 ただこれだけの情報ではJIL_Sさんが思い描いた通りのプログラムは作れません。やはりご自分で試行錯誤されるしかないでしょう。最初はシンプルな基本動作だけ作って、徐々に便利機能を追加していくと楽だと思います。 具体的に質問を絞っていただければお手伝いは可能ですが…
お礼
ありがとうございます。 会社の隣部署に詳しい人がいて、解決しました。 方法は以下のとおりです。なお、実際のファイルのSheet2の1~10行は別のデータです。したがって、Sheet2!B11 = 12/1、Sheet2!A13 = 新宿・・・となっています。 Sheet1に非表示セルの列を2つ作ります。 Sheet1!F1 =D1&A1&B1 Sheet1!G1 =(MATCH(D1,Sheet2!$A$13:$A$37,0)+COUNTIF(F$1:F1,F1)+11)*100+((A1-Sheet2!$B$11)*4+IF(B1="AM",0,2)+2) Sheet2!B13 =INDEX($C$1:$C$9,MATCH(ROW()*100+COLUMN(),$G$1:$G$9,0)) Sheet2!C13 =INDEX($E$1:$E$9,MATCH(ROW()*100+COLUMN()-1,$G$1:$G$9,0)) としました。 自分でもどうしてこうなるのか、まだ理解途中です・・・。 お騒がせして申し訳ありませんでした。