- ベストアンサー
EXCELで書類管理|過去の書類を効率的に管理する方法とは?
- EXCELを使って、過去の書類管理を効率的に行う方法について相談です。大量の書類を保管しており、日付と書類の種類を入力すると、書類の場所が表示されるようにしたいです。
- 具体的な例として、日付の範囲、書類の種類、倉庫名、棚の場所、箱の番号を入力し、該当する書類の場所を表示する方法を教えてください。
- 書類の保管方法についてアドバイスをお願いします。書類の種類別、日付順に保管しており、外側にも書類の情報を記載しています。より効率的な管理方法を教えてください。
- みんなの回答 (11)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
#4です。再度ゴメンナサイ。 F2に「正」の数式を入力して、右へH2までコピーしてください。 誤: =IF(OR(ISBLANK($D$2),ISBLANK($E$2),ISBLANK(#REF!),ISBLANK(#REF!)),"",DGET(Sheet1!$A$1:$G$1000,F$1,$B$1:$E$2)) 正: =IF(OR(ISBLANK($A$2),ISBLANK($B$2),ISBLANK($C$2)),"",DGET(Sheet1!$A$1:$G$1000,F$1,$B$1:$E$2)) です。
その他の回答 (10)
#4です。 探す日付そのものを入力するだけにしたいなら、 例: A B C D E F G H 1 検索日付 種類1 種類2 日付(始め) 日付(終り) 倉庫名 棚番号 箱番号 2 2005/05/27 周辺 支払 <=38499 >=38499 OKビル B-2 08 ↑ ↑ ↑ 入力 入力 入力 というフォーマットにして、 D2に、 ="<="&$A$1 E2に、 =">="&$A$1 F2、G2、H2に、 =IF(OR(ISBLANK($D$2),ISBLANK($E$2),ISBLANK(#REF!),ISBLANK(#REF!)),"",DGET(Sheet1!$A$1:$G$1000,F$1,$B$1:$E$2)) とすれば、 ユーザーはA2、B2、C2に入力するだけで済みます。 なお、D列、E列が見えていて、見栄えが悪いと感じるなら、 D列、E列の列幅を0にしてしまえば良いでしょう。
お礼
何度もご丁寧にありがとうございました。
ゴメンナサイ。検索結果の表記が間違っていました。 正しくは(言葉足らずも追加) 例: A B C D E F G 1 日付(始め) 日付(終り) 種類1 種類2 倉庫名 棚番号 箱番号 2 <=2005/05/27 >=2005/5/27 周辺 支払 OKビル B-2 08 ↑ ↑ ↑ ↑ 入力 入力 入力 入力 のように指定すればOKです。 要するに、 「日付(始め)」(箱の開始日)は、探したい日付(2005/5/27)「以前」で、 「日付(終り)」(箱の終了日)は、探したい日付(2005/5/27)「以降」を探せば良いわけです。 2005/05/27 ↓ +---------------+ ←箱に入っている書類の期間 2005/05/24 2005/05/31 2005/05/27より前の日付 2005/05/27より後の日付
お礼
ありがとうございました。何度もご丁寧な回答を感謝いたします。
Sheet1 A B C D E F G 1 日付始 日付終 種類1 種類2 倉庫名 棚場所 箱番号 2 2005/05/11 2005/05/23 本体 支払 OKビル A-3 12 3 2005/05/24 2005/05/31 周辺 支払 OKビル B-2 8 4 2005/05/02 2005/05/31 本体 取消 WVビル W-10 7 5 Sheet2 A B C D E F 1 日付 種類1 種類2 倉庫名 棚場所 箱番号 2 2005/05/27 周辺 支払 OKビル B-2 8 D2: {=OFFSET(Sheet1!$A$1,SMALL(IF((Sheet1!$A$2:$A$500<=$A$2)*(Sheet1!$B$2:$B$500>=$A$2)*(Sheet1!$C$2:$C$500=$B$2)*(Sheet1!$D$2:$D$500=$C$2),ROW(A$2:A$500),""),ROW(A1))-1,COLUMN(D1))} (配列数式)
お礼
ありがとうございました。参考にさせていただきました。
#4です。 > 例えば、「2005/05/27」の「周辺」の「支払」はどこ? 例: A B C D E F G 1 日付(始め) 日付(終り) 種類1 種類2 倉庫名 棚番号 箱番号 2 <=2005/05/27 >=2005/5/27 本体 取消 OKビル B-2 08 ↑ ↑ ↑ ↑ 入力 入力 入力 入力 のように指定すればOKです。 要するに、 「日付(始め)」は、2005/5/27「以前」で、 「日付(終り)」は、2005/5/27「以降」を探せば良いわけです。 2005/05/27 ↓ +---------------+ 2005/05/24 2005/05/31 2005/05/27より前の日付 2005/05/27より後の日付
お礼
ご丁寧にありがとうございました。
- imogasi
- ベストアンサー率27% (4737/17069)
私もある物品の所在場所を整理したシステムを仕事でやりました。 その際はACCESS(VBA)を使いました(指定された)。 ーー 情報の整理には (1)計数を整理して加工(加算や平均や)して済むもの (2)物品などが背後にあって、所在や在庫などを管理する必要のあるもの (他画像や対話・教育などさまざまなものはありますが置いておいて) エクセルは(特に関数は)(1)は得意だが、(2)は不得意です 。中間作業列を使ったり、シートが式だらけ(全セル式設定)になったりします。1式で抜き出すものも、式が技巧的で式の理解も難しく、普通のエクセル使いには理解や修正も難しい。 (どんなものがあるかはGoogleでimogasi方式でWEB照会するとOKWAVEの質問が多数出てその2,3を詳しく読むと、私以外の方が1つの式で条件に合った行を抜き出しする回答を挙げておられます。この質問も2条件抜き出しの課題で、毎日ぐらい質問があり、回答者には飽き飽きするほど多い) 検索やフィルタオプションしかそれにふさわしいものはほとんど無い。 ーー 結論として、質問者が関数しかやれないか、周りの使う人のレベルが高くないのでそうしたいのかも知れないが、苦しい。 少なくともエクセルVBAは中級以上できないと。 エクセル関数だけで社内の仕事システムを作ろうというのは、無謀です。入力システムの助力が関数だけでは貧弱ということもあります。 ーーー アクセスかその併用をお勧めします。 ーーー 一番苦労するのが、書類の種類の分類でしょう。 エクセル云々の前に、頭で多数のケースを想定して、仕様的なものを 文章で整理してみることです。(特に検索時のことを良く考えて) 私の場合は備考欄があり、そこの文章メモの語句の検索が役立ちました。(それなしでは書類の種類だけでは用を成さなかった。) 分類が大きすぎたともいえます。 書類の分類の簡素複雑・適切な区分けはシステムの死命を制します。 それはパッケージ(箱のサイズなど)と表裏一体です。 7割はそちらの方へ精力を費やすべきです。 関数の質問に矮小化してはなりません。 入力データさえしっかりしていればアクセスなどにデータのエクスポートは簡単ですが。 (焼却を待つのみなのか)どれぐらい頻繁に収納書類を利用するかの頻度にも拠るが、「支払」なんて大雑把なものでは利用者にそっぽを向かれてしまうでしょう。 (倉庫に行って探さないと判らないとなる)
お礼
ありがとうございました。 私もおっしゃる通りだと思います。やはり普通に考えるとアクセスですよね。 ただし、このお手伝いさせていただいている部署ではアクセスがインストールされていなくて…(^_^;)
#4です。 下のような検索も可能です。 例: A B C D E F G 1 日付(始め) 日付(終り) 種類1 種類2 倉庫名 棚番号 箱番号 2 >=2005/05/1 <=2005/06/30 本体 取消 WVビル W-10 07 ↑ ↑ ↑ ↑ 入力 入力 入力 入力 また、「種類1」や「種類2」は、入力規則でリストにして、ドロップダウン・リストから選択するようにも出来ます。
お礼
有り難うございました。 早速、C列とD列は、入力規則でリストから選択できる様に変更しました。(^.^)
DGET関数が良さそうですね。 それには必ず列の表題が必要です。 データがSheet1として、 A B C D E F G 1 日付(始め) 日付(終り) 種類1 種類2 倉庫名 棚番号 箱番号 2 2005/05/11 2005/05/23 本体 支払 OKビル A-3 12 3 2005/05/24 2005/05/31 周辺 支払 OKビル B-2 08 4 2005/05/02 2005/05/31 本体 取消 WVビル W-10 07 という状態で、データが1000行まであるとして 別シートに A B C D E F G 1 日付(始め) 日付(終り) 種類1 種類2 倉庫名 棚番号 箱番号 と記入し、 E2に =IF(OR(ISBLANK($A$2),ISBLANK($B$2),ISBLANK($C$2),ISBLANK($D$2)),"",DGET(Sheet1!$A$1:$G$1000,E$1,$A$1:$D$2)) として右へコピー。 これで, A2とB2に日付、C2とD2に種類を入れれば、E2、F2、G2に倉庫名、棚番号、箱番号が表示されます。 例: A B C D E F G 1 日付(始め) 日付(終り) 種類1 種類2 倉庫名 棚番号 箱番号 2 2005/05/24 2005/05/31 周辺 支払 OKビル B-2 08 ↑ ↑ ↑ ↑ 入力 入力 入力 入力 となります。 見つからないと、E,F,Gはエラーになります。
お礼
ありがとうございます。とても参考になりました。 質問の仕方に少し不足していた部分があったようなので、補足に追加させていただきます。
補足
それぞれの関数について、これから勉強してみます。 質問の仕方が少し言葉が足りなかったかもしれません。 検索する時には、日付を範囲ではなく一日で指定します。 例えば、「2005/05/27」の「周辺」の「支払」はどこ? という検索で、それに該当する3行目の 「OKビル」の「B-2」の「08」が結果として表示される。 という感じです。
- hallo-2007
- ベストアンサー率41% (888/2115)
仮にsheet1がデータで、A日付始め B日付終わり C列種類 D場所 として sheet2が抽出結果として、抽出条件の、A1に日付はじめB1に日付終わり、C1に種類として sheet1のF列に作業列 =IF(AND(A2>SHEET2!A$2,B2<SHEET2!B$2,C2=SHEET2!C$2),ROW(),"") で下フィルして抽出したいデータに、行番号をF列に表示 sheet2には、A2に =INDEX(SHEET1!A:A,SMALL(SHEET1!$F:$F,ROW(A1)),1) 右フィル、下フィルで、希望の抽出のデータを表示 では、いかがでしょうか。
お礼
ありがとうございました。参考にさせていただきました。
- mitarashi
- ベストアンサー率59% (574/965)
この様な形式のデータの場合で、複数キーで検索・絞込となると、関数では難しそうに思います。フィルターオプションの世界ではないでしょうか。参考URLには詳しく記載されています。
お礼
ありがとうございました。便利なサイトがあるのですね。参考にさせていただきました。
- te12889
- ベストアンサー率36% (715/1959)
私でしたら、「関数」というのは横に置いといて、「オートフィルタ」の絞り込みで妥協しちゃいますね。
お礼
te12889さん、早速ありがとうございます。 そうなんです。私もそれは考えたのですが、今回はできれば関数を使ってやりたいと思いまして…
お礼
訂正ありがとうございました。