• ベストアンサー

図書管理の表をExcelで作るのですが‥‥

職場で、図書管理のデータベースをAccessで作って使ってました。 しかし、Access入のPCが少ない為に、「Excelで作って」と上司に言われました。 「貸出」「返却」の2シートは作成済で、今は「返却済」シートを作成中です。 「貸出」と「返却」の2シートに“同一”のものが有った場合、それを「返却済」シートに表示したいと思いました。 マクロを使おうとかと思いましたが、PCが市の物で、メインユーザーはパス付。セキュリティの関係上、マクロが利用できない可能性があります(上司は、マクロに難色を示しました)。 関数にしようと思いましたが、悲しいかな、全く思いつきません。 シート例は‥‥    A    B     C 1 貸出者  本の名前  貸出日   2 あいう  Excel    5/4     ←貸出シート 3 かきく  Word     5/5      A    B     C 1 返却者  本の名前  返却日   2 あいう  Excel    6/1    ←返却シート 貸出、返却シート共に、「あいう」さんが存在し、「あいう」さんは、本を借りて、返却した事が分かります。 この2シートの行の情報が、返却済シートのA2セルに「あいう ABC Excel」と表示させたいのです。 IF関数を使って、シートに同一のものがあれば‥‥と式を作ろうとしましたが、なかなか上手くいきません。 どのような式を作ればいいのでしょうか? IF関数以外に、式があれば、そちらも教えてください。 お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kuma56
  • ベストアンサー率31% (1423/4528)
回答No.2

なんでシートを3枚に分けるのか理由が分からないので、そのあたりでご希望に添えないかも知れませんが・・・・ まずは、シートを一枚にして    A     B      C      D 1 貸出者  本の名前  貸出日  返却日   2 あいう  Excel    5/4    5/24 3 かきく  Word     5/5   このようにして、返却日をキーにソートしてやれば、貸し出し中と返却済みのデータに分ける事が出来ると思います。 また条件付き書式で、未返却のものは文字色を赤にする等しておけば、貸し出し中と返却済みが見分けやすくなるでしょう。 そもそも、返却シートと返却済みシートって、どう違うのですか? 返却シート=返却済みシートにはならないのでしょうか?? どうしてもシートが3枚(2枚)になるのなら、IF関数で返却日の記入を条件にしてやって、COUNTIF関数で貸出シートのB列のの該当する本名を数えて、それが返却シートの本名の冊数っと合うかどうかで、貸し出し中/返却済みを判断させる事が出来るかも。 ただしこの場合は、同名の本名が複数貸出されていると、一冊見返却だと全部未返却になります。 そうなると、本の一冊ずつに固有の管理番号をつけて、それで管理すればできそうな気がします。 ・・・だけどやっぱりシートを1枚にするのが、簡単だと思いますが・・・・??

noname#248169
質問者

お礼

kuma56さんがお考え下さった方法を考えていると、私って、なんて回りくどい事をしようとしていたのだろうか?と反省です。 そうですよね。条件付書式を使えば、未返却なんてすぐわかるし‥‥ シート1枚で済んじゃいますよね。 kuma56さんが考えてくれた方法は、素晴らしいと思います!多分、それが理想です。 COUNTIFを利用すれば、貸出数を拾って、全在庫-貸出数で現在庫数が作れるので、そちらの方が、断然良いですね。 ‥‥私って、何でこんな簡単に収まるものを、ACCESSで作っていたんだ?今思うと、自分の行動の意味が分からなくなってきました(笑)。 ありがとうございました。

その他の回答 (2)

  • don9don9
  • ベストアンサー率47% (299/624)
回答No.3

貸し出しと返却のシートを分けている理由はなぜですか? 貸出の履歴データを1シートで、項目を ・貸出者 ・本の名前 ・貸出日 ・返却日 として 返却日が入っていれば返却済、入っていなければ貸出中、 とするほうが簡単だと思いますが。

noname#248169
質問者

お礼

皆様の回答と、don9don9さんの回答で、私はシートを分ける事をやめました。 分ける理由が、無い事が、改めて分かりました。 >返却日が入っていれば返却済、入っていなければ貸出中、とするほうが簡単だと思いますが。 そうですね。それで一発ですよね。 返却日が入ってなければ、色づけと、条件付書式を付けようと思っています。 回りくど~い方法で行こうと思っていた自分が恥ずかしいです。 simple is the Best!わかっていたのに‥‥ ありがとうございました。

  • Masa2072
  • ベストアンサー率51% (94/182)
回答No.1

質問への直接の回答ではありません、こういう解決方法は?という程度ですが 複雑に考えず1枚のシートに 書籍名 | 最終貸出者 | 貸出日 という列を作り、貸し出すときに最終貸出者と貸出日を入力、返却されたら貸出日を消去する。 履歴を残す必要がなければ、この方がずっと簡単だと思うのですが。

noname#248169
質問者

お礼

そうですね。 考え方が、こ難しかったように思いました。 普通にシンプルに考えれば、良いんですよね。 ありがとうございました。