メイン マイクロソフトオフィス 乱雑なスプレッドシートを捨てて、データベースに切り替えます

乱雑なスプレッドシートを捨てて、データベースに切り替えます



私たちは 見た Excelなどのスプレッドシートアプリケーションを使用してデータのリストを保存する際の落とし穴。このアプローチは最初は最善の解決策のように思えるかもしれませんが、そのデータを複数のユーザーと共有したり、コンテンツを検証したり、データをナビゲートしたりする際に問題が発生する可能性があります。どうして?その仕事をするように設計されていないツールを使用しているからです。

乱雑なスプレッドシートを捨てて、データベースに切り替えます

次に、スプ​​レッドシートベースのリストを使用するビジネスの架空の(ただし典型的な)ケースを検討し、このような問題を克服するためにこれをデータベースアプリケーションに変換する方法を見ていきます。

ワークブックが手に負えなくなる方法

私たちのリストは、クライアントのために行われたプロジェクトの簡単な記録として始まりました。会社が成長するにつれて、クライアントの数も増え、名前と連絡先の詳細がワークブックに追加されました。また、さまざまなスタッフがこれらのプロジェクトで行っていることを記録するための何らかの方法が必要だったため、このワークブックにさらに多くのデータが追加されました。

この時点で、スプレッドシートのアプローチは機能しなくなりました。多くの場合、同時に、スプレッドシートを最新の状態に保とうとする人が多すぎました。会社はローターを設置しようとしたので、人々は順番にワークブックを更新しましたが、これは、いくつかのタスクが記録される前に忘れられていたことを意味しました。

結局、人々は自分のタスクを追跡するために独自のワークブックを設定し、週末にデータをメインのワークブックにコピーすることを忘れないようにします。従業員はこれらの本の独自の速記を作成し、一部の従業員は自分の作業方法に合わせて列の形式と順序を変更しました。このデータをメインのワークブックにコピーすると、ひどい混乱が生じました。

これは作り上げられた例かもしれませんが、私は実際にこれらすべての慣行を実際に見てきました。この作業方法によって引き起こされる問題のいくつかを詳しく見てみましょう。

たくさんの問題

架空のスプレッドシートの最初のシートを見ることができます。最初の列には、各エントリが参照するプロジェクトの名前が詳しく示されています。ただし、これらの名前の一部は長いため、スタッフは略語を使用したいと思うかもしれません。その結果、タイプミスが入り込んできました。これにより、どのタスクがどのプロジェクトに属しているかを特定することが困難になります。解決策は難しいものである必要はありません。全員が同意するプロジェクトごとに短い名前を選択するか、各プロジェクトにID番号を付けて、これをプロジェクト名に自動的に変換することができます。

[開始済み]列にも同様の問題があります。一部のセルには日付が含まれていますが、他のセルには1か月しか記録されておらず、1つまたは2つのレコードに「はい」と表示されています。 Excelはデータ検証をサポートしているため、特定のセルに常に特定のタイプのデータが含まれていることを確認できますが、スプレッドシートがアドホックな方法で開発されている場合、それが使用されることはめったにありません。

この時点で、スプレッドシートのアプローチは機能しなくなります。それを最新の状態に保とうとする人が多すぎました。

フィールドのデータ型は最初から修正されるため、データベースアプリケーションではこの問題は発生しません。作業が開始された正確な日付がわからない場合は、月の1日を使用できます。年しかわからない場合は、1月1日を使用できます。プロジェクトがまだ開始されていない場合は、フィールドを空白のままにすることができます。データベース用語ではNULLです。プロジェクトが開始されたことはわかっていても、いつ開始されたかわからない場合は、1900年1月1日など、通常はデータに使用できない日付を使用できます。すぐにプロジェクトを分類し、活動の時系列の概要を取得することが容易になります。

より微妙な課題は、クライアントというラベルの付いた列に示されています。この列のエントリはワークブックの他のエントリにリンクされていませんが、シート1に顧客のリストがあります。これはおそらくそれが参照しているものです。異なる名前で参照されている同じアイテムの複数のリストを保存すると、混乱を招きます。名前を明確にし、このエンティティの明確な名前を決定する必要があります。それらはクライアントですか、それとも顧客ですか。

[ステータス]列は検証が行われていない別の列であるため、人々は再び好きなように書くことを選択しました。すべての許容値の短いリストを作成することをお勧めします。

2番目のシート–シート1 –も同様に問題があります。まず、シート名はわかりやすいものではありません。実際に含まれているのはCustomersという見出しのリストですが、これはExcelのテーブルとしてフォーマットされていません。アドレスは1つのフィールドにあるため、Excelの組み込みツールを使用して検索または並べ替えることができません。たとえば、カーディフを含む住所をフィルタリングできますが、結果にはニューポートのカーディフロードの住所も含まれます。

住所に関しては、郵便番号、郡、市区町村、番地に別々のフィールドを使用するのが最善の方法です(ただし、英国の住所では郡情報はオプションです。「郡なし」を参照してください。英国です)。通りには、住所の他の部分にないものがすべて含まれている必要があります。

連絡先フィールドもありますが、これにも問題があります。単一クライアントのビジネス内に複数の連絡先がある場合、それらの名前はすべてこのフィールドにまとめられ、電話番号と電子メールアドレスは他のフィールドにも同様に配置されます。これらを分離することは困難です。特に、[連絡先]フィールドに3つの名前があり、電話番号が2つしかない場合はなおさらです。

このシートの最後の列の見出しは「最終連絡先」です。従業員は、顧客と連絡を取るたびにこれを更新することになっています。この情報は従業員が覚えておくべき余分なものであり、特に2枚目のシートに隠されているため、信頼性が低いという保証はありません。これは本当にコンピュータが自動的に追跡する必要があるものです。

最後に、各ワーカーのタスクとコメントを詳しく説明したタスクシートに移動します。これらは一貫した名前が付けられておらず、同じ列が同じ順序で含まれていません。個々のユーザーが自分のシートにデータを入力することは理にかなっていますが、一貫性がないため、データの照合と分析が困難です。たとえば、マネージャーが各プロジェクトでどのような作業が行われたかを確認したい場合、すべてのタスクを並べ替えてレポートする前に、個々のシートから1つのリストに手動でコピーする必要があります。

データベースの構築

これらの問題を整理するには、いくつかの作業、場合によっては数日かかります。新しいシステムを構築している間、ユーザーはおそらく古いシステムを引き続き使用する必要があるため、作業する既存のワークブックのコピーを作成することをお勧めします。つまり、データ変換のすべてのステップを文書化する必要があるため、新しいシステムに切り替えるときにすぐに再度文書化できます。

最初に行う必要があるのは、Excelブックのデータをクリーンアップすることです。検索と置換を使用すると役立つ場合があります。データを含まない列または行を削除する必要があります(保持する必要がある列見出し行を除く)。各シートの列AにID列を追加し、最初のセルに1を入力し、データの下部を選択して(Shift + End、Down)、Fill Downコマンド(Ctrl + D)を使用して増分番号を入力します。 )。プロジェクト名のマスターリストを作成し、プロジェクト名が記録されている場合は常に、VLookup()関数を使用してマスターID番号を確認します。番号がない場合は、データに不整合があります。

データがクリーンになったら、それを保持する新しいデータベースを設計します。理論的な例では、Office 365サブスクリプションを通じてすべてのユーザーが利用できるため、Access2013を使用します。新しいAccessデータベースを作成するときは、AccessWebアプリまたはAccessデスクトップデータベースとして作成するかを選択できます。 Webアプリのインターフェイスは簡素化されており、SharePointOnlineを備えたOffice365またはAccessServicesとSQLServer2012を備えたSharePointServer 2013を使用している場合にのみ使用できます。従来のデスクトップデータベースを使用します。ユーザー体験。

選択して新しいデスクトップデータベースを作成し、名前を付けます。Accessは、テーブル1という新しいテーブルを作成し、IDという1つの列を持つデザインビューに移動します。ここで、データベースに必要なテーブルを設計できます。すべてのテーブルにはIDフィールド(自動的に増分される整数)が必要ですが、混乱を避けるために、よりわかりやすい名前を付けることをお勧めします。 Projectsテーブルでは、ProjectID、CustomersテーブルのCustomerIDなどになります。

作成されるすべての列のデータ型を設定できます。各列に名前を付け、フィールドに応じて他のプロパティとフォーマットを設定する必要があります。 IDフィールドと同様に、列名によってフィールドに入力するデータが明確になっていることを確認してください。たとえば、名前だけでなくProjectNameを使用し、DueではなくDueDateを使用します。リボンの[名前とキャプション]ボタンを使用して、省略されたキャプションと明示的な名前を作成できます。列名にはスペースを使用できますが、クエリやレポートを作成するときは角かっこで囲む必要があります。

ユーザーが自分のシートにデータを入力することは理にかなっていますが、一貫性がないため、分析が困難です。

PercentageCompleteなどの列の書式設定をPercentに、日付をShortDateに設定し、テキストフィールドの最大長を適切な値に設定します。そうしないと、すべて255文字の長さになります。一部の単語(日付など)は予約されているため、列名として使用することはできません。代わりに、TaskDateなどのよりわかりやすい単語を使用してください。

別のテーブルで値を検索する列(ProjectsテーブルのCustomer列など)については、検索列を追加する前に、Accessでそれらの他のテーブルを定義します。ステータスに関しては、ドロップダウンリストに表示する値を入力するのが最も簡単なオプションですが、これにより、可能な値のリストを後で追加または編集することが困難になります。誰かの性別を記録するフィールドなど、可能な値が変更される可能性が低い短いリストを扱っている場合を除いて、ProjectStatusなどのエントリ用に別のテーブルを作成することをお勧めします。これにより、プログラミングを変更することなく、将来的にリストにオプションを簡単に追加できます。

機能強化

データベースを設計している間、スプレッドシートベースの古い方法を改善することができます。ユーザーがExcelワークブックに対して抱いた不満の1つは、各タスクにコメント用のセルが1つしかないこと、タスクに複数のコメントを付ける必要があること、またはスーパーバイザーがタスクについてコメントしてからユーザーにコメントする必要があることでした。これに返信してください。すべてを1つのセルに詰め込むと、コメントがいつ、誰によって行われたかを確認するのが困難になりました。 Tasksテーブルにリンクされた、コメント用の別のテーブルを作成することで、より良い結果を得ることができます。このように、各タスクには、日付、ユーザー名、および各タスクのテキスト用の個別のフィールドを使用して、必要な数のコメントを含めることができます。

私たちが行うことができるもう1つの拡張機能は、ProjectStatusなどのエントリを、アルファベット順ではなく特定の順序で表示するように設定することです。たとえば、Completedをリストの一番下に配置したい場合があります。これを行うには、DisplayOrder列を追加し、それを使用してルックアップリストを並べ替えます。 IDフィールドを使用したくはありません。これにより、新しいレコードはリストの最後にしか配置できませんでした。

データをクリーンな状態に保つために、ユーザーが入力する必要のあるフィールドを必須としてマークし、検証を追加して、入力されたデータが正しい形式であることを確認できます。賢明なデフォルト値を設定することで、作業を楽にすることができます。コメントテーブルのCommentDateフィールドのデフォルト値を= Date()に設定すると、新しいコメントが作成されるたびに、今日の日付に自動的に設定されます。テーブルの撤回列(ブール値)とともに検証を使用して、ユーザーが特定の値を持つ新しいレコードを追加するのを防ぐことができます。これにより、以前は有効であったが、現在は使用されていない履歴値を保持できます。これらの機能はすべて、テーブルツール|にあります。リボンまたはテーブルデザインビューのフィールドプロパティの[フィールド]タブ。

データのインポート

テーブルを設定したら、外部データ|を使用できます。インポート&リンク|リボンの[Excel]ボタンをクリックして、ExcelワークブックのデータをAccessデータベースのテーブルに追加します。何か問題が発生した場合に備えて、開始する前に空のAccessデータベースのバックアップを作成し、必要に応じて小さなテーブルに手動でデータを入力することから始めます。これが完了したら、別のバックアップを取ります。これにより、次の手順で問題が発生した場合に、この時点に戻ることができます。

次に、ProjectsやTasksなどの関係があるテーブルで終了する前に、Customersなどの他のテーブルに依存しないメインテーブルをインポートします。 Excelブックの列を再配置して名前を変更し、Accessデータベースのフィールドにできるだけ一致させれば、データのインポートに問題はありません。データを再度変換する必要がある場合に後で繰り返すことができるように、行うすべてのことをメモしておくことを忘れないでください。

データがインポートされると、データセットビューのテーブルは、Excelワークシートと同じように機能するはずですが、データの検証、検索、および並べ替えがはるかに優れています。必要に応じて、このデータに基づいて新しいフォームとレポートの設計を開始できます。たとえば、プロジェクトのマスター/詳細フォームでは、フォームの上部に1つのプロジェクトのデータが表示され、そのタスクのグリッドが表示される場合があります。下部のプロジェクト。

また、現在のユーザーのすべての未処理のタスクを一覧表示する[マイタスク]フォームと、期日を過ぎたすべてのユーザーのすべての未処理のタスクを一覧表示する[期限切れのタスク]レポートを設定することもできます。

郡はありません、お願いします、私たちはイギリス人です

データベースに住所を保存する場合は、実際に必要な情報を理解することが重要です。郡の情報はマーケティングに役立つ可能性があり、一部の海外の住所で必要になる場合がありますが、英国の住所では正式に使用されなくなりました。

あなたのインスタグラムのハイライトを見た人を確認できますか

その理由は、英国の住所はポストタウンの概念に依存しているためです。ポストタウンでは、郵便物がドアに配達される前に送信され、並べ替えられます。すべての町や村が同じ郡のポストタウンによって提供されているわけではありません。たとえば、メルボルン(ケンブリッジシャー)はロイストン(ハートフォードシャー)を介して郵便物を受け取ります。したがって、住所に郡を指定しても、必ずしもだれにも役立つとは限りません。

混乱を避けるために、郵便局は1996年に住所での郡の使用を停止し、代わりに郵便番号情報に依存しました。2016年までに、補足住所情報のエイリアスデータファイルから郡名を削除する予定です。したがって、英国の住所に郡を含めると、それは単に無視されます。

興味深い記事

エディターズチョイス

Googleが使用するIPアドレス
Googleが使用するIPアドレス
Google の IP アドレスは、検索エンジンやその他のサービスをサポートするために世界中の Web サーバーから動作します。 Google が使用する IP 範囲を学びます。
Googleドキュメントにアウトラインを追加する方法
Googleドキュメントにアウトラインを追加する方法
本質的には、Google ドキュメントは MS Word をベースにしたアプリです。主な違いは、前者はクラウドベースであることです。コラボレーションを念頭に置いて構築されたこの機能豊富なアプリは、多くの人の生活に欠かせないものとなっています。
タグアーカイブ:Windows10バージョン1803
タグアーカイブ:Windows10バージョン1803
MeltdownおよびSpectreの脆弱性に対するLinuxMintの保護
MeltdownおよびSpectreの脆弱性に対するLinuxMintの保護
最近では、すべての最新のCPUに影響を与えるMeltdownとSpectreの欠陥について誰もが知っています。 LinuxMintコンピューターをそれらから保護する方法は次のとおりです。
この電話番号は誰のものですか – それらを見つける方法
この電話番号は誰のものですか – それらを見つける方法
携帯電話を何度チェックしても、知らない番号からの不在着信に気付いたことはありますか?自分で番号に電話する前に、その番号の背後にいる人を知っているかどうかを確認する必要があります。でもどうやって
Huluのパスワードを変更またはリセットする方法
Huluのパスワードを変更またはリセットする方法
Huluのパスワードを忘れた場合に簡単に変更する方法は次のとおりです。
RimWorldでより多くの入植者を獲得する方法
RimWorldでより多くの入植者を獲得する方法
入植者はRimWorldの重要な側面の1つです。彼らは食糧を育て、他の当事者と取引し、先端技術を研究し、そして彼らのコミュニティを繁栄させるために資源を備蓄します。彼らはとても影響力があるので、あなたは彼らの数を増やす必要があります、しかしどうやって