『キャンセルの履歴作成について』(大和) 接客業をしているのですが、キャンセルの履歴を作成したくてご質問させていただきました。 商品科目が複数あるのですが、 ・どの商品が ・何月何日に ・何件 キャンセルになったかの集計をしたいです。 ただ、営業店舗が複数あるのですが、ほぼ全店においてPCを触るスタッフのエクセルのレベルは非常に低く、プルダウンでの件数選択などでも誤操作が相次ぎ、まともにカウントできない状態で困っています。 イメージとして、商品科目のボタンを作成し、そのボタンを押せば別シート等にボタンを押した日時と、ボタンに対応した科目がリストアップできれば・・・と考えていますが、そうなるとおそらくVBAの領域になり、私のレベルでは手が出せません。 関数などで実現できる方法はないでしょうか? < 使用 Excel:Excel2010、使用 OS:Windows7 > ---- 入力シート、リストアップのシート、 どちらもシートのイメージが分かるように記載してみてください。 (文面だけではセルの位置もどういうデータかも  何もわかないので、回答のしようがないのだと思います) 今回はキャンセル品目のデータがリストアップができればいいんですよね? 各営業店の入力用のシートは同じフォーマットですか? そうであれば、データを1シートに集約し、フィルタをかければいい気がしますが。。。 (どなみ) 2014/12/24(水) 11:07 ---- 今現在はシートは分けておらず、プルダウンと手入力でエクセルの共有ファイルに入力しています。 項目は、 ・店舗名(プルダウン) ・商品科目(プルダウン) ・受付日(手入力。mm/dd形式) となっていますが、この方法だと誤入力などが多く、運営が厳しい状態です。 ですので、今現在考えているイメージは、入力用シートは ・店舗名(プルダウン) ・商品科目(プルダウン) ・ボタン とし、ボタンを押すと集計用のシートにプルダウンの内容と、ボタンを押した日付がコピーされ、 集計のシートに関しては編集不可にできれば・・・と考えています。 (大和) 2014/12/24(水) 15:37 ---- >プルダウンでの件数選択などでも誤操作が相次ぎ、まともにカウントできない状態で困っています。 であれば、 >ボタンを押すと集計用のシートにプルダウンの内容と、ボタンを押した日付がコピー にしたところで間違って選択して押下するなどの誤操作が相次ぐのではありませんか? 1.誤操作、というのは他の誰かが登録した内容をさらに変更をかけるといったものなのでしょうか? 2.プルダウンというのは、入力規制のリストのことでしょうか? (___) 2014/12/24(水) 15:52 ---- 具体的に、誤操作の内容等、集計できない原因を列挙してみてください。 例えば、日付に存在しない数字が入るとか、区切り記号が不定ならば、「データの入力規則」で統一できます。 「条件付き書式」で、当日より未来とか、あり得ない日付ならばセル背景色を赤くして警告しても良いでしょう。 「データの入力規則」でリスト形式にしていれば、選択間違いくらいしかあり得ないと思いますが、 リスト形式でも間違えるならば、文字を大きくするくらいしか対策できないかも知れません。 (???) 2014/12/24(水) 16:10 ---- 早速のご返信有難うございます。 →>間違って選択して押下 発生する可能性はあると思います。 ここでさらに上書きをする危険性もないとはいえません。 誤操作の内容についてですが、 ・他の履歴を変更→上書き ・店舗名を間違える(デフォルトの店舗名から変更しない) ・プルダウンリストでの選択間違い等 等です。 年配のスタッフもいますので、苦手意識からのミスもあるかと思い、少しでも入力項目が減らせられれば・・・と考えています。 (大和) 2014/12/24(水) 16:24 ---- 関数で実現するには厳しいと思います。 >ボタンを押すと集計用のシートにプルダウンの内容と、ボタンを押した日付がコピーされ、 >集計のシートに関しては編集不可にできれば・・・と考えています。 この時点でVBAを使用することになります。 上記の場合、入力シートは入力しかしないシートになりますか? (今までのデータは集計シートにあるので、データはなし) その際、データを変更・削除したい場合のVBAも必要になります。 (大和さんが連絡を受けて削除・変更されるのであれば必要ないですが) ___さんや???さんがご提示されている方法くらいしか思いつきません。 あとは入力する人毎にファイルを分けるくらいしかないですかね。 そうすれば、店舗名を間違えることもなく、 他の人のデータを上書き・削除することは少なくともありません。 ですが、人数が多いと、集計される大和さんが大変ですよね。。。 (どなみ) 2014/12/24(水) 16:54 ---- どなみ様 ご返信有難うございます。 やはりVBAでしか無理ですか・・・。 入力シートに関しては、入力するのみで、データを持たせる必要はないと思います。 変更・削除に関しては、「間違えた場合は上書きしない」という最低限のルールを徹底し、 データの保管はドロップボックスで行っているので、最悪の場合はドロップボックスで復元、 もしくは私の手で修正してもいいかと思っています。 データ入力の可能性のあるスタッフ数は多く、ファイルを分けるのは困難です・・・。 せっかくのご提案に、申し訳ありませんが。 (大和) 2014/12/24(水) 17:16 ---- ファイルは一つでも、シートを店毎に分けてしまう、という手もあります。 まぁ、間違えて他のシートに入力されると駄目なんですけどね…。 (???) 2014/12/24(水) 17:22 ---- >大和さん 申し訳なくないですよ(^^) 大和さんがやりやすいのが一番だと思いますから。 こちらこそお力になれず申し訳ありません。 人間ですから手入力する以上、ミスは生じます。 各店舗の方が少しでも注意して入力してくれるようになるといいですね。 >???さん 私も思ったのですが、おっしゃる通りシートを間違えてしまっては、 結局意味がないと思い、「人単位」の提案をしました。 でも、店舗ごとにするだけでも違うのかもしれませんね。 (どなみ) 2014/12/24(水) 17:35 ---- 挿入→図形でボタンっぽいものを作って、その図形を右クリックする マクロの登録→新規作成で、Sub■■_Click() と End Sub の間に以下コピペ Dim LastRow As Long Dim Shop As String, Item As String '------------------------------------ Shop = "E10" '店舗名のセル番地 Item = "G10" '商品のセル番地 '------------------------------------ With ThisWorkbook.Worksheets("集計シート") LastRow = .Cells(Rows.Count, "A").End(xlUp).Row + 1 .Range("A" & LastRow).Value = ActiveSheet.Range(Shop).Value .Range("B" & LastRow).Value = ActiveSheet.Range(Item).Value .Range("C" & LastRow).Value = Now MsgBox .Range("A" & LastRow) & "に" & .Range("B" & LastRow) & "を登録しました" End With (___) 2014/12/24(水) 17:58 ---- 店舗名のセル番地と商品のセル番地は実際のセルに合わせてくださいね あと、集計するシート名、勝手に集計シートにいていますので変更してください ついでにおせっかいです 表示倍率をあげまくってリストの入力規制の文字を大きくしてあげてください (___) 2014/12/24(水) 18:00 ---- こんにちは。 厳しい言い方になりますが、保存されたファイルに間違いがあるのは 上書き保存する前に 入力した結果をじゅうぶん確認しないからです。 間違いがあれば、確実に見つけて修正してから保存すればいいのです。 それができないのは、エクセルが不得手とか関係ありません。 高齢だからできなくても許されるという発想はやめるべきです。 時間がかかってもいいから正確なデータを求めるべき、と思います。 それで、入力した内容を確認しやすくするには、表示を大きくしたり 文字の区別のつきやすいフォントを使ったり、行の高さを十分高くしたり ほかにも手があるのかな、と思います。 色を使うのは、、、色はとても分かりやすくていいのですが、 おおぜいのなかには、色が分かりやすくないかたもいらっしゃるので 色を使うときは、色以外の方法でも情報を伝えられるようにしておくのが いいと思います。 ( 佳 ) 2014/12/24(水) 21:23 ---- ご返信が遅くなり、申し訳ありません。 >どなみ様 スタッフの数字の管理意識の低さは以前から問題にしているのですが、なかなか改善できず・・・。 >___様 わかりやすいサンプル、ありがとうございます! ここまでしていただいたので、VBA初心者の私でもすぐに加工が出来ました。 文字のフォントも、これまでの倍のサイズにし、入力規則も使って、おかしな入力があったら警告メッセージを出すようにします。 お心遣い、ありがとうございます。 >佳様 ご指摘、ありがとうございます。 私自身が率先して動き、その上でスタッフにも注意していくように心がけていますが、まだまだ足らないようで・・・。 これからも改善できるように頑張ります。 皆様、ありがとうございます。 (大和) 2014/12/25(木) 08:45 ---- 蛇足を。 入力専用シートにしていいならば、入力フォームを作ってしまって集計用シートは隠してしまうのをお勧めします。 初心者が多いなら最初のフォームに店舗名と入力者名を入れさせます。 入力者名はもしも人事情報とかがあればプルダウンにできます。 入力者名を入れさせると、初心者でも「自分の名前が記録に残る」と(多少は)注意深くなります。 次のフォームで商品科目と受付日を入れさせます。 表示上入力物が2つしかないので入力忘れにくいです。 フォームなら受付日もカレンダーを使用できます。 そして保存ボタンを押させます。 最後に今入力したものが一覧で出て確認させて終了。 この流れだと(比較的)初心者さんにもわかりやすく入力できるかと思います。 (さか) 2014/12/25(木) 09:12