アプリ版:「スタンプのみでお礼する」機能のリリースについて

データは外注、外注個別工事別、顧客、月、に分けてあります。最終的に月別の合計を出すのですがその月別のデータは以下の通りに集計します。

         │ 横 顧客別
--------------- │----------
縦 外注工事別 │ 合計
  │

データには番号が振ってあります。

1 外注A 顧客 月 外注工事別 金額
というのがデータの種類です。ここで言う工事別というのは外注Aに対して工事が2種類以上ある場合があるためです。
VBAでしか出来ないと言われたのですが、私はマクロ記録程度しかできませんので、どなたか教えていただけると嬉しいです。

A 回答 (5件)

No.1です。


参考になられたようで、よかったですね。

私の提示した市販ソフト例はあくまでも一例です。
ほかにもいろいろあると思いますので、検索サイトで業界用語でも
入れて探してみてください。

然るに。
業務と言いますのは、自分がOnly Oneの業界でもない限りは、
かならず「他の誰かも既にやっています」。
ということは、答えはすぐそこに転がっているんですね。

業務用パッケージの購入は、筆まめや何やのソフトのように、
一時的な負担は大きく見えますが、Windowsがバージョンが幾つに
上がっても、メーカさえ生き残ればソフトは常に互換性ありで
バージョンアップし続けて行きます。

昔のシステムは全部手組でしたが。
今は、いろいろ購入しての組み合わせが一番です。

例えば夕食を作る時も、冷凍食品や、お惣菜を使ったほうが
スピーディで、味は…無難に。しかし速いです。
ソフトにもそれが言えます。

ま、ただし。
一方ではお悩みになり、「Excelでどないしようか?」ウンウン
考えることは無駄ではありません。

全くソフトを知らないよりは、ご自身で努力なされて勉強されますと。
ソフトの仕組み、苦労が判り、ご自身の業務の複雑さが、改善すべき
非効率さが、難しい=お金がかかるという構図が見えるように
なります。
実際に、我々もお客様を相手していて、ITを全く知らないお客様より
自身で努力されたお客様のほうが、低コストでとてもうまくいく
傾向にあります。
そういうお客様であればある程、お客様自身が、いろいろ試行錯誤
した利用の仕方をされているケースもあり。
我々自身が作った自社ソフトを「こんな使い方もあるのか!?」と、
逆に教えられ、大変勉強になったりしています。

いろいろ苦労はなされると思いますが。
今回の一件も無駄ではないかと。

今後とも頑張ってくださいね。
以上、ありがとうございました。
    • good
    • 0
この回答へのお礼

そうですね。今回、データの処理で苦労したことはいずれは自分の物になっていくと思えば、苦労という言葉ではなく経験という言葉で自分の中に残ってくれそうです。
しかし、そう気づかせてくださったのはyama-taku様のご丁寧な教えのお陰です。本当にありがとうございました。

おっしゃるとおり、今の会社の中でもエクセルですら満足に使えない人が多く、努力をすることすらせず、でもITを使って楽をしたいという考えの人がほとんどです。なので私に頼んだわけですが、アクセスなど触ることすらしようとしません。
なので会社の人たちにyama-taku様のこれらのコメントを是非読んでもらいたいぐらいです(笑)


再度、色々とありがとうございました。
yama-taku様も、益々のご活躍を!!!!
又、何かありましたらよろしくお願いいたします。

お礼日時:2007/07/26 23:13

No.1 です。



さて。
マクロでシート間データ移動?という件ですが。
これはデータベースという意味ではあまりいい考えでは
ないように思います。

Excelで例えますと。
「数式」のコピー&ペーストは構いませんが、「実数」の
コピーペーストは同じ要素のデータを二重で取り扱って
しまい、エラーの元になってしまうからです。

例えばあなたの例ですと。
顧客単位、月別等で集計を行った後で、再度元のベースの
データを修正…特に客など親要素のデータが増えたり減っ
たりしますと、あなたのお考えのExcel マクロはとたんに
大きな修正が必要になると思います。

これは何故かといいますと。
何度も言いますように、Excelでは…ご存じのとおり、所詮
セル参照PULL型の表ソフトであるという点で欠点があり。
セルに式を埋め込むとデータは引張ってこれますが、
データが増えたのに応じて自動で参照範囲を変えたり
何もないセルに自動で式を埋め込む力は持っていないからです。

そこで。
「じゃ、データの無いセルに無理やり元情報のデータ増減に
 応じて、セル操作を自動化させましょうや」というのが
Excelマクロ…なんですけど。
ベタベタでプログラムを書きますと結構面倒ですよね。
あと作ってみるとわかりますが、速度が遅いんですよね。

…この時にですね。
ここまで考えた上でAccessを見ますとですね。
確かに初心者には融通利かなく面倒で、入門はしにくいも
のの、Excelマクロよりははるかに「データ操作だけは簡単」
になっちゃうんです。

たとえば、貴方のおっしゃるデータべース表など。
SQL言語というもので一瞬で取得できるんですが。
たとえば、貴方のおっしゃるデータベース列が
行番号・外注先・年・月・日・工事別・金額とした時にですね。
Access等でデータをPickUpする場合は、
「SELECT 外注先,SUM(金額) FROM 外注管理表
 GROUP BY 外注先 ORDER BY 外注先」
という一言で、外注先ごとの全集計結果が出せますし。
「SELECT 外注先,年,SUM(金額) FROM 外注管理表
 GROUP BY 外注先,年 ORDER BY 外注先」
という一言で、外注先・年ごとの全集計結果が出せます。

客が増えても、データが100万件になっても処理が可能です。
マクロをゴリゴリ書いて変更しなくていいわけです。
ただし、SQL文法は数学の「集合」のような表現の言語で
データを自在に操れますが、ちょっとむずがしいです。

ここがソフトの損益分岐点と言いますか。
ExcelとAccessのはざまなんですね。


さて。
ここからが重要なのでよく考えていただきたいのですが。
あなたが求めている表作成業務が、サクッとできますと
どうお得になりますか?

ご自身がパソコンにご興味があり勉強したい用途でしたら
Excelマクロゴリゴリ書く手間、コストをかけても構いません。
Accessにもどんどんチャレンジいただきたいと思います。

ただ、「表を作る道具を作る」のに時間がかかるわけで。
「表を作る時間 = 作っている人のコスト」と考えられますよね?
ではその表が、自動で速くできるといくら儲かりますか?
表を作る人件費コストは幾らですか?

…と考えたとき。
Excelでマクロゴリゴリ、AccessやFileMakerなど簡易データ
べースを利用もありますが。
適当な市販ソフトを利用も大きなメリットがあると思います。

たとえは、貴方の求めている業務に合うかどうかわかりませんが。
『建築みつも郎9』など商用見積ソフト体験版をお試し
いただいていらっしゃいますでしょうか?
http://www.kobec.co.jp/kenchiku/index.html

今はソフトは手組でゴリゴリ作る時代ではなく。
既存のものを組み合わせるのがキモになります。
6万円は見た目高いですが、人件費対比はわずか数日分です。

多く語りましたが。
私自身、IT屋で利用者に常にソフト変更を勧め。
手組で変更を重ねてお金をいただいておりますが。
はたして本当にこれが正しいのか疑問に思っていまして。

貴方の、正しい判断でいろいろお試しください。
以上。コメントまで。
    • good
    • 0
この回答へのお礼

ありがとうございます。大変参考になりました。確かに、エクセルで色々やっているだけで数日を費やしていまして、教えていただいたソフトを利用する方がはるかに効率的であると思いました。
それにここの所、数人が入社しましたが自称エクセル、アクセスが使える、というだけで作る事に関しては全くの素人です。なので、私が全て作る必要がありますし、データ入力を含めた全ての作業を一人ですることは困難です。一度上司にソフトのことなど含めて相談をしてみようと思います。

アクセスについても詳しい説明のお陰で大分理解ができましたし、簡単な顧客データなどはアクセスの練習のために作ってみようと思います。それから、エクセルのマクロ部分は手入力で対応してデータに対応、という形でソフト導入が決まるまで頑張ってみます。

本当に色々ありがとうございました。ご丁寧かつ親切な回答で本当に助かりました。
又、何かありましたらよろしくお願いいたします。

お礼日時:2007/07/24 23:48

No.1です。



余談ですが。
まず。
Excelで並べ替えは簡単なはずですので面倒ではないように思います。
お持ちのExcelバージョンによりますが「並び替え」機能等を上手く
活用してみてください。

また、他方で。
アクセス導入の話題ですが。
Excel等のソフトはデータベースに比べ優れている部分もあります。
例えば、列を柔軟に増やせたり、A4用紙にきっちりはまる帳票を
作成したり、単発利用で更新頻度がさほどない個人用途のものに
関しては、データベースより利便性が勝ります。

データベースソフトのメリットは、定形繰り返し業務のルール化と
同時多人数利用です。(注:Accessだけに関しては、あまり大人数
でのデータ同時更新には向きません)
銀行ATMのように、固定的な定型画面から、固定的なデータを
たくさん入れると、事前に仕込んである固定的な出力を得られる
という流れを持つ仕組みです。
ただそれが逆に、最初から「入力→蓄積→抽出→帳票やExcel」と
いう流れを最初から完全に作ってしまうので、後で柔軟に列を増や
したりすることは変更が多く手間がとてもかかります。

例えば、皆様が銀行でATMで機能を利用していますが、あれが裏で
20種類の表を自動作成しているデータベースシステムの場合、
新規に「外貨預金」の機能を付けると修正箇所は膨大になります。
が、これがExcelの場合は、列をふやすだけです。

このように、用途により向き不向きがありますので、検討されてから
利用されるといいと思います。

ちなみに、もし、私が御社システムを見直す場合は、まず市販の
同業界のソフトを試してみることから始めると思います。
あまり知られていませんが、求める機能をすでに実装している
ソフトは意外に安価で販売されています。

最初から全部の機能を求めずに、あまり手を入れず「そこそこ使える」
ソフトを探し出すことは低コストでありますし、有効なやり方であると
思います。
    • good
    • 0
この回答へのお礼

丁寧な解説を大変ありがとうございました。アクセスは利用したことがないので利点が良くわかりませんでしたのでとても助かりました。
市販のソフトの件ですが、全く視野に入っておりませんでしたので一度検討してみたいと思います。

内容を再度検討してみたところ、やはりデータのためのシートを増やす必要があり、データが自動で指定のシートに移動する、というマクロを作成すれば仕事がかなり回っていくという事がわかりました。
機能を後からつける可能性が高いため教えていただいたようにアクセス導入よりエクセルで流れを作ってから健闘した方がよさそうです。
残る課題はマクロでシート移動、という点だけとなりますが、これは全く方法が判らないためご教授願えたら幸いです。

新しく質問をつけたほうがいいかと思いましたが、一応マクロ作業工程として
データの
1 外注A 顧客 月 外注工事別 金額
は、見積もりとなりますのでそれを月別のデータ用シートと、顧客用データ用シートにマクロで移動、という作業です。

これは、顧客別で見積もりを再計算するために必要なシートです。
月別シートは毎月の支払い計算に必要なシートです。
この二つのシートがクリアできれば、あとはVLOOKUPで指定の用紙に転記する事が可能です。

お礼日時:2007/07/18 11:21

No.1です。


基本的に、列数が変わらず、行数が動的に伸びるものは
データベースの領域になりまして。
ExcelのようなPULL型の関数埋め込み型ソフトでは、どうしても
都度手を入れる必要が出ちゃいます。

…が、たしか。
Excelでは条件付き合計関数「SumIF」があったような気がします。
SumIF(検索列範囲、条件、合計範囲)あたりの構文だったと
思います。

これでいかがでしょうか?

参考URL:http://kokoro.kir.jp/excel/sumif.html
    • good
    • 0
この回答へのお礼

<No.1です。
<基本的に、列数が変わらず、行数が動的に伸びるものは
<データベースの領域になりまして。


なるほど、そういう考え方をするのですね。アクセス導入の話がありましたが、そちらも検討した方がよさそうです。


<Excelでは条件付き合計関数「SumIF」があったような気がします。
これも試してみたのですが、並べ替えが面倒であきらめてしまいました。しかしもう一度試してみたいと思います。データの並べ替えなどでマクロが必要になるかもしれませんが、マクロはあまり詳しくないので勉強しつつ頑張ってみます。

大変参考になりました。ありがとうございました。

お礼日時:2007/07/17 10:52

ただのPivot分析と思われますので。



例文の、「外注A、顧客、月、外注工事別、金額」の一枚表を
シートに作成し、別表でピボット表を作成すればいいかと
思います。

マクロは不要だと思います。

この回答への補足

早々の回答をありがとうございました。
大切なことを言い忘れてしまいました。
基本のデータが変動します(特に金額)。そのため、基本データの変動があった場合、自動で集計までしたいという希望があります。
ピボットテーブルは試したのですが、自動で集計の変動ができなかったのです。

補足日時:2007/07/16 23:15
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!