• 締切済み

関数式かVBAか、御教授願います。

関数もVBAも初心者の為、御教授願います。 下記のデータベースから各データをそれぞれシート別に抽出。 シート別に抽出したデータを管理シートとして一枚にまとめたい。 VBAと関数式のどちらがいいでしょうか。 ・データベースから【sheet2】【sheet3】【sheet4】のように展開。 基本フォームはsheetNo.通りで抽出する ・社内サーバーにアップし誰でも確認出来るよう【sheet1】を観閲用とし、メンテナンス不可とする。 ・【sheet1】には展開した【sheet2】【sheet3】【sheet4】を一枚にまとめて表示する。 ・【sheet1】は【sheet2】の総金額の結果に於いて、自動で金額の大きい順から並び変えられる ・【sheet3】は需要家No.別に月別台数を表示させる ・【sheet4】は受注納期から設定納期までの納期期限をカウントダウン。 納期期限を過ぎた場合、遅延期日をカウントアップさせ、且つセルを赤で表示させる。 ・各シート毎の同条件として・・・ (1)同じ需要家No.同士の修理費や修理台数は合算する (2)需要家No.はランダムで入力され入力された時点で各シートに順次アップしていく ・データベースの件数は数千件以上あり、各品種ごとに同様に仕分けする必要性がある。 以上が、やりたいこととなります。 データベースは常にメンテナンスされている状態です。 また、メンテしている方が年配の事務員の方の為、【sheet1~4】は自動入力で操作不可にしようと考えております。 小生はVBAも関数もど素人の為、ネットや参考書などで試みておりますがまともに出来ず困っております。 大変恐縮ですが、関数式、またはマクロの式、掲載して頂けると有難いです。 わかりにくく大変申し訳ありませんが、宜しくお願い致します。

みんなの回答

  • sora1515
  • ベストアンサー率58% (54/92)
回答No.2

>【sheet2】【sheet3】【sheet4】のように展開 とりあえず1テーブルを1sheetに展開という質問でいいか? データベースは何をお使いでしょうか? >【sheet1】を観閲用とし、メンテナンス不可とする。 >【sheet1~4】は自動入力で操作不可にしようと 2箇所書いてますが全部書き込み禁止という認識でいいか?  sheet保護なりファイルを読み取り専用なりではダメな理由を教えて下さい。 >・【sheet1】には展開した【sheet2】【sheet3】【sheet4】を一枚にまとめて表示する。 >・【sheet1】は【sheet2】の総金額の結果に於いて、自動で金額の大きい順から並び変えられる >・【sheet3】は需要家No.別に月別台数を表示させる 1つ目の文は必要ですか?(2つ目3つ目の事でいいか)またsheet4はsheet1にどう展開するのか。ちなみにsheet2/3は画像がつぶれていて何がしたいのかわからない。とりあえず1.金額の大きい順に並び替え2.その行に対しデータを入れ込む方法? としていいか?(入れ込む場合行の増減/重複有無も記載しなければいけない) >・【sheet4】は・・・ sheet1への反映は不要か(必要としても上記質問と同等なので割愛でいいか)。カウントダウンとは何か現在日とその納期までの日数を新しいセル列に表示するだけか。(単純な足し算引き算な気がしますが何が問題なのか?ひょっとして画像がつぶれて見えづらいが書式が違ってて引き算できないという話しなのか?) 遅延期日(-値)はセルの書式設定で-を非表示で赤表示とできるがそれでいいのか。 >(1)同じ需要家No.同士の修理費や・・ >(2)需要家No.はランダムで 先ほど出た既存行へ入れ込むという話しでいいか。 >入力された時点で各シートに順次アップしていく 入力とは何か。sheet2-4は更新され行が変わっていくのか。 DBからのデータ展開タイミングはいつか? >・データベースの件数は数千件以上あり、 ひょっとしてSQL文で一旦結合集計させてエクセルへ展開した方が楽なのではないか。

  • sora1515
  • ベストアンサー率58% (54/92)
回答No.1

やりたい事書くので全部作ってくれに聞こえるんですが、、並び替えの方法を覚えたら応用で下の疑問2つは解決できる気がしますが。。(第一添付画像つぶれてて総金額がわからないという) >【sheet2】の総金額の結果に於いて、自動で金額の大きい順から並び変え >需要家No.別に月別台数を表示させる 以下もそうですよね、カウントダウンの方法覚えたらカウントアップもできるはず。質問は1つにまとめて且つわかりやすい例に例えたりして無駄なやり取りを減らそうとは考えないのでしょうか? >受注納期から設定納期までの納期期限をカウントダウン >遅延期日をカウントアップ 本人覚えようとする気0に見えるのですが・・・ また似たような問題が発生したらここで質問ですねハイ。 そもそも過去の質問検索なんてしてないよね・・・いい加減こういう人減ってくれないかな。

snkykn
質問者

補足

ご気分を悪くさせてしまいすいません。 確かに、カウントダウンが出来ればカウントアップも出来ますね。それから、過去の質問事例は検索しております。調べもせず投稿ってのは失礼極まりないことですので。ただ、検索しても引っかかってこない(検索方法が下手なだけかも知れませんが...)、時間の猶予もない為、投稿しました。

関連するQ&A

  • エクセル関数について

    エクセルでデータベースを作っています。別のシートからデータを抽出して合計を出すというものなのですが、どうも関数がうまくいきません。 別のシートには日付・現場名・費目・時間・金額などが入力されています。(オートフィルタが使われていました)そしてデータベースには現場名と費目から金額の合計を抽出したいのですが、どんな関数を使っていいのか分かりません。 =SUMPRODUCT((条件1)*(条件2)*....(集計する数値)) =SUMPRODUCT((入力!$C$3:$C$9810=Sheet1!$B3)*(入力!$G$3:$G$9810=Sheet1!C$1)*(入力!$K$3:$K$9810)) というものを使っていたのですが、別シートのデータが入力されていない所まで範囲を指定するとエラーになってしまいます。 =sumifだとエラーにならないのですが、私の技術では1つの条件(現場名だけ)しか抽出、合計できません。 入力されていない所を範囲指定してもエラーにならなくて上の事が出来る関数はないでしょうか、よろしくおねがいします。

  • エクセルの関数を教えてください。

    エクセルの関数を教えてください。 sheet01に 《基本ナンバー》《グループナンバー》《入力日》が入力された基本データがあり、 sheet02に sheet01から抽出されたグループの代表データがあります。 sheet03において、 sheet02で選ばれたグループ代表データに、 sheet01のグループ番号内で一番古い入力日を抽出して、 貼り付けたいのです。なんという関数が良いですか? よろしくご教授のほど、お願い申し上げます。

  • EXCEL関数式の入力の方法で悩んでいます。

    建築の法律改正により、手間が増えました。 仕事を簡便にやるためにExcelで簡単な計算表を作って行うとおりますが、関数の入力の仕方やデータベースの設定の仕方が今一分かりません。 詳しく、わかりやすく教えてください。 関数の使い方で教えて頂きたいのは、以下の事項です。 あるセルをクリックした時に逆三角形が現れて該当数値を選んで入力する方法です。 1.選択するデータベースは、同じシートの印刷しない場所に作るのですか?または、別シートに作るのですか? 2.関数は、何を使って、どんな式を入れると良いのでしょうか? とあるセルにデータから10、20、30の内一つを選んで入力したい時を例に教えてください。 宜しくお願いします。

  • VBAのメンテナンスの引継ぎについて

    ココのカテゴリでいいのか分からないのですが、専門家の方のご意見がいただけそうなので、質問させてください。宜しくお願いします。 エクセルでVBAを使用して入力するアプリケーションのようなものを作成し、それを使用して何名かで入力業務をしていたのですが、退職するにあたり、VBAのメンテナンスの引継ぎをどうしようが考えています。 今後メンテナンスを要することは滅多にないと思うのですが何があるか分からないので、その時のために、参照にしているシートを印刷して、どのセルを参照しているか具体的に明記したり、フロー図のようなものは残しておいたほうが良いのでしょうか? 参照にしているシートは7~8枚くらいあり、シート上やVBAの中で関数を沢山使用しており、フォーム上からの入力ボタンも沢山あるので、分かる人が見れば分かるとは思うのですが、複雑なので読み解くのは大変だと思うのです。 メンテナンスを引き継ぐ人は、入力業務には携わっておらず、別の仕事をもっている人がやることになり、今は仕組みなどは全くわかっていません。 とりあえず明日は、VBAの中身の説明を簡単にすることになっていますが、普通はどうなのでしょう、説明だけで引継ぎ終了してしまう場合のあるのでしょうか?

  • 関数をVBAで簡素化する

    よろしくお願いします シート枚数22枚 各シート セルG11からG71まで 各シートの各行にこの関数を入力するのは労を要します。 また、VBAに下のように1ツづつ入力するのも同じです。 Range("G11").Value="=IF(E11+F11=0,0,G10+E11-F11)"          ↓ Range("G71").Value="=IF(E71+F71=0,0,G70+E71-F71)" VBAで簡素化ができないでしょうか

  • 退職の際の、VBAの引継ぎの方法

    ココのカテゴリでいいのか分からないのですが、宜しくお願いします。 エクセルでVBAを使用して入力するアプリケーションのようなものを作成し、それを使用して何名かで入力業務をしていたのですが、退職するにあたり、VBAのメンテナンスの引継ぎをどうしようが考えています。 今後メンテナンスを要することは滅多にないと思うのですが何があるか分からないので、その時のために、参照にしているシートを印刷して、どのセルを参照しているか具体的に明記したり、フロー図のようなものは残しておいたほうが良いのでしょうか? 参照にしているシートは7~8枚くらいあり、シート上やVBAの中で関数を沢山使用しており、フォーム上からの入力ボタンも沢山あるので、分かる人が見れば分かるとは思うのですが、複雑なので読み解くのは大変だと思うのです。 メンテナンスを引き継ぐ人は、入力業務には携わっておらず、別の仕事をもっている人がやることになり、今は仕組みなどは全くわかっていません。 とりあえず明日は、VBAの中身の説明を簡単にすることになっていますが、普通はどうなのでしょう、説明だけで引継ぎ終了してしまう場合のあるのでしょうか?

  • Excel VBA でデータベース操作のできる関数

    データベースを扱えるソフトを作ろうと思ったら、通常 Access を使うことになると思うのですが、Excel で作ろうと思っています。 なぜかというと、Office Personal版を持ってる人にも使って欲しいからです。 Excel の1シートをひとつのテーブルに見立てて、簡単なデータベース操作をしたいのですが、それが簡単に行える関数はありますか? VBA の関数でも知りたいのですが、SQL文などで扱えるようになってるのがあればなおさらいいのです。

  • エクセル 関数とVBA

     初めまして、全くの素人質問で申し訳ありません。  現在エクセルで大量のデーターを大量の関数式で計算をしていますが、いちいち算出するのにかなりの間隔(時間)がかかります。そこで関数式ではなく、VBAなるモノならばサクサクと瞬時に計算で導き出せるのでしょうか。また、現時点では関数式でさえまともに入力できない状態で、VBAなるモノを勉強すれば素人でも使いこなせるでしょうか、回答よろしくお願いします。

  • エクセルのLOOKUP関数で画像を呼び出す

    データーベース上のセル内に画像を貼り付けてあります(1列ですが)。そのデーターベースの画像をLOOKUP関数で検索して抽出したいのですが、不可能でしょうか? また、何か違う方法でもかまいませんのでどうにか別シートに呼び出せませんか?

  • 関数の組合せ式教えて下さい

    関数の組合せ式教えて下さい A2~A9に名前が入力されています。 B2~B9に得点が入力されています。 C2のセルに得点の上から2番目に高い人の名前を抽出する式を教えて欲しい。 関数の組合せで出来ると思います。宜しくお願いします。