- 2008-03-20 (Thu) 15:00
- web
「合計表に出てくる会員番号を検索して、その複数の取引内容を個別のシートに取り込む。」
この難問をクリアしようといろいろ調べてみると、VBAやユーザー関数を作るなどなど、急にレベルが高くなってしまいます。
これはとても無理だと思い、合計表を使わず買い手、売り手それぞれのシートに個別に入力していくことにしました。
しかしこれをシュミレーションしてみると、あまりにもシートの移動が面倒で、しかも同じ取引内容を2度入力することになり作業量がぐんと増えてしまいミスも起こりやすくなってしまいます。
何とか一発入力で、できれば数値だけ入力してできないだろうか?!
いろいろ繰り返した検索の中に、そのヒントがようやく見つかりました。
この難問をクリアしようといろいろ調べてみると、VBAやユーザー関数を作るなどなど、急にレベルが高くなってしまいます。
これはとても無理だと思い、合計表を使わず買い手、売り手それぞれのシートに個別に入力していくことにしました。
しかしこれをシュミレーションしてみると、あまりにもシートの移動が面倒で、しかも同じ取引内容を2度入力することになり作業量がぐんと増えてしまいミスも起こりやすくなってしまいます。
何とか一発入力で、できれば数値だけ入力してできないだろうか?!
いろいろ繰り返した検索の中に、そのヒントがようやく見つかりました。
それは枝番号を使うことです。
まず売り手の枝番号行、買い手の枝番号行を作ります。
そして「COUNTIF関数」でその会員番号がその入力列までに何回出てきたかをカウントし、その回数を「TEXT関数」で枝番号のように会員番号の後につけて入力されるようにします。
=IF(B3="","",B3&TEXT(COUNTIF($B$2:B3,B3),"000"))
B行は売り手の番号行でそれにCOUNTIFでカウントした回数をテキストとして後ろに表記させます。
(B3が1001でカウント数が2なら1001002というように)
これで同じ会員番号が複数回出てきても判別できるようになりました。
今度は各個別シートに「VLOOKUP関数」で枝番号つきの文字列(1001002)を検索させその列の取引内容を取り込めるようにします。
VLOOKUP(TEXT(1001,"0000")&TEXT(A8,"000"),枝番1,3,FALSE)
A8は個別シートの表の列番号で上の例で言うと2が記入してあります。
これでようやく買い手、売り手とも合計表の各取引内容を個別シートに取り込むことができるようになりました。
まず売り手の枝番号行、買い手の枝番号行を作ります。
そして「COUNTIF関数」でその会員番号がその入力列までに何回出てきたかをカウントし、その回数を「TEXT関数」で枝番号のように会員番号の後につけて入力されるようにします。
=IF(B3="","",B3&TEXT(COUNTIF($B$2:B3,B3),"000"))
B行は売り手の番号行でそれにCOUNTIFでカウントした回数をテキストとして後ろに表記させます。
(B3が1001でカウント数が2なら1001002というように)
これで同じ会員番号が複数回出てきても判別できるようになりました。
今度は各個別シートに「VLOOKUP関数」で枝番号つきの文字列(1001002)を検索させその列の取引内容を取り込めるようにします。
VLOOKUP(TEXT(1001,"0000")&TEXT(A8,"000"),枝番1,3,FALSE)
A8は個別シートの表の列番号で上の例で言うと2が記入してあります。
これでようやく買い手、売り手とも合計表の各取引内容を個別シートに取り込むことができるようになりました。
- Newer: EXCELで取引管理.4
- Older: EXCELで取引管理.2
Trackback : No Trackbacks
- TrackBack URL for this entry
- トラックバックの際は上記 URL をクリック、コピーしてご利用ください。
- EXCELで取引管理.3 from ChaBlog