プロが教えるわが家の防犯対策術!

初めて質問します。
エクセルでシフト管理を任される事になりまして……
時間別で毎日出勤者が違うので
シート1のA列には名前を表記しており、
シート1のB列以降には日付
合わさった所に出勤時間を表示した一覧があります。
これを別シートで日ごとの時間別で出勤者のリストを作りたいのですが……
人数が50名以上いる為良い方法はないかと思案しております。

シート1(月間のシフト表)

   1日・・・
田中 10 
鈴木 10 
山田 15 

シート2(1日の出勤者)
10時出勤 田中、鈴木
15時出勤 山田

というような表示をさせたいです。

理想としてはシート1のB列(1日の出勤者)の2〜50までに10と数字がある場合、
シート2(1日の出勤者)のB2(10時出勤者名)にシート1のA列にある名前を抜き出して表示したいです。
エクセル初心者の私に知恵を授けてくれる方はいないでしょうか><

A 回答 (1件)

こんばんは!


一例です。

↓の画像のように元データはSheet1にあり、Sheet2に表示するとします。
(Sheet1の1行目はシリアル値にしておきます。表内の「10」や「15」等と混同しないようにするため)

まずSheet2のA1セルの表示形式をユーザー定義から 0日 としておき、
単に数値のみの入力にします。(これで「○日」のような表示になります。

A2セル~A列最終行もセルの表示形式はユーザー定義から 0時出勤 とし
10 や 15 のように数値のみの入力にします。

最後にB2セルに
=IFERROR(INDEX(Sheet1!$A$1:$A$100,SMALL(IF(OFFSET(Sheet1!$A$1:$A$100,,$A$1,,1)=$A2,ROW($A$1:$A$100)),COLUMN(A1))),"")
これは配列数式になりますので、Ctrl+Shift+Enterで確定!
この画面からコピー&ペーストする場合は
上記数式をドラッグ&コピー → Sheet2のB2セルを選択 → 数式バー内に貼り付け → そのまま(編集可能なまま)
Ctrl+Shiftキーを押しながらEnterキーで確定!
数式の前後に{ }マークが入り配列数式になります。

B2セルのフィルハンドルで列・行方向へコピー!
これで画像のような感じになります。

※ A1セルに表示したい日付の数値のみを入力してみてください。m(_ _)m
「シフト管理、月間のシフト表を別シートで日」の回答画像1
    • good
    • 3
この回答へのお礼

お返事が遅れてすみません。
自分の所持しているアプリがMacでのOpenOfficeというのを使用している為、
文面の最初のほうにあるユーザー定義の変更が出来ませんでした。

会社にあるWindowsでは変更が出来たため、
まだ詳しくは試せてはいないのですが、
改めて時間を作り実際に組み込んでみます。

お時間をさいて返答して頂きましてありがとうございました!!

お礼日時:2015/04/16 13:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A

このカテゴリの人気Q&Aランキング