回答受付終了まであと7日

エクセルの関数とマクロの使い分けがイマイチ分かりません。 会社で顧客管理をしているファイルがあります。 顧客数は1000人未満です。

Excel69閲覧xmlns="http://www.w3.org/2000/svg">500

回答(6件)

今回のは関数でいいと思いますよ。 形式としては「名前と更新期限のデータリスト」と「〇月は誰が更新・訪問すべき人なのか分かる表」の2シート構成にして、データリストを編集すれば当月から数か月分の表をそのまま印刷できるようにしておくのがいいと思います。 シート分けするのはデータリストへの編集に表が巻き込まれないようにするためですね。

この回答はいかがでしたか? リアクションしてみよう

例えば 基本は、マクロを使わないで作る マクロでなければ出来ない事を、マクロでやる ただ、単純な代替案で、マクロでなくても実現できるケースもあるので 本当にその必要があるかは、良く検討した方がいい ワークシート数式には、基本、随時演算される、という特徴がある 固定値を入力しない限り、値をそのままにしておく事が出来ない (例えば、日記の日付に、 =TODAY() 何てしちゃ駄目、という事) マクロには、アンドゥ出来なくなるデメリットや 実行する必要があるという特徴や 演算によって得られる固定値を自動入力出来るという特徴がある 現在入力している場所以外に固定値を自動入力したい場合もマクロが必要 個人的にあまり有用とは思えないけど、入力フォームなんかも、マクロが必要 マクロってのは、もともと、複数の手順を一つにまとめるものなので、そういった使い方も出来る 巨大ファイルなんかは ワークシート数式で随時演算していると非常に重くなるので 数式を置かず、必要時にマクロを実行して内容を更新する、といったやり方もあり なんだけど 印刷データでもかまわない、という事は システムといっても。別にマクロを使って作れ、と言っているのではなくて エクセルを使って、そういう事が出来る様な物を作れ、程度な意味だと思う

関数で作成されているのなら、 どこかに、いつのデータがいるかを指定する必要がありますよね。 で、間違って、隣のセルに入力してしまって、式を元に戻せない(T-T) とならない保証はありません。 そこでマクロの出番。 マクロを起動するボタンを作っておいて、指示に従って入力すると、必要なデータが印刷される。 印刷後は元の状態に戻る・・・・。 というような方法かな。 個人的には、誰かが式を消して上書き保存してしまった場合に備えて、式の入っているセルに ファイルが開かれると式を書き込むマクロを導入。 そうすれば、うっかり消してしまった式も、ファイルを開き直せば元通りd(^-^) とか。

私見です。 マクロは自分が楽する為に使用します。 複数人で共有、あるいは後任に引き継ぐ、などであれば マクロ無しで処理します。 自然、マクロブックと操作ブックは別となることが多くなりますが。。。 会社として必要なシステムであれば、外部のプロに発注をかけるべきと思います。 発注先にもよりますが、「顧客管理システム」からエクセルへ出力、 という流れかな、と想像します。 (エクセルマクロを使用したシステムの販売、はあまり聞かないので) 質問のエクセルについては、 顧客データをテーブル化してピボットテーブルで抽出、という形が 使えそうな気がします。 詳細は分からないし、内容次第でもあるので「気がする」に留めますが ^^; 私見ゆえ参考程度に。

AIアイコン

AIからのお助け回答

AIアイコンClaude 3(Anthropic)

Excelの関数とマクロの使い分けについては、以下のようなポイントがあります。 ・関数は比較的単純な処理に適しています。フィルタリングやソート、簡単な計算などです。一方でマクロは複雑な処理に適しており、条件分岐や繰り返し処理などが可能です。 ・関数は再計算が可能ですが、マクロは実行するたびに処理が行われます。つまり、データが変更された際に関数は自動で再計算されますが、マクロは手動で実行する必要があります。 ・マクロはユーザーインターフェースを作成できるため、ボタンを設置してマクロを実行するなど、操作性を高められます。 ・マクロはVBAという独自のプログラミング言語を使用するため、高度な処理が可能です。 あなたの例では、毎月更新期限を迎える顧客リストを作成するという比較的単純な処理なので、関数で十分対応可能だと思われます。ただし、以下のような要件があれば、マクロの方が適していると考えられます。 ・更新期限に応じて、メール送信やデータ加工などの処理を自動化したい ・ボタンを設置して、ユーザーが簡単に処理を実行できるようにしたい ・複雑な条件分岐や繰り返し処理が必要な場合 最終的には、要件に応じて関数かマクロかを判断することが重要です。今回の例のように単純な処理であれば、関数で十分対応可能でしょう。

AIアイコンみんなの知恵袋

過去のベストアンサーを参照してAI(GPT-4o)が回答!

みんなの知恵袋とは?

エクセルの関数は、即時に計算結果を得るのに適しており、顧客数が1000人未満であれば、関数だけで十分な場合もあります。例えば、VLOOKUPやIF関数を使って更新期限をチェックし、訪問リストを作成できます。しかし、毎月のリスト作成が手間であれば、マクロを使うことで自動化が可能です。マクロは一度設定すれば、ボタン一つでリストを生成でき、作業の効率化が図れます。また、複雑な条件分岐やデータの加工が必要な場合にもマクロが有効です。したがって、作業の頻度や複雑さに応じて、関数とマクロを使い分けると良いでしょう。

この回答は生成AIで作成したものであり、最新性や正確性等を保証するものではありません。その他注意事項はこちら