[[20110831142407]] 『データーベースからの抽出』(4949) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『データーベースからの抽出』(4949)
 Excel2003 WindowsXPを使用してます。

 sheet1に

   B     C     D       E     F      G
 所定労働時間 所定労働日 所定労働時間 個人コード  氏名    雇用区分
   7.75    21    162.75    100   田中三郎    正社員
   7.75    21    162.75    150   鈴木一朗    契約社員
   7.25    21    152.25    200   橋本治朗    パート

 と100名ほど続いたデーターベースがありまして、
 sheet2に雇用区分別に振り分けて表示したいのですが、
 sheet2にはB1〜G2が正社員 R2〜W2が契約社員 ・・・となります。
 分かるかたお願いします。


 こういう質問でいつも思うが、
 オートフィルタとか、フィルタリング処理ではダメなんかねぇ?

 (GobGob)

 見づらいので雇用区分に分けて表示したいのですが。。。

 タイトル行が1行目にあるなら
 データベースクエリ なんかも使えると思います。

 メニュー・データ(D)→外部データの取り込み(D)
  新しいデータベースクエリ(N)

 表が複数になる様なので、更新は、外部データツールバーを出して
 [全て更新]ボタンを押して下さい。

 (HANA)

 エクセル関数では無理でしょうか?
 sheet2のデータをまた違うデータへ移行するので出来れば関数を使用したいのですが。。。

 >> sheet2にはB1〜G2が正社員 R2〜W2が契約社員

 なにを表示するかにもよるけど、結局すべてのデータを抽出するんだから
 見づらいといっても結局フィルタリングで絞りこんだような表示になるだけだと思うんだけどねぇ

 まぁ、いいや。。。。

 Sheet1のH列を作業列

 H2 =G2&"_"&COUNTIF(G$2:G2,G2)   下へコピー。

 Sheet2

 G2に 正社員   W2に 契約社員  と入力。

 B2 =INDEX(Sheet1!B:B,MATCH($G2&"_"&ROW(A1),Sheet1!$H:$H,0))
 F2までコピー。B2:G2 下コピー。

 R2 =INDEX(Sheet1!B:B,MATCH($W2&"_"&ROW(A1),Sheet1!$H:$H,0))
 V2までコピー。R2:W2 下コピー。

 ※エラー処理無し。

 (GobGob)

 素早い回答ありがとうございました。

 >B2 =INDEX(Sheet1!B:B,MATCH($G2&"_"&ROW(A1),Sheet1!$H:$H,0))
 >F2までコピー。B2:G2 下コピー。

 早速使わせていただいて疑問が出てきました。
 ROW関数がよくわかってないのですが、ROW(A1)のA1はなぜA1なのでしょうか?
 素人すぎる質問で申し訳ないんですが。。。


 ROW(A1) ・・・ 結果 「1」

 べつにB1でもAA1でもIV1でもいいよ。(IV1なら相対参照か・・・w)
 1行目なら。

 ROW関数は行番号を返す。
 数式の一番上の行、「1」からスタートしたいため。
 んで、下に行くにつれて 2、3、4 ・・・ としたいため。

 どす。

 (GobGob)

ありがとうございました。

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.