• 締切済み

EXCEL データベース?抽出による一覧表作成(質問ワードが難しくネットで検索できず・・)

使用ソフトは、excel2003です。 簡単な計算式でできるのか、データベース的な知識が必要なのか よく分からず、その手法についてネットで検索しようとしても どう検索していいのかわからなかったので、ここに文章で 質問させて頂きます。 私のスキルは、自称「初心者レベルであれば上級者」くらいです(笑 【質問内容】 勤怠管理でエクセルで一覧表を作成しています。  No | 氏名 | 2/1 | 2/2 | 2/3 | 2/4 | ・・・・  1   田中   ○    ○    ×    ○  2   佐藤   ○    ×    ○    ○ 上記のような感じで作成しています。 (ずれて表記されていたらすいません) (1)これを別シートで、特定のセルに「No」若しくは「氏名」を入力するとその個人の勤務一覧表が完成するようにしたい。 (A4版の配布できるような勤務表に) 氏名【 田中 】←ここに入力する等 2/1 ○ 2/2 ○ 2/3  2/4 × ← 一覧表に IF構文で、1の場合は・・2の場合は・・と羅列するには 絶対量が多いため、無駄な努力となり もしかして簡単な構文や、手法があるのでは?と質問です。 なお、日によって勤務時間が異なり 同一日でも、業務内容によって3パターンの勤務時間があるので 上記、○や×のところに、◎や●を使って3パターンを作り 別に日にちごとにそれに対応した勤務時間の表を乗せ それらをうまく組み合わせることで、勤務日及び勤務時間まで 表記できれば、なおさらうれしい限りです。 あいまいな表現で、知りたいことがうまく伝わらなかったら すいませんが、分かる方いらっしゃいましたら、 どうか、宜しくお願い致します。

みんなの回答

  • CMLT
  • ベストアンサー率40% (143/357)
回答No.8

おそらく1枚の印刷シートに一個人の勤務表を作りたいのだと思います。 であれば、gyouda1114 氏の数式の引用列番号を氏名により可変にしてあげた方が良いと思われます。具体例として、 =INDEX(Sheet1!C:AD,MATCH(B$1,Sheet1!B:B),ROW(A1)) を記号を表示する初日の数式として入力、以下コピー。 (注:B1セルに氏名(可変)としています。場所が違う場合、B$1の部分を変更) 記号ではなく勤務時間とするなら、 ○ 勤務時間1 × 勤務時間2 ◎ 勤務時間3 ● 勤務時間4 のような表を作り、上の式の代わりに =vlookup(上の式,表の範囲,2) としてあげます。2日目以降へコピーする場合は表の範囲を絶対参照にするか行指定なしにして下さい。 例:AX$1:AY$4 や AX:AY など

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.7

回答番号:No.6です Shet2が抜けてました修正してください Sheet2 B1に =INDEX(Sheet1!$B:$AD,COLUMN(B1),ROW(B1)) B2セルから下行及びC1より右列にオートフィルでコピー 画像の上はSeet1です。

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.6

お望みのものであればいいのですが B1に =INDEX(Sheet1!$B:$AD,COLUMN(B1),ROW(B1)) B2セルから下行及びC1より右列にオートフィルでコピー

  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.5

sheet2 A2=IF(COUNTA(Sheet1!$1:$1)>ROW(),OFFSET(Sheet1!$A$1,0,ROW()),"") B2=IF(OR(B1="",A2=""),"",OFFSET(Sheet1!$A$1,MATCH($B$1,OFFSET(Sheet1!$B$1,0,0,COUNTA(Sheet1!$B:$B)),0)-1,ROW())) 32行目までフィル こんな感じかな?

回答No.4

実現したい事はよくわかりました。 私もチャレンジしてみましたが簡単には出来ませんでした。 やはりデータベース的な知識が必要だと結論付けました。 VLOOKUP関数、DGET関数などを使うと データベースのテーブルのように データを扱う事は複雑な条件でなければ可能です。 しかし質問者様の「一覧表」は テーブルの項目名とデータが混ざってしまっているようです。 データベースのテーブルを設計する時は正規化という作業が必要です。 元ネタを以下のように作り変えれば「勤務表」を作る事は可能です。 <勤怠> NO 日付 勤怠 1 2/1 ◎ 1 2/2 × 1 2/3 ● 2 2/1 ○ 2 2/2 ○ 2 2/3 ○ <名前> NO 氏名 1 田中 2 佐藤 このように元ネタを作り変え、VLOOKUP関数などを 使えば出来ると思います。 一覧をコピーし、 「形式を選択して貼り付け→行列を入れ替える」 などが便利だと思います。 しかし質問者様は「一覧表」から作りたいのですよね。 お役に立てなくて残念です。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

No.2の補足です! Sheet2のB2セルのオートフィル「+」のところでダブルクリックしてください。 これで2/28まで表示されると思います。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

一例ですが・・・ Sheet1のC2から○とかデータが入っているとします。 列方向にはC3から2/1・2/2・・・2/28と、その月の最後までの日付 Sheet2のA列にはA2から、2/1・2/2・・・2/28まで日付 B1セルには氏名ではなく、社員Noを入力した場合にB2セル~B29セルに ○・◎・●等を表示させる方法として回答します。 B2=IF($B$1="","",INDEX(Sheet1!$C$2:$AD$12,$B$1,DAY(A2))) ($AD$12の12部分は社員数によって変わります。当方で勝手に11名として試したものをコピペしました) この場合はSheet1のデータの中に○・◎・●等表示されているそのままがSheet2に反映されると思います・・・ もし見当違いの回答なら軽く読み流してください。m(__)m

  • koko88okok
  • ベストアンサー率58% (3839/6543)
回答No.1

下記の検索例あたりがお求めのものに近いような気がします。 「Excel 検索 抽出 関数」の検索結果 http://www.google.co.jp/search?hl=ja&q=Excel%E3%80%80%E6%A4%9C%E7%B4%A2%E3%80%80%E6%8A%BD%E5%87%BA%E3%80%80%E9%96%A2%E6%95%B0&lr=

zwr02052
質問者

お礼

DGET関数というものですね。 関数については、基本的なものしか知識がないため、 ちょっと読み込んで勉強してみます。 曖昧な質問に回答して頂きありがとうございます!

関連するQ&A

  • エクセルでの表作成について

    エクセルを使って勤怠一覧を管理しています。 シート1のA1には所属部門名・B1には氏名、そしてC3には残業時間が入力されています。 この一覧をシート2のA2からC2には総務部・残業時間・氏名を表示。 そして、1行空けてE1からG1には営業部・残業時間・氏名を表示するように表を作成したいのですが、エクセルの機能を使って簡単にシート2にこれらの表を作成する事は可能でしょうか。 ご存じの方、いらっしゃればご教授願います。

  • EXCELで作成した一覧表に検索機能を設ける為には?

    EXCELで氏名や住所等のデータが入った一覧表を作成したのですが、これをキーワードで検索する為の機能を付けたいと思っています。 どうすれば良いのでしょうか?教えて下さい。

  • 一覧表から抽出?

    皆さんいつもアドバイスありがとうございます。 また今回も宜しくお願い致します。 エクセルの2003を使用しています。 図のような一覧表があり、その中にお客様から指定された時間を入力しています。 この一覧表をソート?し、左側のB列に指定時間の早い順に、A列にはそれに対応する部屋番号を抽出表示させたいのです。 このような事は可能でしょうか?

  • エクセルのひと月の一覧表から誰が、いつ、どれだけの量を使用したか抽出したい

    エクセルのひと月の一覧表から誰が、いつ、どれだけの量を使用したか抽出したい 月集計表(シート名) 氏名|番号| 1 | 2 | 3 | 4 | 5 | 6 | 7 | A氏| 1 | | | | |500| | | B氏| 2 | |150|213| | | | | C氏| 3 | | | | | | | | D氏| 4 | | | | |534| | | 今の上のような月の一覧に使用した量を入力しています。 番号の列の数字はその左のセルにある各顧客の管理番号、一番上の行にあるのが月の日付です。 これが6月の各顧客の一覧だとして 使用回数(シート名) 氏名|番号|_1回目_|_2回目_|_3回目_|→4,5,6回目と続く A___|1___|6/4|500|___|___|___|___| B___|2___|6/2|150|6/3|213|6/7|100| C___|3___|___|___|___|___|___|___| D___|4___|6/5|534|___|___|___|___| 管理番号の並びは変えずにこのような一覧を別シートに作りたいのです。 月の一覧に入力したら自動的にこちらにも入力されるような方法はあるでしょうか?あったら方法もお願いします。

  • エクセル2010 表の作成について

    エクセル初心者です。 作成したい表の作り方で、方法がありましたら教えていただきたく質問させて頂きました。 【基データ】は、 ・個人のID ・氏名 ・作業内容(A~F) ・上記作業の完了日 という一覧となっております。 とあるデータベースから抽出したもので、 抽出段階でこの配列を変更することはできません。 この【基データ】をもとに、 重複するIDと氏名をひとつにまとめて、 作業内容を列ごとに並べ、 該当するセルに完了日を表示させる という表を作成したいのですが、 なにか方法はありますでしょうか? 【基データ】には膨大な量のデータがあるので、 良い方法があると助かります。 簡単な図を添付します。 説明がわかりづらく申し訳ございませんが 宜しくお願い致します。

  • エクセルで作成した名簿の中から抽出したデータのみ別のブックに一覧作成し

    エクセルで作成した名簿の中から抽出したデータのみ別のブックに一覧作成したいのです。 シート毎に個人情報を入力してますが、同時に別ブックにて氏名、住所、連絡先のみを一覧にしたいです。 個人情報のシートは ブック名「顧客情報詳細」の氏名欄がA6をブック「一覧表」のA1に。 住所はJ6→B1  連絡先J8→C3  といった具合です。 教えていただけないでしょうか?  宜しくお願い致します。

  • 一覧表作成ソフト

    フリーソフトで例えば「きゅうり」と入力すると今まで購入した日付、店、金額等が一覧で出るような一覧表を作成するソフトをご存知の方教えてください。

  • エクセルで関数を使い注文品別の一覧表を作るには?

    まず、元になるデータとして、縦軸1~80に発注者氏名、横軸A~Jに注文品を記した表があり、発注した個数を入力してあります。縦軸最後にはSUM関数で注文品別の合計発注数が出ています。 この表を基に、注文品別の発注者がわかる一覧表を作成したいのですが、ご教授お願いします。 VLOOKUP関数等考えてみましたが、うまくいきません。(個数を入力したセルから氏名をひっぱってくる方法が不明です)エクセル上級者の皆様、宜しくお願い致します。(アクセスがないのでエクセルでお願いします)

  • エクセルで関数を使い注文品別の一覧表を作るには?

    まず、元になるデータとして、縦軸1~80に発注者氏名、横軸A~Jに注文品を記した表があり、発注した個数を入力してあります。縦軸最後にはSUM関数で注文品別の合計発注数が出ています。 この表を基に、注文品別の発注者がわかる一覧表を作成したいのですが、ご教授お願いします。 VLOOKUP関数等考えてみましたが、うまくいきません。(個数を入力したセルから氏名をひっぱってくる方法が不明です)エクセル上級者の皆様、宜しくお願い致します。(アクセスがないのでエクセルでお願いします)

  • エクセル表からのデータ抽出

    エクセル2010で、画像のように、行(横)方向に「氏名」、列(縦)方向に保有資格が入った表が有るのですが、この表から資格名を選択したら有資格者の氏名と種類が表のどこかに抽出されるようにしたいのですが、何とかならないでしょうか? 詰まりB列で資格4をフィルターで選択したら、表のどこか(違うシートでもOK)に保有者名と資格の種類(級)等が抽出されるような仕組みを構築したいので宜しくお願いします。 更にもし可能であれば、氏名を選択(どこかに入力でもOK)したらその人の保有資格が一覧で抽出されれば理想です。 先ずは資格名から氏名と種類が抽出されればありがたいのですが。 表そのものを作り替えるのは最後の手段にしたいので配慮いただけるとありがたい。

専門家に質問してみよう