column

Excelやスプレッドシートで業務管理はどこまで頑張れるのか?②

Excelやスプレッドシートで業務管理はどこまで頑張れるのか?②

この記事は今何かと話題沸騰中の ChatGPT-4 と会話形式で「Excelやスプレッドシートで業務管理はどこまで頑張れるのか?」について、業務システム開発実績200件以上という弊社代表の島田がこれから数回に分けてお話をしたいと思います。

前回のコラムのおさらい

\前のコラムはこちらです/

前回のコラムでは、一般的な企業における業務管理の範囲と、その業務管理が、Excelやスプレッドシートでどこまで効果的に管理できるかについてお話しました。

VBAを駆使しても、データを絞り込んで一気に取得するというようなことが出来ず、Do Loopを駆使しまくって巨大なすり鉢状プログラムになった記憶があります。

ちょっとマニアックな話になりますが、そのあたり聞いてみますか。本当はSQLが使えたのかも知れません。

今回のコラムはこの続きから始めたいと思います。

ExcelではVBAを使えばSQL文が発行できるのか

島田

島田

ところで、ExcelではVBAを使えばSQL文が発行でき、その結果を配列等に得られますか?

GPT-4

GPT-4

はい、ExcelでVBA(Visual Basic for Applications)を使用することで、SQL文を発行し、その結果を配列やセル範囲に格納することが可能です。これは主にデータベースに対してクエリを実行し、結果をExcel内で利用するために使われます。

VBAでSQL文を実行する基本的な手順
1.データベース接続の設定:
ADO(ActiveX Data Objects)やDAO(Data Access Objects)などのライブラリを使用してデータベースに接続します。

2.SQL文の作成:
必要なSQL文(SELECT, UPDATE, INSERT, DELETE など)をVBA内で記述します。

3.SQL文の実行:
接続を介してSQL文をデータベースに対して実行します。

4.結果の取得:
SELECT文の場合、結果セットをRecordsetオブジェクトに格納し、そのデータをExcelのセルや配列に転送します。

注意点
データベースの種類:使用するデータベース(例:SQL Server, Oracle, Access など)によって、接続文字列や方法が異なることがあります。

セキュリティとエラー処理:データベース操作にはセキュリティ上のリスクが伴うため、適切なエラー処理とセキュリティ対策が必要です。

パフォーマンスの考慮:大量のデータを扱う場合、パフォーマンスの影響を考慮する必要があります。

VBAを使用したデータベースの操作は、基本的なデータ取得や簡単なデータベースの更新には有効ですが、より複雑なデータベース操作や大規模なデータの扱いには適していないこともあります。そのため、用途に応じて適切なツールや方法を選択することが重要です。

あー、これは何か勘違いしてますね。今聞いてるのはExcelで完結したシステムを作ろうとしてますので、外部のデータベースに接続したらダメです。

島田

島田

あー、1のようにDBに接続するのではなくて、データソースがExcelのシートで、それに対してSQLを使って絞り込めますか?という意味です。

GPT-4

GPT-4

Excelのシート内のデータに対して直接SQLを使用してデータを絞り込むことは、Excelの標準機能としては直接サポートされていません。ただし、いくつかの方法で類似の機能を実現することは可能です。

1.Power Queryの使用:
ExcelのPower Query(または「データの取得と変換」機能)を使用することで、SQLのようなクエリ言語を用いてデータを絞り込むことができます。Power Queryでは、Excelシートのデータをソースとして読み込み、フィルタリングや並べ替え、集計などの操作を行うことが可能です。

2.マクロ(VBA)を使用した方法:
VBAを使用して、Excelシートのデータを配列に読み込み、配列操作やループ処理によりSQLのようなデータ処理を模倣することは可能です。これはプログラミングが必要になりますが、より複雑なデータ操作を行うことができます。

3.外部データベースに一時的にデータを転送:
Excelシートのデータを一時的に外部データベース(例えばAccessやSQL Server)にインポートし、そこでSQLクエリを実行して結果をExcelに戻す方法もあります。この方法は少し複雑ですが、SQLを完全に利用することができます。

これらの方法の選択は、扱うデータの量、必要な操作の複雑さ、および使用可能なツールや技術に依存します。もっとも簡単で直接的な方法はPower Queryを使用することですが、複雑なデータ操作が必要な場合はVBAの使用や外部データベースへの一時的なデータ転送を検討する価値があります。

島田

島田

わかりました。

Power Query?全然分かってないですが、まぁ面倒くさそうですね。

自分はこの「2.マクロ(VBA)を使用した方法:」で必死に頑張ってましたが、これはデータ件数が万単位になると遅すぎますし、マッチしたデータが多いとメモリがパンクしますし、そうならないために結果を一時的に保存する中間テーブル(シート)などが必要になり、システムは肥大化して「これは何か間違っているのでは・・・!?」と思った次第です。

GPT-4

GPT-4

ご理解いただきありがとうございます。ExcelやVBA、Power Queryに関するさらに詳細な質問があれば、お気軽にお尋ねください。お手伝いできることがあれば喜んで対応いたします。

まだ何にも解決してないのですが、まぁ気持ちよさそうにしてるのでそのままにして、先の質問に進みましょう。

昨今では、Excelか本格的な業務システムか?の選択ではなく、その中間に「ノーコード開発」という選択肢がありますね。

ノーコード開発の代表格は「Kintone」ですので、それを例にして聞いてみますか。

さいごに

Excelで完結したシステムを作るには限界があり、「複雑なデータ操作が必要な場合はVBAの使用や外部データベースへの一時的なデータ転送を検討する価値」がある事がわかりました。

次回のコラムでは、Excelでの業務管理か本格的な業務システムの中間にある「ノーコード開発」についてお話したいと思います。お楽しみに。

\前のコラムはこちら/

この記事の監修者

島田 徹

株式会社プラムザ 代表取締役

一橋大学 経済学部卒 / システムコンサルタント
1998年 に 28歳 で起業 / 現役のシステムエンジニア / ものづくりの第一線で活躍中
業務システムの開発実績は 200件 以上

authority

株式会社プラムザは、開発実績25年・取引企業数300社のシステム開発会社です。さまざまな業種・業界で使用されるオリジナルのシステム構築を得意としています。

システム開発の依頼をご検討されている方は、ザックリした内容でも問題ありませんので、まずはお気軽にお問い合わせください。

|まずはお気軽にご連絡ください|

無料相談・お問い合わせする

OTHERS

マンガで分かる国内ラボ型開発/OLナナちゃんのシステム開発奮闘記

2023.8.25

マンガで分かる国内ラボ型開発/OLナナちゃんのシステム開発奮闘記

MORE

SOLUTION

プラムザではお客様のご要望に合わせて、一般的な受託開発(ラボ型開発や一括請負開発)のほか専門的な各種ソリューションを提供しています。
お客様のビジネスや課題をヒアリングしたうえで、課題解決に最適な方法をトータルサポートいたします。

国内ラボ型開発

業務システム開発なら国内ラボ型開発のプラムザ

国内ラボ開発を自信を持って提案します!システム担当者さま必見!嬉しいプロマネ+スゴいチームと一緒にはじめてみませんか?

国内ラボ型開発

ZOOM連携開発

ZOOM連携開発

プラムザはZOOM社が認定している提携開発パートナーです。お客様がご利用の既存システムにZOOM機能を連携させる事が可能です。

ZOOM連携開発

PRIME ORDER

ZOOM連携開発

本格的なアジャイル開発の手法を取り入れた開発フロー。プロジェクトに合わせて選べる4種類のサブスクリプション形式の開発サービスです。

PRIME ORDER

一括請負

一括請負

お客様が要望するシステムをゼロから開発します。要件定義からリリースまでを順番通りに進行するオーソドックスな開発サービスです。

一括請負

ノーコード開発

ノーコード開発

OSSを活用したノーコードツールによるシステム開発サービスです。従来の開発手法より1/2~1/3程度のコストカットが可能です。

ノーコード開発

COVER365

COVER365

AWS特化型の運用保守サービスです。24時間365日の有人セキュリティ監視や、サイバー攻撃などのトラブル発生時の即時対応まで可能です。

COVER365

CONTACT

今使ってる業務システムを作り直したい

今使ってる業務システムを作り直したい

他社の見積もりが高くて困っている

他システムと連携したい

といった、ザックリな内容でもOKです。

|まずはお気軽にご連絡ください|

無料相談・お問い合わせする

無料相談・お問い合わせする
プライバシーマーク(Pマーク)

当社は、認定個人情報保護団体の対象事業者となっており
「プライバシーマーク(Pマーク)」の認証を取得しております。

© 2024 plumsa Inc. All rights reserved.