アプリ版:「スタンプのみでお礼する」機能のリリースについて

excel2010でシフト表の作成をしています。
毎月のシフト表を月の前半と後半に分けて計24シートに作成していますが
これとは別に清掃表を月の前半と後半に分けた2シートがあります。
清掃表のシートには月を入力する項目を設け、そこに入力した月のデータを
シフト表から引っ張ってきたいのですが、名前が重複する場合は1行だけを表示したいのです。
excelの重複データを削除で行うと、行自体も削除されてしまい困っています。
出来る限り使う人に作業をさせたくないので、出来ることなら関数で内部的に行いたいです。
画像を添付しますが、日付毎の一番左の項目が名前を入れる項目になります。
清掃表も構成はほぼ同じです。
宜しくお願いします。

「excel2010で別シートの内容をコピ」の質問画像

A 回答 (6件)

重複の削除が添付図を認めるなら、それほど難しくないと思います


昼の人を夜に書くなってことで。
添付図の 左 シフト表、右 清掃表
清掃表のA2セルに
=IF(シフト!A2="","",シフト!A2)
A7セルまでオートフィル
同じくA8セルに
=IF(ISNUMBER(MATCH(シフト!A8,INDEX(A:A,ROW()-6):INDEX(A:A,ROW()-1),0)),"",IF(シフト!A8="","",シフト!A8))
下へオートフィル
A2:A13セルをそれぞれの日付のセルへコピペ
「excel2010で別シートの内容をコピ」の回答画像5
    • good
    • 0
この回答へのお礼

助かりました

ご回答頂きありがとうございます。
ご回答頂いた数式をはめ込んでみたみたところ、添付して頂いた結果と
同一の内容になりました!
全ての日付にコピペしてテストしてみたいと思います!
ありがとうございました!

お礼日時:2015/07/14 01:32

ちょっと失礼します。



>ちゃんとした知識と能力が必要な事を改めて痛感しました
そういうことはなく、経験的なものだと思います。実務として何度か失敗したら、何が問題なのか嫌というほど身にしみます。

私自身、こうしたシフト表の作成の依頼を受けた経験はあります。しかし、丁重におことわりするししかありませんでした。理由は簡単なことです。最初に人員表ぐらいのリストは作っておいても、後は実際のアナログで、碁盤の目に駒を埋める方法しかないと思います。
もちろん、データの[入力規則]のリストを埋め込んでもよいと思います。重複すれば、[エラー表示]は出来ます。そうしたら、人為的な配置のミスぐらいは避けられますが、手動には変わりありません。
残念ながら、Excelでは、それを清書するぐらいしか出来ません。

1日
(昼)
佐藤
鈴木
渡辺
(夜)
渡辺
佐藤
湯本

>となる事も多いのです。
>この場合に、清掃表で佐藤と渡辺が重複してしまいますので両名を昼営業の部分のみを残し
>夜営業の部分は削除したいのです。

これ自体は、マクロの処理では、重複の削除などは簡単なことですが、基本的なオーダーリスト(人の手配の順番-例で言えば、1日の昼の人員)ができません。確かに、重複表示は簡単な[条件付き書式]で可能です。最初の元をどうやって決めるということです。

それ以上は、どうあがいても、複数のオーダーリストなどは、マクロでも不可能なはずです。その都度、マクロに掛けるなんてしても、手動でやったところでこの規模では大差ありません。それと、通常のマクロでは、[元に戻す]ができなくなり、この手の試行錯誤が多いものでは、元に戻せないのは不便だと思います。
「excel2010で別シートの内容をコピ」の回答画像6
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
経験は重ねないとですね。。。
実現したいシステム、それに伴う労力と妥協はこれから嫌というほど勉強する事になりそうです。
マクロは非常に敷居が高く感じてしまいます。
もちろん一つ一つのセルに関数を埋め込むよりも覚えればもっと手軽に作れるという部分もあるのかもですが。

お礼日時:2015/07/14 01:40

> 上6行には昼営業のスタッフ名が、下6行には夜営業のスタッフ名が入ります。


> ただし昼夜共に6行全てを使用するとは限りません。
> また、昼と夜の営業両方に出るスタッフもいますので
> この場合に、清掃表で佐藤と渡辺が重複してしまいますので両名を昼営業の部分のみを残し
> 夜営業の部分は削除したいのです。

なるほど。
そういうことだったんですね。読み取れなくてすみません!

そうなると関数や計算式で自動表示というのは難しいです。
マクロであれば、ご希望どおり自動表示する事はできます。

マクロをわざわざ覚えるのは大変ということであれば、手作業にはなりますが、オートフィルタを使ってデータをピックアップし、それをコピペするという方法があります。


1.まず入力用のシートを新たに作ります。
添付画像の左上のような表です。

 A列:日付  B列:氏名  C列:時間帯

順番は気にせず入力して大丈夫です。氏名ごとにまとまっている必要もありません。
時間帯は「午前・午後・両方」みたいな感じで3パターンにします。


全員分が入力されたシートに[フィルタ]を設定し添付画像のように日付と時間帯をピックアップします。
ちなみに[フィルタ]は[データ]タブから設定できます。


たとえば

日付=7/1  時間帯=午前・両方

と選択すると該当する人だけ一覧になります。
それをシフト表と清掃表にコピペします。

清掃表の午後は時間帯を午後だけ選べば午前の人がダブって出る事はありません。

手作業が多いので、あまり参考にならないかもしれませんが、
今のところ他によい方法が思いつきませんでしたm(__)m
「excel2010で別シートの内容をコピ」の回答画像4
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
PCのマウスが壊れてしまいお礼が遅くなってしまいました。。。
やりたい事を全て満たすのにはやはりちゃんとした知識と能力が必要な事を改めて痛感しました。
ありがとうございました。

お礼日時:2015/07/09 11:57

No.1 です。




>用意するのに手間隙がかかるのは十二分に承知しています。
 現場で使用する上で一番楽な方法を考えた結果でこうなりました。

現場がラクでも、手作業で用意するとなると、質問者さんは非常にたいへんになることが想像されます。この場合、人ではなく機械に繰り返し作業させるために、マクロが好ましいかもしれません。

セルに記入してある数式のみで転記する方法だと、10 行 x 3 列といった特殊な書式、重複の削除などにより、ムダに長くて難解な数式になることが予想されます。

いずれにせよ、元データの内容や配置の例が示されていないと、具体的な回答はなかなか寄せられないかと思います。


>毎月使用する表も1枚あれば毎月の登録はできますが過去の履歴が見れなくなってしまいます。

わざわざ取っておかなくても、過去の日付などを入力することにより、何度でも見れるようにしておきます。

それでも記録として残したい場合は、別シートにコピーを取っておきます。あるいは PDF、DocuWorks、写真、紙などの形で保存します。
    • good
    • 0

質問の主旨を読み違えているかもしれませんが、


シフト表に入力された名前を清掃表に自動表示したいということでしょうか?

> 清掃表のシートには月を入力する項目を設け、そこに入力した月のデータを
> シフト表から引っ張ってきたいのですが、名前が重複する場合は1行だけを表示したいのです。

ご質問のここがよくわからなかったのですが、
シフト表と同じ内容を表示すれば、名前が重複することはないのかなと勝手に思いました。

シフト表に入力された名前を清掃表に自動表示する場合で回答させていただきます。

たとえばシフト表の「1日」の名前欄の一番上がセルのA4の場合

清掃表の名前の欄をクリックし「=」を入力。
次にシフト表のシート内のA4セルをクリックしEnter。

これで清掃表のA4セルに [=シフト前半!A4 ] という計算式が入ります。
ちなみに「シフト前半」というのはシフト表のシート名です。


あとは清掃表のほかの名前欄に計算式をコピぺしていけば
すべて名前欄がシフト表と同じ内容になります。

清掃表に計算式を入れているので
そのままだと名前が入力されていないセルは「0」と表示されてしまいます。

[セルの書式設定]⇒[表示形式]⇒[ユーザー定義]を開き
[種類]のところに半角の「#」を設定すれば0は表示されません。


実際に使う時はシフト表の左の列に名前を入力だけ清掃表にも同じ名前が表示されます。

もし質問を誤解していたらお知らせください。
「excel2010で別シートの内容をコピ」の回答画像2
    • good
    • 0
この回答へのお礼

ご回答頂きありがとうございます。
質問の書き方が悪く上手く伝えられずに大変失礼いたしました。
私の添付した画像の各日に12行ずつ配置されていますが
上6行には昼営業のスタッフ名が、下6行には夜営業のスタッフ名が入ります。
ただし昼夜共に6行全てを使用するとは限りません。
また、昼と夜の営業両方に出るスタッフもいますので

1日
(昼)
佐藤
鈴木
渡辺
(夜)
渡辺
佐藤
湯本

となる事も多いのです。
この場合に、清掃表で佐藤と渡辺が重複してしまいますので両名を昼営業の部分のみを残し
夜営業の部分は削除したいのです。
その際に清掃表側も同じく昼夜それぞれ6行ずつあるのでその形は
崩したくないのです。(重複した名前の文字だけを消したいと表現したほうが分かりやすいでしょうか)

お手間を取らせて申し訳ありませんがご助言いただければ幸いです。
宜しくお願いします。

お礼日時:2015/07/01 02:55

数式をセルに記入しておくにせよマクロにせよ、シートの枚数や表のレイアウトが複雑になればなるほど、欲しい機能を用意するのに手間暇かかります。

Excel ファイル全体の構成を合理化・簡素化することから始めましょう。また、毎月必要になるという表は、「たった 1 枚のシートを日付だけ書き換えて使い回す」ということを考えてください。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
用意するのに手間隙がかかるのは十二分に承知しています。
現場で使用する上で一番楽な方法を考えた結果でこうなりました。
毎月使用する表も1枚あれば毎月の登録はできますが過去の履歴が見れなくなってしまいます。
ご忠告はごもっともで話し合いの中でもっと合理的で簡素化する方法もあったかもしれません。
ご助言ありがとうございました。

お礼日時:2015/07/01 02:39

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