Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ 不正な入力の防止 | プロのようにデータを整理する
エクセルアドベンチャー

不正な入力の防止

メニューを表示するにはスワイプしてください

Note
注記

この章では、前の章と同じワークブックを引き続き使用。

適切に構築されたExcelファイルにおける最も重要な構造原則:入力と計算の分離。手入力を許可するのは専用の入力セルのみ。他のすべてのセルはロック、空白、または数式による制御。こうした分離により、ワークブックの拡張時にも予測可能な動作が保たれる。

Note
定義

データの入力規則は、特定のセル範囲に適用されるルールで、入力できる値を制御。数式やテーブルにデータが届く前のゲートキーパーとして機能。データ → データの入力規則から適用。

Excel には6 種類の入力規則があります。それぞれが許可される内容の異なる側面を制御します。

ドロップダウンリスト

カテゴリ列での自由入力(「Paid」「PAID」「paid」「Piad」など)は、フィルターやピボットテーブルを密かに壊す不整合を生み出します。ドロップダウンを使うことで、ユーザーは入力ではなく選択のみとなり、この問題を完全に排除できます。

セルを選択 → データ → データの入力規則許可: リスト → カンマまたはセミコロン(システムの区切り文字による)で値を区切って入力(例: Paid,Pending,Cancelled)。OK をクリック。

入力規則

文字数、整数、日付の入力規則は、内部的にはすべて同じ仕組みで動作します。条件を定義し、それに合致しない入力を Excel がブロックします。異なるのはチェックする側面です:

  • 文字数は値そのものではなく、内部的に LEN() で文字数をカウントします。たとえば "1234""hello" はどちらも 4 文字です。電話番号や郵便番号、固定文字数が必要なフィールドに便利です;
  • 整数は値が数値範囲内で小数点以下を持たないことを確認します;
  • 小数は同じ範囲チェックですが、小数値も許可されます。価格や計測値に便利です;
  • 日付は最も微妙です。日付はシリアル番号として保存されるため、「今日より大きい」といった規則は実際には数値比較です。TODAY() は整数を返し、入力された日付がそれより大きければ条件を満たします。
carousel-imgcarousel-imgcarousel-img

入力メッセージとエラーアラート

検証には2つのコミュニケーション層があります。最初は、ユーザーが入力する前に何を入力すべきかを伝えます。2つ目は、無効な内容が入力された場合の動作を制御します。これらはデータの入力規則ダイアログの別々のタブで設定されます。

carousel-imgcarousel-imgcarousel-img

重複データの削除

データ → 重複の削除を使用。比較する列を選択。Excelは各組み合わせの最初の出現のみを残し、他を削除。インポートデータや履歴データに最適。

Note
注意

ダイアログを閉じて保存すると元に戻せません。必ずデータのコピーで作業するか、結果が正しくない場合はすぐにCtrl+Zで元に戻してください。ダイアログでは削除された重複数も表示されます—この数値が妥当か確認してから閉じてください。

タスク

  1. 支払い状況の管理されたドロップダウンリストの作成

データセット内のPayment Status列を見つけ、最新の行を含むすべてのデータ行を選択します。データの入力規則を開き、リストを選択し、オプションとしてPaid、Pendingを入力します。

列内の任意のセルをクリックして、ドロップダウンが表示されることを確認します。異なる値を入力しようとすると、制限されるか警告が表示されるはずです。

  1. ドロップダウンを動的システムに変換

新しいシートでドロップダウンの元となるデータを作成します。セルA1Statusesと入力し、A2A3にPaidとPendingを入力します。Ctrl/Cmd + Tでこの範囲をテーブルに変換します。

メインのデータセットに戻り、Payment Status列を選択して再度データの入力規則を開きます。元のソースを次の式に置き換えます: =INDIRECT("TableName[Statuses]") 実際のテーブル名を使用してください。

テストするには、元のテーブルに新しい値(例:Booked)を追加します。その後、データセットに戻り、ドロップダウンに新しい値が自動的に表示されることを確認します。

  1. 重複レコードの削除

データセットまたはテーブル全体を選択します。データ → 重複の削除に進み、Order IDなどの一意の列を選択します。

Excelは削除された重複の数を表示します。結果を確認してください。

question mark

Order ID(または同等の一意の列)を使って重複を削除した後、何行の重複が削除されましたか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 1.  5

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 1.  5
some-alt