• 締切済み

エクセルについて

申し訳ありません。助けてください。 仕事で管理用のエクセルファイルをつくるようにいわれ、さまざまな本をみてみたのですがよくわかりません。 目的:仕事柄、同じお客様が一定期間、複数回(5回~10回ほど)いらっしゃいます。お客様がいらっしゃる日時を日別に集計して、その日来店なさるお客様が、だれが、いつ来るのかを管理しようと思っております。 例えばA様、B様の来店時間の管理をします。15:00~16:00、16:00~17:00と時間枠を設けたときに、○月○日にA様は15:00からの会にいらっしゃいますが、B様は○月○日には店自体にいらっしゃらない。○月×日にA様は16:00からの会にいらっしゃって、B様は○月×日は15:00の会にはいらっしゃいます。 これを、一つのシートでお客様のお名前を縦列、時間を横列にしたときに、today関数にしたがって変化していくような(1日ごとに引用もとのデータにしたがって反映されるデータが変化していくという意味です)、○さまが○時の会にいらっしゃるということが一目瞭然なものにしたいのです。 誰がいついらっしゃるかのデータについてはもう一つのシートに全て網羅されています。 質問:そのようなときに、一枚のシートの式をどのようにすればよいか、誰がいついらっしゃるかのデータはどのような形式にすればよいか、ご教授をお願い致します。皆様のご指導によってデータ内容は柔軟に変更させていただこうと思っております。

みんなの回答

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.5

元の表が次のようになっているとします。 シート1でA1セルにお客名、C1セルに日付、D1セルには15:00~16:00、E1セルには16:00~18:00の文字列がそれぞれ入力されており、それぞれのデータが下方に入力されているとします。該当の時間帯には○などが入力されているとします。 そこでE列およびF列には作業列をもうけて対応することにします。 E2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(Sheet2!B$1="",IF(B2=TODAY(),A2,""),IF(Sheet2!B$1<>"",IF(B2=Sheet2!B$1,A2,""))) この式は答えとなる表をシート2に表示させるとしてシート2のB1セルには対象とする日付を入力すればその日の来店者のお客名やその時間帯が表示させるようにするもので、特にシート2のB1セルが空の場合にはその日の来店者と時間帯が表示される様にするためのものです。 F2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(E2="","",IF(COUNTIF(E$2:E2,E2)=1,INT(MAX(F$1:F1))+1+IF(C2<>"",0.1,IF(D2<>"",0.2,0)),INT(INDEX(F$1:F1,MATCH(E2,E:E,0)))+IF(C2<>"",0.1,IF(D2<>"",0.2,0)))) そこでお望みの表ですがシート2に作るとしてA1セルには検索日(本日の場合にはB1セルは空のまま)とでも文字列を入力します。B1セルには本日以外での日付における来店者とその時間帯を見るのでしたらその日付を入力します。 A2セルにはお客名、B2セルには15:00~16:00、C2セルには16:00~18:00の文字列をそれぞれ入力します。 A3セルには次の式を入力して下方にオートフィルドラッグします。 =IF(COUNTIF(Sheet1!$F:$F,ROW(A1)+0.1),INDEX(Sheet1!$E:$E,MATCH(ROW(A1)+0.1,Sheet1!$F:$F,0)),IF(COUNTIF(Sheet1!$F:$F,ROW(A1)+0.2),INDEX(Sheet1!$E:$E,MATCH(ROW(A1)+0.2,Sheet1!$F:$F,0)),"")) これで検索日における来店者が表示されます。 B3セルには次の式を入力して下方にオートフィルドラッグします。 =IF(COUNTIF(Sheet1!$F:$F,ROW(A1)+0.1),"○","") これでそれぞれの来店者が15:00~16:00時間帯に有れば○が表示されます。 C3セルには次の式を入力して下方にオートフィルドラッグします。 =IF(COUNTIF(Sheet1!$F:$F,ROW(A1)+0.2),"○","") これでそれぞれの来店者が16:00~18:00時間帯に有れば○が表示されます。

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

>いつ来るのかを管理しようと なぜそういうことが可能なのか、事情がわからないから考えにくい。 質問には、データ例と、出来上がってほしい結果例を書いて、説明を添えて質問するもんだ。 ーー 関数程度で済ましたいのだろうが、「表の組み換え」タイプの課題は関数では複雑になり、難しかったり、事実上出来ない。 VBAなどでやる必要がある場合が多くなる。 ーー とりあえず、私の思いつきで ピボットテーブルを使う方法ではどうかな? 例データ 氏名 日時 時刻 山田 8月20日 13:02 神田 8月20日 13:06 木村 8月20日 14:34 田中 8月20日 15:30 山田 8月20日 16:20 山田 8月21日 14:20 神田 8月21日 15:16 木村 8月21日 16:54 田中 8月21日 16:24 山田 8月21日 16:20 ーーー 結果 データの個数 / 氏名 日 日時 時刻 <1900/1/0 総計 0時 0時 合計 氏名 13時 14時 15時 16時 山田 1 1 2 4 4 神田 1 1 2 2 木村 1 1 2 2 田中 1 1 2 2 総計 2 2 2 4 10 10 「グループ化」で「時間」でグループ化している。 上記データ例は2日分だが、このシートにデータが20日分有って、最近の3日分を対象にするなら(日付別にデータがなっておれば)、対象範囲をその3日分指定して操作すれば良い。 ーー 興味が沸けば、ピボットテーブルは解説本もWEB記事も多いから、読んで勉強してください。

全文を見る
すると、全ての回答が全文表示されます。
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.3

補足が必要ですね。 >誰がいついらっしゃるかのデータについてはもう一つのシートに全て網羅されています。 このシートのデータの構成について 結果、希望の抽出のシート表示について 例えば A1セルに 日付(Today()関数)を入れると 4行目以下に、指定した日付の一覧が抽出されて表示される とか? >一枚のシートの式をどのようにすればよいか >誰がいついらっしゃるかのデータはどのような形式にすればよいか 元データの形式の変更も念頭にあるのであれば 元データ  お客様名 会名 日付 開始時刻 終了時刻  Aさん  〇の会 7/1  10:00 12:00  Bさん  △の会 7/1  13:00 15:00  Aさん  △の会 7/1  13:00 15:00 ・・・ とかデータを入れていく 抽出のシートに  日付 お客様名  7/1 Aさん  お客様名 会名 日付 開始時刻 終了時刻 として指定した日付、あるいは お客様名の一覧が抽出されるように フィルターオプションの設定をして、ご希望であればマクロで自動で実行される様な仕組み を考えます。

全文を見る
すると、全ての回答が全文表示されます。
  • oosaki2
  • ベストアンサー率53% (8/15)
回答No.2

+------+------------+------+------+------+------+ |氏名  |  年月日    | 15~16 | 16~17 | 省略 | 小計 | +------+------------+------+------+------+------+ |Aさん  | 2011/07/23 |   1  |  1  |      |  2  | +------+------------+------+------+------+------+ |Bさん  | 2011/07/22 |   1  |     |     |  1  | +------+------------+------+------+------+------+ 年月日の計算は面倒なので、年月日はユーザー定義で"0000/00/00"として数字 例)"20110723"と入力させて、"2011/07/23"と表示する。 これで、7月26日に3日前に来た人をフィルターで 年月日 >= 20110723 かつ 小計 >= 1 で抽出する。 実際に来た場合に年月日と来た時間帯のデータをクリアし、新たに1を入れなおす。 なお、入力用シートとVBAを使用すると年月日の自動更新や見栄えするシートになると 思います。 そこまでのスキルが無い場合は残念ながら、年月日や来た回数などは手動で 更新、クリアして下さい。

全文を見る
すると、全ての回答が全文表示されます。
  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

日、時、氏名でデータを羅列し、フィルターと並べ替えを使ってはいかがでしょう。

s-tonton
質問者

補足

申し訳ございません、言葉が足りませんでした。 1日に同じお客様が複数回来店なさることもしばしばあるので、○月○日の15:00の会、16:00の会両方にご来店なさる方もいらっしゃいます。そういうときに、フィルタではうまくいかなかったので、なにか他に方法はございませんでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 【Excel】各来客の最古来店日を抽出する方法

    当方Excel2007を使用しております。 来店されたお客様のリストの中から、 それぞれのお客様の最古来店日のみを 抽出したいと考えているのですが、 実現できる方法を模索しております。 イメージとしては以下のような感じです。 【シートA】     A    B    C 1    ID   氏名  来店日 2    003   Cさん 2011/11/07 3    001   Aさん 2011/11/13 4    002   Bさん 2011/12/22 5    001   Aさん 2011/11/10 6    003   Cさん 2012/01/03 7    003   Cさん 2011/12/16 【シートB】     A    B    C 1    ID   氏名  来店日 2    003   Cさん 2011/11/07 3    001   Aさん 2011/11/10 4    002   Bさん 2011/12/22 オートフィルタを使わずに抽出後の状態まで 整理する方法を探しています。 あまりPC経験のない別の人に作業を任せたいため、 人的工数を少なくするためにも シートAにデータを貼り付ければシートBに抽出されるよう、 関数で制御したいと考えています。 とりあえずこの方法が可能か不可能かだけでも お教えいただけると助かりますので よろしくお願いいたします。

  • 【Excel】日別のIDの件数をカウントする方法

    初めまして。 日別のID利用件数の管理について、Excelに詳しい方、何卒ご教授くださいませ。 Sheet1のA列に日付、B列には利用のあった回数、C列には利用されたお客様のIDの件数(個数)を入力するセルが用意されています。 Sheet2のA列に日付、B列にはIDを入力するセルがあり、こちらに利用のあった日付とお客様のIDを入力しています。(抽出した別データから1週間分をまとめてコピペする形で入力しています) このSheet2を参照の元、Sheet1のC列に日別の利用ID件数をカウントするにはどのような式を入力すれば良いでしょうか? なお、IDは重複しているものは1としてカウントしたく、できれば作業列も作らずにそのままSheet1のC列に式を入力したいです。 添付画像を例にしますと、12月1日は4回利用がありましたが”00001”のIDで2回利用があったため、この日の利用IDの件数は”3”。 というのをSheet1のC列に日別で反映されるようにしたいと思っています。 わかりづらい説明かもしれませんが、調べて色々試しても上手くいかず、とても困っているのでよろしくお願い致します!

  • excelの関数計算

    A1(平均日数) B1(初回・月日)C1(2回目・月日)D1(3回目・月日)・・・・・・・・・G1(6回目・月日)・・・・・ 上記のように B1以右に来店日(最大200項目程度)を入力して行った際に A1に来店周期(来店の平均的な頻度)を表示させたいのですが・・・ ※平均の出る3回目以降5回目来店まではそのものの平均値で 6回目以降は最終来店日の直近5回分の平均を出したいのですが 例えば(B1)・(C1)・・・・・(G1)を(2012/1/1)・(2012/2/1)・・・・・(2012/6/1)とした際 (2012/2/1)~(2012/6/1)が直近5項目にあたりその来店周期(頻度)≒30日 上記内容をA1に出力させたいのですが・・・?

  • Excel

    仕事で顧客リストを作りました。 7月、8月、、と複数のシートで管理するように、お客様をあ行カ行サ行と縦に入力し、来店済みの人には左の表に◯をつけています。 先月来店したのに今月来てない人を探すようなExcelの関数はありますか?

  • エクセルで別シートから条件付きで抽出する方法

    エクセルの知識が乏しいのに、打ち込み量がとても多く困っています。 どうか皆さんのお知恵を貸してください。 イラストの販売管理をしています sheet1に下記のように入力されています。   A      B     C     D 1 作家名 販売日 オプション 価格  マージン価格 2 田中  2015/1/1   1    29800 20000 3 佐藤  2015/1/10   0    31500 10000 4 鈴木  2015/10/1  1    29800 15000 やりたいことは、上記データから別シートに日別に売上管理を作成することです。 作家によってマージン価格が異なる為 具体的には 2015/1/1に誰が幾ら、オプションは何個販売したかを表示したい sheet2に下記のように表示したいのです。   A      B     C     D 1 作家名 販売日 オプション 価格  マージン価格 2 田中  2015/1/1   1    29800 20000 3 鈴木  2015/1/1   1    29800 10000 4 佐藤  2015/10/10  0    31500 15000 分かりにくいかもしれませんが 今まで日別のマージン管理を手打ちでコピペしていたものを 自動化したいのです。 宜しくお願い致します。

  • (助けてください!!)エクセル2003について

    エクセル2003について シート1に下記のような表があります。         A B 2012/04/01 3 5 2012/04/01 6 8 2012/04/02 9 5 2012/04/02 6 8 2012/05/01 6 8 2012/05/02 9 5 2012/06/02 6 8 月別の推移表を作りたいのですができなくて。。 日別の合計をだして、日別の推移表も作りたいのです。。 ピボットはダメって言われちゃいました。 切り貼りが面倒だと…… 全ての月の曜日別も出したいみたいで、 =text(weekday)で曜日は出せたのですが…… このデーターを入力すると自動で、グラフが出来るのが理想だそうです…… しかも、月別に……。 毎月、自動ででるようにしたいみたいで。 しかも、共有ファイルです…… 助けてください。

  • エクセルでの~データの抽出~

    本などを読んでも何で調べたらいいのか分かりません。 お詳しい方どうかご教示下さい。 仕事でエクセルのみを使用してデータの管理をしています。以下の ようなことをしたい場合、エクセルで出来るのか、またどうすれば よいですか? (Q1)例えば、Aのシートに何百人という名前のデータがあるの ですが、そこには同じ人(同じ名前)がほぼ2~3個重複してたりも します。Bのシートにも同様のようなデータがあり、Aのシートにいる 人もまた同じようにBのシートにも重複してたりもします。そこで、 「AのシートにはなくてBのシートにだけいる人を抽出したい」場合どうすればよいのでしょうか? 3月の顧客一覧をAのシート、4月の顧客 一覧をBのシートとしていて、毎月ほぼ同じだけれど、4月に 新たに発生した顧客だけを知りたい、という場合です。。。 (金額も管理してるので一シートに同じ顧客が連なってたりもします) この場合、いちいち見比べずにさっと抽出したりすることは可能 でしょうか…?      (Q2)各シートに沢山あるデータのある一つのデータだけを、どこかに 抽出することはできます?例えば、名前・金額などのデータを月毎に 各シートで管理しているのですが、一年なら、12枚あるシートの 中で、ある一人だけのデータを知りたい場合(例えば何月に来ていくら 購入している…等)、12シートを一枚づつ開いて名前を探す方法以外に何かありますか? 分かりにくい説明で申し訳ありません。お詳しい方、どうか知恵と 知識をご教示ください。よろしくお願いいたします。      

  • EXCELでできますか?

    シート1から、必要なデーターをシート2に表示させる方法はありますか? <シート1> 年│月│日│商品名│A店│B店│C店 ─ ─ ─ ─ ── ─ ─ ─ ─ 1│1│1 ●● │1 │1 │1 1│1│1 ×× │1 │2 │1 1│1│2 ●● │1 │1 │1 1│1│2 ▼▼ │1 │1 │1 <シート2> 年│月│日│商品名│A店│B店│C店 ─ ─ ─ ─ ── ─ ─ ─ ─ 1│1│1 ●● │1 │1 │1 1│1│2 ●● │1 │1 │1 <シート3> 年│月│日│商品名│A店│B店│C店 ─ ─ ─ ─ ── ─ ─ ─ ─ 1│1│1 ×× │1 │2 │1 というように、商品名ごとに分けて表示することは可能ですか?

  • エクセルの関数2

    10人居るグループの当番表を作っています。 横列に10人の名前があって、縦列に日別の当番を記入しています。 別の場所に日別の当番ごとの名前を求めたいのですが、どのような関数を 使えば良いでしょうか。 IF関数の複数条件を試したのですが、ネストは7重までらしく上手くいきません。 例えば下記のような表で、1日の『掃除当番はAさん』『洗濯当番はBさん』『ゴミ当番はDさん』 という答えを求めたい。    Aさん Bさん Cさん Dさん Eさん Fさん Gさん Hさん Iさん Gさん 1日 掃除 洗濯      ゴミ           2日          掃除  洗濯  ゴミ よろしくお願いします。

  • excelで日報を作りたい!別シートに計算結果を出す集計方法について。

    関数初心者です。日報をexcelで作りたいと考えているのですが、うまく集計ができず困っています。どなたかお助けください。 A,Bという2つのシートがあるとします。 Aのシートには横列に日付、お客様名、担当、コース代金、税金、税抜合計、合計金額、支払い方法・・・・といった項目がならんでいます。 お客様がきたらどんどん下にかきこんでいく形です。 また支払い方法という項目には、入力規則で現金、売掛、カードと 選べるようにしてあります。コース代金のところはvlookupをつかっていてコース名を選ぶと金額がはいって計算できるようになっています。 シートBには横列に日にち、縦列には、現金売計 カード売計 売掛計 税合計 本日総売上 という項目があります。 シートAで選んだ支払方法の項目ごとにシートBに自動的に合計をいれて、いきたいのです。たとえばカードを選んで合計がでたら一日の終わりにBシートで支払い方法ごとの合計、税合計、本日売上 を計算できる式をいれたいのです。 集計機能でシートAにそのまま合計をだしていこうかとおもったのですが、ここには30日分はいるのであまり煩雑になってもいやだし、シートBにSumproductをつかってみたのですが、やりかたがまずいのかうまくいきません。。ここには何をいれるというのをどなたかわかりやすくおしえていただけるとうれしいです。また、日計でこういうやり方があるというのがあればおしえてください。 どうぞよろしくおねがいします

専門家に質問してみよう