Gizport
1 回答
0
Share (facebook)
40
view
全般

エクセルVBAで人数を数えたいです。 2000年4月から2007年6...

エクセルVBAで人数を数えたいです。 2000年4月から2007年6月までにおける、1ヶ月ごとの個人所属調査データがあります。
何人の人が、どこの所属に、どれくらいの期間いたのか、半年ごとの数値をエクセルVBAでカウントできればと思います。
2000年4月から2007年6月までの間に、入社・退職をしている人も多いです。

<元データ>
------2000/4/1---2000/5/1---2000/6/1---2000/7/1---2000/8/1---中略---2007/4/1---2007/5/1---2007/6/1
Aさん---福島-------福島-------富山--------富山-------新潟--------------新潟-------------------------
Bさん-------------愛媛--------愛媛--------佐賀-------佐賀-----------------------------------------
Cさん-------------広島--------鳥取--------鳥取-------鳥取--------------鳥取---------岐阜------岐阜
Dさん-------------------------東京--------大阪-------東京--------------京都---------京都--------
…以下3000名ほど。


上記のデータを基に、以下の項目で人数を示したいです。


------------福島----東京----富山----新潟-----愛媛--------
~6ヶ月
6-12ヶ月
12-18ヶ月
18-24ヶ月
…以下80ヶ月くらいまで


もし、エクセルVBAで上手く出来る方法があれば、どうぞご指南下さい。
よろしくお願い致します。
Yahoo!知恵袋 6043日前
コメントする
お気に入り
1
質問者が選んだベストソリューション
VBAの案です。


期間が、00/04~07/06 と言う事ですので 87ヶ月→(半年区切りで)15区間
所属先が幾つかは、記載がありませんので x箇所

二次元で、( 14 , x-1 )の配列を用意
他の変数としては、文字列比較用を2~3個・カウント用で2~3個

ForEach で行(人毎のデータ)を読んで、
・連続する所属先の出現数を一時変数に格納
・所属先が変わったら 二次元配列の該当する箇所をカウントアップ

全ての行を読み終わったら、配列のデータをシートに記録(二次元なので変数二つでループですね^^)


所属先が40箇所でも変数600個くらいですから、重いとは思いますが応答なしで行きっぱなしにはならないかと^^;
上手く動作しない場合は、一人分読む毎にシートに書き込んでしまうなど対応を要検討ですね!



こんな感じでいかがでしょうか?



■追記■


シートへの書き込みの際ですが、変数でループするよりも Variant型の変数を使って
ここもForEachの方が良いかもしれません。 (10:45頃記入)


一人一人の行データが、87項目ですよね?
処理として、一行分まるごと配列に入れてしまって、となり合う要素の比較なら文字列変数は不用ですね^^ (11:00頃記入)
Yahoo!知恵袋 6043日前
シェア
 
コメントする
 

参考になったと評価
  このQ&Aは参考になりましたか?

Share (facebook)
その他の解決方法を知っていますか?
回答する
全般
25
Views
質問者が納得単純に並び替えだけならペイントでもできますが、透明色に関してはペイント使わないほうがいいです。ペイントじゃ一部の色以外透明色に設定できません。 2000の素材は256色画像なので256色で編集できるドットエディタで編集したほうが早いです。 EDGEなどのドットエディタで開いてみれば1番左上の色が透明色になってます。 (透明色は大抵背景色として使われている色が指定されていると思います。) 単純に並び替えても2000のマップは16*16、VX Aceは32*32なので一マスのサイズが倍になっていることも注意が...
3592日前view25
全般
33
Views
質問者が納得>最初充電したときはできましたが、それから2回目やろうとしたらできなくなりました。 単なる電池切れでしょうね。電池を入れ替えてみましょう。 (ちなみに、電池で動く全ての物について共通しますが、調子が悪いと思ったらまず新品の電池を入れることです。「なんか調子悪い」という相談の9割は電池が原因です) どんなタイプか知りませんが、単3電池×4本という前提で回答しますと、 ◇アルカリ電池・・・iPhone の7割前後の充電量を確保できる (※ 電池によって大きく変動するので参考程度に) ◇エネループ・・・・...
3627日前view33
全般
36
Views
質問者が納得申し訳ないんですが、私は自宅作業ではMAC環境は使っておらず、DAWもProtoolsは使っていません。 自宅以外の場所では、MAC+Protools環境を触ることも無いことは無いですが、機器関係のセットアップは済んだ状態でコンソールを触るだけで、コントローラも現場に完備のものを使うだけなので、BCF2000は使っていません。 (フィジコンモードのデジタルミキサーがスタンバイしてあるので、何もBCF2000なんか持ち込む必要がない場所に限るため) なので、ちょっと自信がないんですが・・・ 私が持っている...
3706日前view36
全般
26
Views
質問者が納得PC[USB端子]→USBケーブル→DA-100ーイヤホン/ヘッドホン と単純にしてはどうですか? 私は、DA-200を使っておりますが、ノイズはありません PC[USB端子]→USBケーブル→DA-200ーイヤホン/ヘッドホン 恥ずかしながら、いまだに、itunesを使っています。
3810日前view26
全般
46
Views
質問者が納得普通にReplayGainを使えばいいのでは? ・事前にMIDIファイルの音量解析をしておく (右クリック > ReplasyGain > Scan per-file track gain) ・変換の際に、ProcessingにてReplayGainを有効にする (mode=track、processing=apply gain) ・必要なら、上記でPreampのスライダーも調整 これで出力WAVファイルの音量は調整できるはずです。 因みに当方では、仰るような用途にはXMPlayを使ってい...
3796日前view46

関連製品のQ&A